Estimated reading time: 7 minutes

Today I'd like to introduce you to an open source project that should interest many music fans: Spotizerr. It combines the extensive music search of Spotify with the high audio quality of Deezer - and allows music to be downloaded directly.

Before we get started, a A clear note in advance:
I introduce Spotizerr only. I am not the developer and you uses the tool at his/her own risk. The use can be against the Terms and conditions of Spotify and Deezer violated. If you test Spotizerr, it is best to do so only locally, for learning purposes and with a Test account. No liability!

For detailed instructions and an explanation of all configuration options, I recommend the YouTube video linked below. In this video, every single setting is explained in detail so that you receive comprehensive instructions for the exact setup. You can find any code from the video in this article so that you can use it directly without having to type it in.

This blog post and video is part of a series in which we create and set up our own home server. We start with the basics like an Ubuntu VM installation with Docker and then continue with the configuration of your own domain, security precautions and above all lots of cool and useful self-hosted services. Whether media servers like Plex or Jellyfin or document management like Paperless-NGX. Together we'll build the setup you want to see. We even tackle topics such as single sign-on (SSO) together.

What exactly does Spotizerr do?

Spotizerr is a music downloader that works as follows:

  1. You are looking for a song - the search runs via the official Spotify API.
  2. During the download attempt, the tool first checks whether the audio file is in good quality at Deezer is available.
  3. If so, the file will be downloaded from Deezer.
  4. If not, Spotizerr uses Spotify as a fallback source.

This gives you potentially high-quality audio files with very little effort. The whole thing is done directly via a GUI interface - it couldn't be easier. The tool is therefore ideal if you want to quickly save certain tracks with the highest possible quality.

Last updated on 25. August 2025 at 04:30 - Image source: Amazon Affiliate Program. All statements without guarantee.

🚀 Normal functions (UI features)

As soon as you call up Spotizerr, you can get started straight away. The basic functions:

  • 🔍 Search for songs, albums, playlists & artists (via Spotify)
  • 📥 Single track download (simply click on the download symbol)
  • 🧾 Album & Playlist Download (complete)
  • 🎶 Artist-View with top tracks
  • 🔁 Fallback to Spotifyif Deezer is not available (optional)

All downloads end up in the specified folder - in the best possible quality (FLAC or MP3 depending on the source).

⚙️ Advanced functions

If you want to go deeper, Spotizerr offers some professional features:

  • Recognize & skip already downloaded songs (you save time & memory)
  • 🎵 Automatic filename sanitizer (so that your songs can be played everywhere)
  • 🔧 Logging of failed downloads - Ideal for later repetitions
  • 🗃️ Fallback mode via Spotify configurable (fallback_to_spotify: true/false)
  • 🧠 Offline checkwhether a song already exists in the target directory

These features help you to process large libraries efficiently and manage downloads better.

🔧 Requirements

🐳 Install Spotizerr via Docker

The developers of Spotizerr recommend the use via Docker - fast, isolated, system-independent. In addition to spotizerr, we also need Redis as an object cache.

Create a file with the name docker-compose-spotizerr.yml with the following content:

services:
  spotizerr:
    image: cooldockerizer93/spotizerr
    container_name: spotizerr
    restart: unless-stopped
    networks:
      - sascha
    environment:
      TZ: Europe/Berlin
      REDIS_HOST: redis
      REDIS_PORT: 6379
      REDIS_DB: 0
      EXPLICIT_FILTER: false
      PUID: "99"
      PGID: "100"
      UMASK: "0022"
    ports:
      - 7171:7171
    volumes:
      - /mnt/cache/appdata/downloader/spotizerr:/app/data:rw
      - /mnt/cache/downloads/:/app/downloads:rw
      - /mnt/cache/appdata/downloader/spotizerr/logs:/app/logs:rw
    healthcheck:
      test: ["CMD", "python", "-c", "from urllib.request import urlopen; urlopen('http://localhost:7171')"]
      interval: 1m
      timeout: 10s
      retries: 3
    depends_on:
      - redis

  redis:
    image: redis
    container_name: redis
    restart: unless-stopped
    networks:
      - sascha
    environment:
      TZ: Europe/Berlin
    ports:
      - 6379:6379
    volumes:
      - /mnt/cache/appdata/redis:/data:rw
    command: [
      "redis-server",
      "--save", "60", "1",
      "--loglevel", "warning"
    ]
    healthcheck:
      test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
      interval: 30s
      timeout: 10s
      retries: 3

networks:
  sascha:
    external: true

This Docker Compose starts two containers:

  • spotizerrA tool for Spotify downloads, runs on port 7171 and saves data/downloads/logs locally.
  • redis: A cache/database service that spotizerr uses.

Both containers share an external Docker network called sasha.

You can then simply start the services with the following command:

docker compose -f "docker-compose-spotizerr.yml" up -d

You can now open the web interface via http://deine-IP-Adresse:7171 call.

Configuration in detail

After you start the Docker container, you must configure all services.

Here are the most important configuration steps:

🔐 Step 1: Prepare Spotify authentication

1. create Spotify Developer App

2. connect Spotify with Spotizerr

For Spotizerr to work with your Spotify developer account, you need valid access tokens. To do this, use the tool spotizerr-auth. You can do this on your PC and does not have to be on your server.

📦 This is how it works:

git clone https://github.com/Xoconoch/spotizerr-auth
cd spotizerr-auth
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Execute the script / tool:

python spotizerr-auth.py

Now a local server is running under http://localhost:8888.
Open it in your browser - you will be redirected to the Spotify login page.

The script will guide you through the following steps:

Enter Spotizerr URL:
You will be asked for the base URL of your Spotizerr instance. In your case then http://deine-IP-Adresse:7171.

Configure API access data:
The script checks whether your Spotizerr instance is already connected to a Spotify client_id and client_secret is configured.

  • If these are missing, you will be asked if you want to configure them.
  • Choose y and enter your access data when you are prompted to do so. This is only necessary once.

Enter account details:

  • Enter a name for the account to identify it in Spotizerr.
  • Enter your two-digit Spotify country code (e.g. US, DE, MX).

Authentication via Spotify Connect:

  • The tool starts a Spotify Connect device in your network (e.g. librespot-spotizerr).
  • Open Spotify on any device (smartphone, desktop), start playback of a song and use the function "Connect with a device"to transfer playback to the new device.
  • As soon as you transfer the playback, the script captures the session, creates a file credentials.json and shuts down the Connect server again.

Registration with Spotizerr:
The script automatically sends the recorded access data to your Spotizerr instance and creates or updates the account.

Clean up:
Finally, you will be asked whether you want to save the file credentials.json want to delete. This is recommended for security reasons.

After these steps, your Spotify account is registered in Spotizerr and ready to use. Then you need all the stuff around spotizerr-auth and you can delete all of it.

🔐 Step 2: Prepare Deezer authentication

We will go through the whole thing using Google Chrome as an example. With Firefox, however, it is almost identical. Log in to https://www.deezer.com in the browser. You then have to press F12.

Expand the Cookies section and select "https://www.deezer.com". Find the "arl" cookie and double-click on the text in the "Cookie value" tab.

Copy the value and paste it into the corresponding setting in Spotizerr.

Troubleshooting

If something does not work, check the following:

ProblemSolution
No tracks are foundMake sure that your access_token/refresh_token are valid
403 error with SpotifyThe token has probably expired - simply use spotizerr-auth Regenerate
Deezer download failsCheck the arl-cookie (is often quickly invalidated)
Music is not savedFolder paths in Docker mounts specified correctly? Write permissions available?
No fallback to SpotifyIn the config.json must fallback_to_spotify on true be set

YouTube video implementation

Conclusion

Spotizerr is an extremely useful tool for anyone who wants to work with music locally, set up automated workflows or better understand APIs. Docker makes it easy to use, and thanks to its open structure, you can even extend the tool.

But: You should for private testing purposes only and not with your real Spotify or Deezer account.

The product display was implemented using the affiliate-toolkit WordPress plugin.

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

en_US