Download your Spotify playlists and songs along with album art and metadata
The fastest, easiest, and most accurate command-line music downloader
What spotDL does
- Downloads music from YouTube as an MP3 file
- Applies basic metadata gathered from Spotify such as:
- Track Name
- Track Number
- Album Cover
- and more!
⚠ We have dropped the active development of spotDL v2 due to support and maintainability. No focused efforts will be made to resolve v2 specific issues.
- Python 3.6.1 or above (added to PATH)
- FFmpeg 4.2 or above (added to PATH)
YouTube Music must be available in your country for spotDL to work. This is because we use YouTube Music to filter search results. You can check if YouTube Music is available in your country, by visiting YouTube Music.
- Windows Tutorial
- OSX -
brew install ffmpeg
- Linux -
sudo snap install ffmpeg
Recommended Stable Version:
pip install spotdl
Dev Version: (NOT STABLE)
pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev
curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/termux/setup_spotdl.sh | sh
To download a song, run
To download an album, run
To download a playlist, run
To download all songs from an artist run
To search for and download a song, run, with quotation marks
spotdl 'The Weeknd - Blinding Lights'
Note: This is not accurate and often causes errors.
To resume a failed/incomplete download, run
spotdl 'The Weeknd - Blinding Lights.spotdlTrackingFile'
.spotdlTrackingFiles are automatically created when a download starts and deleted on completion
You can queue up multiple download tasks by separating the arguments with spaces
spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
spotdl 'The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...
Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks.
To download songs with different output format run
spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg
spotdl [songUrl] --output-format opus
To use ffmpeg binary that is not on PATH run
spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe
spotdl [songUrl] --ffmpeg C:\ffmpeg\bin\ffmpeg.exe
To ignore your ffmpeg version run
spotdl [songUrl] --ignore-ffmpeg-version
pipx Isolated Environment Alternative
For users who are not familiar with
pipx, it can be used to run scripts without
installing the spotDL package and all the dependencies globally with pip. (Effectively
skipping over the spotDL Installation step)
First, you will need to install
pipx by running:
python3 -m pip install --user pipx python3 -m pipx ensurepath
Next, you can jump directly to running spotDL with:
pipx run spotdl ...
Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a guide on how to set up a development environment.
- @ritiek for creating and maintaining spotDL for 4 years
- @rocketinventor for figuring out YouTube Music querying
- @MikhailZex for, never mind...
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size spotdl-3.6.2-py3-none-any.whl (41.0 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size spotdl-3.6.2.tar.gz (37.2 kB)||File type Source||Python version None||Upload date||Hashes View|