DEPRECATED: The documentation has moved to https://spotdl.readthedocs.io/en/latest/home.html
This wiki is now kept for legacy reasons.
Download by Name
For example
- We want to download Fade by Alan Walker, run the command:
$ spotdl --song "alan walker fade"
-
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.
-
The
--songparameter can also accept multiple tracks like so:
$ spotdl --song "alan walker fade" "tobu candyland"
Download by Spotify Link (Recommended for full-metadata support)
For example
-
We want to download the same song (i.e: Fade by Alan Walker) but using Spotify Link this time that looks like
https://open.spotify.com/track/2lfPecqFbH8X4lHSpTxt8l, 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:
$ spotdl --song https://open.spotify.com/track/2lfPecqFbH8X4lHSpTxt8l
It should download Fade by Alan Walker.
- 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 by File
For example
- We want to download
Fade by Alan Walker,Sky High by ElektromaniaandFire by Elektromaniajust using a single command.
Let's suppose, we have the Spotify link for only Fade by Alan Walker and
Fire by Elektromania.
- Just make a
list.txtanywhere on your drive and add all the songs you want to download, in our case it is
https://open.spotify.com/track/2lfPecqFbH8X4lHSpTxt8l
elektromania sky high
https://open.spotify.com/track/0fbspWuEdaaT9vfmbAZr1C
- Now pass
--list=/path/to/list.txtto the script, i.e:
$ spotdl --list=/path/to/list.txt
and it will start downloading songs mentioned in list.txt.
- The script will remove the track from the list file once it gets downloaded with metadata applied, and then continue to the next track. So in case if you accidentally interrupt the download, you can always re-launch the same command back and the script will continue downloading the tracks from where it left off.
NOTE: Songs that are already downloaded will prompt you to overwrite or skip. This behaviour can be changed by
passing --overwrite {prompt,skip,force}.
Download by Playlist Link
- You can copy the Spotify URL of the playlist and pass it in
--playlistoption. Note: This method works for public as well as private playlists.
For example:
$ spotdl --playlist https://open.spotify.com/user/nocopyrightsounds/playlist/7sZbq8QGyMnhKPcLJvCUFD
-
The script will load all the tracks from the playlist into
<playlist_name>.txt -
Run:
spotdl --list=<playlist_name>.txtto download all the tracks (see #download-by-file for more info).
Download by Album Link
- You can copy the Spotify URL of the album and pass it in
--albumoption.
For example
$ spotdl --album https://open.spotify.com/album/499J8bIsEnU7DSrosFDJJg
-
The script will load all the tracks from the album into
<album_name>.txt -
Run:
$ spotdl --list=<album_name>.txt
to download all the tracks (see #download-by-file for more info).
Download by Username
-
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 or text into command-line:
https://open.spotify.com/user/0123456790) -
Try running
$ spotdl -u <your_username>
It will (only) show all your public playlists (which excludes collaborative and private 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:
$ spotdl --list=<playlist_name>.txt
to download all the tracks (see #download-by-file for more info).
Download by Artist Link
- You can copy the Spotify URL of the artist and pass it in
--all-albumsoption.
For example
$ spotdl --all-albums https://open.spotify.com/artist/1feoGrmmD8QmNqtK2Gdwy8
-
The script will load all the tracks from artist's available albums into
<artist_name>.txt -
Run:
$ spotdl --list=<artist_name>.txt
to download all the tracks (see #download-by-file for more info).
Download by YouTube Link
- You can copy the YouTube URL or ID of a video and pass it in
-soption.
For example
- Run:
$ spotdl -s https://www.youtube.com/watch?v=lc4Tt-CU-i0
It should download 2SCOOPS by Donuts.