Life is not complete without music. And Spotify provides customers with millions of songs to decorate their life. But same as Apple Music, Spotify encodes its music to protect all of its tracks, users can't enjoy Spotify music freely, such as playing on car players, burning Spotify to a CD and so on. Based on simple REST principles, the Spotify Web API endpoints return JSON metadata about music artists, albums, and tracks, directly from the Spotify Data Catalogue. Web API also provides access to user related data, like playlists and music that the user saves in the Your Music library. IMusic Spotify Downloader (Mac, Windows) Since online tools are sometimes unstable, let's go back to the desktop app to download Spotify playlist. IMusic is a complete music tool to download, record, and manage songs. SpotDL ⚠ Interested Contributors, please read our contributing Guidelines first. ⚠ We are dropping active development of spotDL v2. No focused efforts will be made to resolve v2 specific issues.
- Downloads songs from YouTube in an MP3 format by using Spotify's HTTP link.
- Chromecast on spotify app. 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 fixes song's meta-tags which include:
- Title
- Artist
- Album
- Album art
- Album artist
- Genre
- Track number
- Disc number
- Release date
- And some more..
- Works straight out of the box and does not require to generate or mess with your API keys.
That's how your Music library will look like!
Reporting Issues
- Search for your problem in the issues section before opening a new ticket. It might be already answered and save us time.
? - Provide as much information possible when opening your ticket.
Installation & Usage
- This version supports Python 3, Python 2 compatibility was dropped because of the way it deals with unicode. If you need to use Python 2 though, check out the
python2
branch. - Note:
play
andlyrics
commands have been deprecated in the current brach since they were not of much use and created unnecessary clutter. You can still get them back by usingold
branch though.
Debian, Ubuntu, Linux & Mac
You'll also need to install FFmpeg for conversion (use
--avconv
if you'd like to use that instead):Linux:
sudo apt-get install ffmpeg
Mac:
brew install ffmpeg --with-libmp3lame --with-libass --with-opus --with-fdk-aac
If it does not install correctly, you may have to build it from source. For more info see https://trac.ffmpeg.org/wiki/CompilationGuide.
Windows
Assuming you have Python 3 already installed and in PATH.
- Download and extract the zip file from master branch.
- Download FFmpeg for Windows from here. Copy
ffmpeg.exe
fromffmpeg-xxx-winxx-staticbinffmpeg.exe
to PATH (usually C:WindowsSystem32) or just place it in the root directory extracted from the above step. - Open
cmd
and typepip install -U -r requirements.txt
to install dependencies.
Instructions for Downloading Songs
- For all available options, run
python spotdl.py --help
.
Download by Name
For example
- We want to download Hello by Adele, simply run
python spotdl.py --song 'adele hello'
. - The script will automatically look for the best matching song and download it in the folder
Music/
placed in the root directory of the code base. - It will now convert the song to an mp3 and try to fix meta-tags and album-art by looking up on Spotify.
Download by Spotify Link (Recommended)
For example
- We want to download the same song (i.e: Hello by Adele) but using Spotify Link this time that looks like
http://open.spotify.com/track/1MDoll6jK4rrk2BcFRP5i7
, you can copy it from your Spotify desktop or mobile app by right clicking or long tap on the song and copy HTTP link. - Run
python spotdl.py --song http://open.spotify.com/track/1MDoll6jK4rrk2BcFRP5i7
, it should download Hello by Adele. - Just like before, it will again convert the song to an mp3 but since we used a Spotify HTTP link, the script is guaranteed to fetch the correct meta-tags and album-art.
Download Spotify Metadata Free
Download multiple songs at once
For example
- We want to download
Hello by Adele
,The Nights by Avicci
and21 Guns by Green Day
just using a single command.
Let's suppose, we have the Spotify link for only
Hello by Adele
and 21 Guns by Green Day
.No problem!
Download Metadata For Movies
- Just make a
list.txt
in the same folder as the script and add all the songs you want to download, in our case it is
(if you are on Windows, just edit
list.txt
- i.e C:Python36spotify-downloader-masterlist.txt
)- Now pass
--list=list.txt
to the script, i.epython spotdl.py --list=list.txt
and it will start downloading songs mentioned inlist.txt
. - Spotify desktop app viewing lyrics. You can stop downloading songs by hitting
ctrl+c
, the script will automatically resume from the song where you stopped it the next time you want to download the songs present inlist.txt
. - Songs that are already downloaded will be skipped and not be downloaded again.
Download playlists
- You can copy the Spotify URL of the playlist and pass it in
--playlist
option.
For example
python spodl.py --playlist https://open.spotify.com/user/camillazi/playlist/71MXqcSOKCxsLNtRvONkhF
- The script will load all the tracks from the playlist into
<playlist_name>.txt
- Then you can simply run
python spotdl.py --list=<playlist_name>.txt
to download all the tracks. Descargar spotify beta apk para iphone.
Download playlists by username
- Spotify blue ios download. You can also load songs using Spotify username if you don't have the playlist URL. (Open profile in Spotify, click on the three little dots below name, 'Share', 'Copy to clipboard', paste last numbers into command-line:
https://open.spotify.com/user/0123456790
) - Try running
python spotdl.py -u <your_username>
, it will show all your public playlists. - Once you select the one you want to download, the script will load all the tracks from the playlist into
<playlist_name>.txt
. - Run
python spotdl.py --list=<playlist_name>.txt
to download all the tracks.
Specify the target directory
If you don't want to download all the songs to the
Music/
folder relative to the spotdl.py
script, you can use the -f
/--file
option. E.g. python spotdl.py -s 'adele hello' -f '/home/user/Music/'
. This works with both relative and absolute paths.Running tests
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.
Download Metadata File
License
Download Spotify Metadata App
The MIT License