Skip to main content

Download songs from YouTube using Spotify song URLs or playlists with albumart and meta-tags.

Project description


PyPi Build Status Coverage Status Docker Build Status Code style: black Gitter Chat

  • 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 on lyrics wikia), 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!


:heavy_exclamation_mark: This tool works only with Python 3.

Python 2 compatibility was dropped because of the way it deals with unicode (2020 is coming soon too). If you still need to use Python 2 - check out the (outdated) python2 branch.

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 spotdl

but be sure to check out the Installation wiki page 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
$ 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
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 wiki page for the list of currently available options with their description.

The wiki page Instructions for Downloading Songs contains detailed information about different available ways to download tracks.


Check out our FAQ wiki page for more info.


Check out for more info.

Running Tests

$ python3 -m pytest test

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.



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
spotdl-1.1.0-py3-none-any.whl (21.6 kB) Copy SHA256 hash SHA256 Wheel py3
spotdl-1.1.0.tar.gz (24.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page