Skip to content

Spotify music downloader with a lossless twist, based on the deezspot library

Notifications You must be signed in to change notification settings

Xoconoch/spotizerr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SUPPORT YOUR ARTISTS

As of 2025, Spotify pays an average of $0.005 per stream to the artist. That means that if you give the equivalent of $5 directly to them (like merch, buying cds, or just donating), you can """ethically""" listen to them a total of 1000 times. Of course, nobody thinks spotify payment is fair, so preferably you should give more, but $5 is the bare minimum. Big names prolly don't need those $5 dollars, but it might be the difference between going out of business or not for that indie rock band you like.

Spotizerr

Music downloader which combines the best of two worlds: Spotify's catalog and Deezer's quality. Search for a track using Spotify search api, click download and, depending on your preferences, it will download directly from Spotify or firstly try to download from Deezer, if it fails, it'll fallback to Spotify.

Desktop interface

image

Mobile interface

image

Features

  • Dual-service integration (Spotify & Deezer)
  • Direct URL downloads for Spotify tracks/albums/playlists/artists
  • Search using spotify's catalog
  • Credential management system
  • Download queue with real-time progress
  • Service fallback system when downloading*
  • Real time downloading**
  • Quality selector***

*It will first try to download each track from Deezer and only if it fails, will grab it from Spotify **Only for spotify. For each track, it matches its length with the time it takes to download it ***Restrictions per account tier apply (see

Prerequisites

Installation

  1. Create project directory:
mkdir spotizerr && cd spotizerr
  1. Copy docker-compose.yml from this repo

  2. Launch container:

docker compose up -d

Access at: http://localhost:7171

Configuration

Initial Setup

  1. Access settings via the gear icon
  2. Switch between service tabs (Spotify/Deezer)
  3. Enter credentials using the form
  4. Configure active accounts in settings

Note: If you want Spotify-only mode, just keep "Download fallback" setting disabled and don't bother adding Deezer credentials. Deezer-only mode is not, and will not be supported since there already is a much better tool for that called "Deemix"

Deezer ARL Setup

Chrome-based browsers

Open the web player

There, press F12 and select "Application"

image

Expand Cookies section and select the "https://www.deezer.com". Find the "arl" cookie and double-click the "Cookie Value" tab's text.

image

Copy that value and paste it into the correspondant setting in Spotizerr

Firefox-based browsers

Open the web player

There, press F12 and select "Storage"

image

Click the cookies host "https://www.deezer.com" and find the "arl" cookie.

image

Copy that value and paste it into the correspondant setting in Spotizerr

Spotify Credentials Setup

First create a Spotify credentials file using the 3rd-party librespot-auth tool, this step has to be done in a PC/Laptop that has the Spotify desktop app installed.


For Linux and Windows (using Docker)

  1. Clone the librespot-auth repository:

    git clone --depth 1 https://github.com/dspearson/librespot-auth.git
  2. Build the repository using the Rust Docker image:

    docker run --rm -v "$(pwd)/librespot-auth":/app -w /app rust:latest cargo build --release
  3. Run the built binary:

    • Linux:
      ./librespot-auth/target/release/librespot-auth --name "mySpotifyAccount1" --class=computer
    • Windows:
      .\librespot-auth\target\release\librespot-auth.exe --name "mySpotifyAccount1" --class=computer

For Apple Silicon (macOS)

  1. Clone the librespot-auth repository:

    git clone --depth 1 https://github.com/dspearson/librespot-auth.git
  2. Install Rust using Homebrew:

    brew install rustup
    brew install rust
  3. Build librespot-auth for Apple Silicon:

    cd librespot-auth
    cargo build --target=aarch64-apple-darwin --release
  4. Run the built binary:

    ./target/aarch64-apple-darwin/release/librespot-auth --name "mySpotifyAccount1" --class=computer

  • Now open the Spotify app
  • Click on the "Connect to a device" icon
  • Under the "Select Another Device" section, click "mySpotifyAccount1"
  • This utility will create a credentials.json file

This file has the following format:

{"username": "string" "auth_type": 1 "auth_data": "string"}

The important ones are the "username" and "auth_data" parameters, these match the "username" and "credentials" sections respectively when adding/editing spotify credentials in Spotizerr.

In the terminal, you can directly print these parameters using jq:

jq -r '.username, .auth_data' credentials.json

Usage

Basic Operations

  1. Search:

    • Enter query in search bar
    • Select result type (Track/Album/Playlist/Artist)
    • Click search button or press Enter
  2. Download:

    • Click download button on any result
      • For artists, you can select a specific subset of albums you want to download
    • Monitor progress in queue sidebar
  3. Direct URLs:

    • Paste Spotify URLs directly into search
    • Supports tracks, albums, playlists and artists (this will download the whole discogrpahy, you've been warned)

Advanced Features

  • Fallback System:

    • Enable in settings
    • Uses Deezer as primary when downloading with Spotify fallback
  • Multiple Accounts:

    • Manage credentials in settings
    • Switch active accounts per service
  • Quality selector

    • For spotify: OGG 96k, 160k and 320k (premium only)
    • For deezer: MP3 128k, MP3 320k (sometimes premium, it varies) and FLAC (premium only)

Troubleshooting

Common Issues:

  • "No accounts available" error: Add credentials in settings
  • Download failures: Check credential validity
  • Queue stalls: Verify service connectivity
  • Audiokey related: Spotify rate limit, let it cooldown about 30 seconds and click retry

Log Locations:

  • Credentials: ./creds/ directory
  • Downloads: ./downloads/ directory
  • Application logs: docker logs spotizerr

Notes

  • This app has no way of authentication, if you plan on exposing it, put a security layer on top of it (such as cloudflare tunnel, authelia or just leave it accessible only through a vpn)
  • Credentials are stored in plaintext - secure your installation
  • Downloaded files retain original metadata
  • Service limitations apply based on account types

Acknowledgements

  • This project is based on the amazing deezspot library, although their creators are in no way related with Spotizerr, they still deserve credit

About

Spotify music downloader with a lossless twist, based on the deezspot library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published