6.0 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spotizerr | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
🟢 Spotizerr
Téléchargeur de playlists et morceaux Spotify : récupère les métadonnées via l'API Spotify, puis télécharge les fichiers audio depuis YouTube Music via yt-dlp, avec taggage automatique.
| Métadonnée | Valeur |
|---|---|
| Site web | https://github.com/spotizerr/spotizerr |
| GitHub | https://github.com/spotizerr/spotizerr |
| License | MIT |
| Langage | Python (FastAPI) |
| Étoiles | 6 ⭐ |
| Dernière MAJ | 2025 |
| Catégorie | cat-downloads |
Description
Spotizerr fait partie de la famille des « Spotify → YouTube downloader », comme spotDL (le plus connu en CLI) ou app-yubal (focus YT Music). Son créneau : offrir une API REST simple + une UI web minimale pour automatiser la résolution de playlists Spotify en fichiers audio locaux, sans compte YouTube.
Le flow : on colle une URL de playlist/album/track Spotify → Spotizerr récupère la liste des titres via l'API publique Spotify (gratuit, pas d'auth pour la lecture) → pour chaque titre, il construit une recherche YouTube Music ciblée (artiste + titre) → délègue à yt-dlp pour le téléchargement audio → applique les tags ID3 (titre, artiste, album, n° de piste, année, cover) → range proprement.
Différenciation vs spotDL : spotDL est une CLI puissante mais sans UI, et demande souvent un setup Python/venv. Spotizerr mise sur le « tout en un conteneur » et une API REST (parfaite pour scripter, intégrer à app-navidrome via script d'import, ou déclencher depuis app-home-assistant). L'UI est volontairement spartiate.
⚠️ Limitations honnêtes : le matching Spotify → YouTube n'est pas parfait (remaster, live, version acoustique = mismatch possible). La qualité dépend de ce qui est disponible sur YouTube. Pour du vrai CD-quality, il faut passer par des services payants (Qobuz, Tidal via leur API) ou des outils comme app-music-grabber couplé à Lidarr.
⚠️ Avertissement légal : contourner les DRM d'un service de streaming pour télécharger sans abonnement est illégal dans la plupart des juridictions (DMCA, EU Copyright Directive). À utiliser uniquement sur du contenu sous licence libre, ou vos propres uploads, ou avec un abonnement actif (certains outils).
Installation
Docker Compose (recommandé)
# docker-compose.yml
services:
spotizerr:
image: ghcr.io/spotizerr/spotizerr:latest
container_name: spotizerr
restart: unless-stopped
ports:
- "8083:8083"
environment:
- TZ=Europe/Paris
- SPOTIFY_CLIENT_ID=*** # pour métadonnées enrichies
- SPOTIFY_CLIENT_SECRET=***
- AUDIO_FORMAT=mp3
- AUDIO_QUALITY=320
- DOWNLOAD_DIR=/downloads
volumes:
- ./config:/app/config
- /data/music/spotizerr:/downloads
Installation manuelle
git clone https://github.com/spotizerr/spotizerr
cd spotizerr
pip install -r requirements.txt # nécessite ffmpeg système
cp .env.example .env
python -m spotizerr
# API sur :8083, docs sur /docs (Swagger auto)
Configuration
- Spotify API : client ID + secret (gratuit, dashboard developer.spotify.com) pour métadonnées enrichies, facultatif en lecture publique.
- Format audio :
mp3,flac,opus,m4a—mp3320 kbps est le défaut le plus compatible. - Quality preference :
best(yt-dlp default) ou forcer un bitrate. - Playlist sync : une URL playlist peut être monitorée, re-téléchargée si de nouveaux tracks apparaissent.
- Hooks : script post-download, webhook optionnel.
- API REST :
POST /downloadavec JSON{url, format}pour scripter.
Alternatives
Open Source
- spotDL (spotify-downloader) — la référence CLI, plus mature, plus de fonctionnalités (sync playlists, métadonnées complètes), pas d'UI web.
- app-yubal — équivalent côté YouTube Music (sans dépendance Spotify API).
- app-music-grabber — focus Lidarr, plus orienté backfill.
- app-jellyfin + Jellyfin Spotify plugin — streaming sans download.
- SpotTube (Kotlin, desktop) — UX client, pas self-hosted serveur.
Propriétaires (ce que Spotizerr remplace)
- Spotify Premium offline —只能在客户端读,无法在别处读。
- TuneMyMusic / Soundiiz — transfert entre services, pas download local.
- Tidal HiFi — qualité supérieure (FLAC vrai), abonnement cher.
Sécurité
- Bus factor 1, projet très jeune (< 10 ⭐, ~1 an) : risque d'abandon élevé, ne pas miser son installation musicale dessus en prod.
- Spotify API credentials : client secret dans
./config, à chiffrer. Ne pas commit. - Cookies : si vous passez par votre compte Spotify (auth), ils donnent accès à votre compte.
- Légalité : vérifier votre juridiction, en UE la directive Copyright 2019/790 permet le téléchargement pour usage privé dans certains cas limités (recherche).
- Pas d'auth par défaut sur l'API : ne pas exposer
:8083sur Internet, l'API peut déclencher des downloads arbitraires. - yt-dlp dépendance : sensible aux changements YouTube, peut casser du jour au lendemain (rare mais historique).
Ressources
- Repository : https://github.com/spotizerr/spotizerr
- spotDL (alternative mature) : https://github.com/spotdl/spotify-downloader
- yt-dlp : https://github.com/yt-dlp/yt-dlp
- Spotify API dashboard : https://developer.spotify.com/dashboard
Pages Liées
- cat-downloads — catégorie parente
- app-yubal — alternative YouTube Music
- app-music-grabber — alternative Lidarr
- app-lidarr — gestion bibliothèque
- app-navidrome — serveur streaming
- app-traefik — reverse proxy
- app-authentik — SSO
- recettes-docker-compose — templates
- securisation-home-lab — bonnes pratiques