Description
Bulk downloads your favorite Spotify playlists
spotDL alternatives and similar packages
Based on the "Downloader" category.
Alternatively, view spotify-downloader alternatives based on common mentions on social networks and blogs.
-
youtube-dl
Command-line program to download videos from YouTube.com and other video sites -
akshare
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 -
s3cmd
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services -
PyIDM
python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM [Moved to: https://github.com/firedm/FireDM] -
Monkey-DL (Anime Downloader)
Bulk download your favourite anime episodes from your favourite anime websites -
commute-tube
Copy online media to your USB pen by night and watch it on your daily commute
Less time debugging, more time building
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of spotDL or a related project?
README
<!--- mdformat-toc start --slug=github --->
spotDL
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
- Album Cover
- Genre
- and more!
Redesigned
spotDL is being redesigned! This means we are currently not accepting new feature requests. You can talk to us on our Discord if there is anything further.
Prerequisites
- 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.
Installation
Installing FFmpeg
- Windows Tutorial
- OSX -
brew install ffmpeg
- Linux -
sudo apt install ffmpeg
Installing spotDL
Recommended Stable Version:
pip install spotdl
Dev Version: (NOT STABLE)
pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev
If you have trouble installing spotdl take a look at the extended installation guide here or ask for help in our discord server
On Termux
curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/termux/setup_spotdl.sh | sh
Arch
There is an Arch User Repository (AUR) package for spotDL.
Usage
To download a song, run
spotdl [trackUrl]
example:
spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
To download an album, run
spotdl [albumUrl]
example:
spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
To download a playlist, run
spotdl [playlistUrl]
example:
spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
To download all songs from an artist run
spotdl [artistUrl]
example:
spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
To search for and download a song, run, with quotation marks
spotdl '[songQuery]'
example:
spotdl 'The Weeknd - Blinding Lights'
Note: This is not accurate and often causes errors.
To resume a failed/incomplete download, run
spotdl [pathToTrackingFile]
example:
spotdl 'The Weeknd - Blinding Lights.spotdlTrackingFile'
Note:
.spotdlTrackingFile
s are automatically created when a download starts and deleted on completionYou can queue up multiple download tasks by separating the arguments with spaces
spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
example:
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 youtube video with metadata from spotify, run
spotdl "YouTubeURL|SpotifyURL"
example:
spotdl "https://www.youtube.com/watch?v=EO7XnC1YpVo|https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3"
Note: Urls have to be separated with
|
and quoted properly ex. "YouTubeURL|SpotifyUrl"To download songs with different output format run
spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg/wav
example:
spotdl [songUrl] --output-format opus
To use ffmpeg binary that is not on PATH run
spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe
example:
spotdl [songUrl] --ffmpeg C:\ffmpeg\bin\ffmpeg.exe
To generate .m3u file for each playlist run
spotdl [playlistUrl] --m3u
example:
spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --m3u
To use youtube instead of youtube music run
spotdl [songUrl] --use-youtube
example:
spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --use-youtube
To manually choose a lyrics provider, run
spotdl [songUrl] --lyrics-provider lyrics_provider
available lyrics providers:
- genius
- musixmatch
example:
spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --lyrics-provider genius
To change number of threads used when downloading songs run
spotdl [songUrl] --dt [number]
example:
spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --dt 8
To change number of threads used when searching for songs run
spotdl [songUrl] --st [number]
example:
spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --st 8
To ignore your ffmpeg version run
spotdl [songUrl] --ignore-ffmpeg-version
To use path template
spotdl [songUrl] --path-template 'template'
example:
spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b --path-template '{artist}/{album}/{title} - {artist}.{ext}'
possible values:
- {artist}
- {artists}
- {title}
- {album}
- {ext}
- {playlist}
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 ...
Contributor Guide
Interested in contributing? Check out our [CONTRIBUTING.md](docs/CONTRIBUTING.md) to find resources around contributing along with a guide on how to set up a development environment.
Contributors
Authors
- @ritiek for creating and maintaining spotDL for 4 years
- @rocketinventor for figuring out YouTube Music querying
- @MikhailZex for, never mind...
License
*Note that all licence references and agreements mentioned in the spotDL README section above
are relevant to that project's source code only.