
spotDL
Command-line tool that finds Spotify playlist songs on YouTube and downloads them as MP3 with metadata.spotDL/spotify-downloader
- Stars
- 26.6k
- Forks
- 2.3k
- Licence
- MIT
- Language
- Python
- Last update
- 11 days ago
- Type
- CLI
What it is
spotDL is a command-line program that takes Spotify song, album, or playlist links, looks for matching tracks on YouTube, and downloads them with album art, lyrics, and metadata attached. It is used by people who want offline copies of music they already have in a Spotify playlist. The README says it uses YouTube as the source to avoid issues with downloading directly from Spotify.
- Download a Spotify playlist into a local music folder with spotdl download
- Save playlist metadata to a .spotdl file without downloading audio using the save operation
- Keep a folder in sync with a playlist so new songs are added and removed songs are deleted
- Get a YouTube URL for each song in a query using the url operation
Great for
- People comfortable running a command in a terminal who want local copies of Spotify playlists
- Users who want to keep a folder of songs synced with a playlist using the sync operation
- Users who want album art, lyrics, and metadata embedded in their files
- Python users who prefer installing tools with pip
Not ideal for
- People who want a point-and-click app with no terminal use; the README focuses on the command line and a limited web mode
- Anyone who needs to respect copyright restrictions in their jurisdiction, since the README places legal responsibility on users
- Users who need guaranteed match accuracy, since the README describes YouTube matching without quantifying errors
How to get it
- 1
Install with a package manager
You'll need: Python (version not specified in the README excerpt) · FFmpeg (spotdl --download-ffmpeg can install it into the spotDL directory) · Deno (recommended; spotdl --download-deno installs it)
Install spotDL with pip
pip install spotdlInstall FFmpeg into the spotDL directory
spotdl --download-ffmpegInstall Deno into the spotDL directory
spotdl --download-deno - 2
Run it
- Install spotDL with pip install spotdl.
- Install FFmpeg with spotdl --download-ffmpeg.
- Optionally install Deno with spotdl --download-deno.
- Run spotdl with a Spotify track, album, or playlist URL, for example spotdl [urls].
- 3
Get the most out of it
- Use the sync operation with a .spotdl save file to keep a folder updated as a playlist changes
- Use the save operation to back up playlist metadata without downloading audio
- Use spotdl -h to list all options
- Read the Audio Formats page in the docs for bitrate and format details
Downloads
Strengths
- Installs with a single pip command according to the README
- Embeds album art, lyrics, and metadata in downloaded files
- Has a sync operation that updates a folder as a playlist changes
Trade-offs
- Depends on YouTube matching, so some songs may be wrong or fail; the README notes some videos need Deno to download
- Requires FFmpeg, and the README recommends Deno, adding setup steps
- Legal responsibility for downloads rests with the user, per the README
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| spotify-downloader (this) | 26.6k | CLI | intermediate | 11 days ago | People comfortable running a command in a terminal who want local copies of Spotify playlists |
| beets | 15.9k | CLI | intermediate | 4 days ago | People with large music collections that have inconsistent or missing tags |
| AudioKit | 11.5k | Library | intermediate | 3 months ago | Swift developers adding synthesizers, effects, or audio analysis to an iOS or macOS app |
| pear-desktop | 34k | App | beginner | 4 days ago | People who want YouTube Music in a standalone desktop window |
| YesPlayMusic | 33.5k | App | beginner | 27 days ago | Existing NetEase Cloud Music users who want a different player interface |
| ultimatevocalremovergui | 26.9k | App | beginner | 30 days ago | Musicians who want karaoke or practice backing tracks from existing songs |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.