Skip to main content

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

Project description

Spotify-Downloader

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 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!

Installation

❗️ 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 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.

Usage

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 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.

FAQ

All FAQs will be mentioned in our FAQ wiki page.

Contributing

Check out CONTRIBUTING.md for more info.

Running Tests

$ pytest

Obviously this requires the pytest module to be installed.

Disclaimer

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.

License

License

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

spotdl-2.0.6.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotdl-2.0.6-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file spotdl-2.0.6.tar.gz.

File metadata

  • Download URL: spotdl-2.0.6.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for spotdl-2.0.6.tar.gz
Algorithm Hash digest
SHA256 159dbbb5564a219ff378d2116b9f7380e61dd13fb2599b111ce74ae723ff0f04
MD5 9779dc595162cb05ce4bb7ad4a84d439
BLAKE2b-256 ed3336a8d2b4be05342989233690a46cc1ba23598c18b1ed63bd582c6d77c054

See more details on using hashes here.

File details

Details for the file spotdl-2.0.6-py3-none-any.whl.

File metadata

  • Download URL: spotdl-2.0.6-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for spotdl-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4a9f86a6a48d2732379f9b9ad6e5a58243f450adc9cc9e7b56b1a1062b714a37
MD5 28bb9df02ebfc920367e7630f36432ad
BLAKE2b-256 efceefcf3429093377c2a78371bee1765d397128f9169c0d72b9a7723c3163aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page