There is a v3 of spotdl now being maintained by other folks on https://github.com/spotDL/spotify-downloader.
However, I personally find its usage not as flexible as v2 as of yet, so I'll be passively fixing bugs in v2 arising only from YouTube or Lyrics websites changing their algorithms and will also accept Issues/PRs for the same. I won't be dealing with any new feature requests nor will I be fixing any other bugs in v2. Issues and PRs for anything else will be rejected too.
I don't really use spotdl as often as I used to and I really need to take some time-off, so there's little personal motivation to maintain it any further from my side. Sorry about that.
Install the latest v2 with: $ pip3 install git+https://github.com/ritiek/spotify-downloader.git
(do not install
from PyPI or any other way even if mentioned in the docs later here, you'll probably end up with v3 that way) and read
below.
-
Downloads songs from YouTube in an MP3 format by using Spotify's HTTP link.
-
Can also download a song by entering its artist and song name (in case if you don't have the Spotify's HTTP link for some song).
-
Automatically applies metadata to the downloaded song which includes:
Title
,Artist
,Album
,Album art
,Lyrics
(if found either on Genius),Album artist
,Genre
,Track number
,Disc number
,Release date
, and more...
-
Works straight out of the box and does not require you to generate or mess with your API keys (already included).
Below is how your music library will look!
❗️ This tool works only with Python 3.6+
spotify-downloader works with all major distributions and even on low-powered devices such as a Raspberry Pi.
spotify-downloader can be installed via pip with:
$ pip3 install git+https://github.com/ritiek/spotify-downloader.git
but be sure to check out the Installation docs for detailed OS-specific instructions to get it and other dependencies it relies on working on your system.
For the most basic usage, downloading tracks is as easy as
$ spotdl --song https://open.spotify.com/track/2DGa7iaidT5s0qnINlwMjJ
$ spotdl --song "ncs - spectre"
For downloading playlist and albums, you need to first load all the tracks into text file and then pass
this text file to --list
argument. Here is how you would do it for a playlist
$ spotdl --playlist https://open.spotify.com/user/nocopyrightsounds/playlist/7sZbq8QGyMnhKPcLJvCUFD
INFO: Writing 62 tracks to ncs-releases.txt
$ spotdl --list ncs-releases.txt
Run spotdl --help
to get a list of all available options in spotify-downloader.
Check out the Available options page for the list of currently available options with their description.
The docs on Downloading Tracks contains detailed information about different available ways to download tracks.
All FAQs will be mentioned in our FAQ docs.
Check out CONTRIBUTING.md for more info.
$ pytest
Obviously this requires the pytest
module to be installed.
Downloading copyright songs may be illegal in your country. This tool is for educational purposes only and was created only to show how Spotify's API can be exploited to download music from YouTube. Please support the artists by buying their music.