@@ -19,49 +19,51 @@ Download your Spotify playlists and songs along with album art and metadata
19
19
20
20
> The fastest, easiest, and most accurate command-line music downloader
21
21
22
+ [ ![ asciicast] ( https://asciinema.org/a/wDNFL5XGhdadUK2EnOkv46YMG.svg )] ( https://asciinema.org/a/wDNFL5XGhdadUK2EnOkv46YMG )
23
+
22
24
## What spotDL does
23
25
24
26
1 . Downloads music from YouTube as an MP3 file
25
27
2 . Applies basic metadata gathered from Spotify such as:
26
- - Track Name
27
- - Track Number
28
- - Album
29
- - Album Cover
30
- - Genre
31
- - and more!
28
+ - Track Name
29
+ - Track Number
30
+ - Album
31
+ - Album Cover
32
+ - Genre
33
+ - and more!
32
34
33
35
### Redesigned
34
36
35
37
spotDL is being redesigned! This means we are currently not accepting new feature requests. You can talk to us on [ our Discord] ( https://discord.gg/xCa23pwJWY ) if there is anything further.
36
38
37
39
## Prerequisites
38
40
39
- - Python 3.6.1 or above (added to PATH)
40
- - FFmpeg 4.2 or above (added to PATH)
41
+ - Python 3.6.1 or above (added to PATH)
42
+ - FFmpeg 4.2 or above (added to PATH)
41
43
42
44
> ** _ YouTube Music must be available in your country for spotDL to work. This is because we use YouTube Music to filter search results. You can check if YouTube Music is available in your country, by visiting [ YouTube Music] ( https://music.youtube.com ) ._ **
43
45
44
46
## Installation
45
47
46
48
### Installing FFmpeg
47
49
48
- - [ Windows Tutorial] ( https://windowsloop.com/install-ffmpeg-windows-10/ )
49
- - OSX - ` brew install ffmpeg `
50
- - Linux - ` sudo apt install ffmpeg `
50
+ - [ Windows Tutorial] ( https://windowsloop.com/install-ffmpeg-windows-10/ )
51
+ - OSX - ` brew install ffmpeg `
52
+ - Linux - ` sudo apt install ffmpeg `
51
53
52
54
### Installing spotDL
53
55
54
- - Recommended Stable Version:
56
+ - Recommended Stable Version:
55
57
56
- ``` bash
57
- pip install spotdl
58
- ```
58
+ ``` bash
59
+ pip install spotdl
60
+ ```
59
61
60
- - Dev Version: ** (NOT STABLE)**
62
+ - Dev Version: ** (NOT STABLE)**
61
63
62
- ``` bash
63
- pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev
64
- ```
64
+ ` ` ` bash
65
+ pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev
66
+ ` ` `
65
67
66
68
If you have trouble installing spotdl take a look at the extended installation guide
67
69
[here](/docs/INSTALLATION.md) or ask for help in our
@@ -79,97 +81,98 @@ There is an Arch User Repository (AUR) package for [spotDL](https://aur.archlinu
79
81
80
82
# # Usage
81
83
82
- - #### To download a song, run
84
+ - # ### To download a song, run
83
85
84
- ``` bash
85
- spotdl [trackUrl]
86
- ```
86
+ ` ` ` bash
87
+ spotdl [trackUrl]
88
+ ` ` `
87
89
88
- example:
90
+ example:
89
91
90
- ``` bash
91
- spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
92
- ```
92
+ ` ` ` bash
93
+ spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
94
+ ` ` `
93
95
94
- - #### To download an album, run
96
+ - # ### To download an album, run
95
97
96
- ``` bash
97
- spotdl [albumUrl]
98
- ```
98
+ ` ` ` bash
99
+ spotdl [albumUrl]
100
+ ` ` `
99
101
100
- example:
102
+ example:
101
103
102
- ``` bash
103
- spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
104
- ```
104
+ ` ` ` bash
105
+ spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
106
+ ` ` `
105
107
106
- - #### To download a playlist, run
108
+ - # ### To download a playlist, run
107
109
108
- ``` bash
109
- spotdl [playlistUrl]
110
- ```
110
+ ` ` ` bash
111
+ spotdl [playlistUrl]
112
+ ` ` `
111
113
112
- example:
114
+ example:
113
115
114
- ``` bash
115
- spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
116
- ```
116
+ ` ` ` bash
117
+ spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
118
+ ` ` `
117
119
118
- - #### To download all songs from an artist run
120
+ - # ### To download all songs from an artist run
119
121
120
- ``` bash
121
- spotdl [artistUrl]
122
- ```
122
+ ` ` ` bash
123
+ spotdl [artistUrl]
124
+ ` ` `
123
125
124
- example:
126
+ example:
125
127
126
- ``` bash
127
- spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
128
- ```
128
+ ` ` ` bash
129
+ spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
130
+ ` ` `
129
131
130
- - #### To search for and download a song, run, ** with quotation marks**
132
+ - # ### To search for and download a song, run, **with quotation marks**
131
133
132
- ``` bash
133
- spotdl ' [songQuery]'
134
- ```
134
+ ` ` ` bash
135
+ spotdl ' [songQuery]'
136
+ ` ` `
135
137
136
- example:
138
+ example:
137
139
138
- ``` bash
139
- spotdl ' The Weeknd - Blinding Lights'
140
- ```
140
+ ` ` ` bash
141
+ spotdl ' The Weeknd - Blinding Lights'
142
+ ` ` `
141
143
142
- > _ Note: This is not accurate and often causes errors._
144
+ > _Note: This is not accurate and often causes errors._
143
145
144
- - #### To resume a failed/incomplete download, run
146
+ - # ### To resume a failed/incomplete download, run
145
147
146
- ``` bash
147
- spotdl [pathToTrackingFile]
148
- ```
148
+ ` ` ` bash
149
+ spotdl [pathToTrackingFile]
150
+ ` ` `
149
151
150
- example:
152
+ example:
151
153
152
- ``` bash
153
- spotdl ' The Weeknd - Blinding Lights.spotdlTrackingFile'
154
- ```
154
+ ` ` ` bash
155
+ spotdl ' The Weeknd - Blinding Lights.spotdlTrackingFile'
156
+ ` ` `
155
157
156
- > _ Note: ` .spotdlTrackingFile ` s are automatically created when a download starts and deleted on completion_
158
+ > _Note: ` .spotdlTrackingFile` s are automatically created when a download starts and deleted on completion_
157
159
158
- - #### You can queue up multiple download tasks by separating the arguments with spaces
160
+ - # ### You can queue up multiple download tasks by separating the arguments with spaces
159
161
160
- ``` bash
161
- spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
162
- ```
162
+ ` ` ` bash
163
+ spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
164
+ ` ` `
163
165
164
- example:
166
+ example:
165
167
166
- ``` bash
167
- spotdl ' The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...
168
- ```
168
+ ` ` ` bash
169
+ spotdl ' The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...
170
+ ` ` `
169
171
170
- > _ Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks._
172
+ > _Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks._
173
+
174
+ - # ### To download youtube video with metadata from spotify run:
171
175
172
- - #### To download youtube video with metadata from spotify run:
173
176
` ` ` bash
174
177
spotdl " YouTubeURL|SpotifyURL"
175
178
` ` `
@@ -180,85 +183,85 @@ There is an Arch User Repository (AUR) package for [spotDL](https://aur.archlinu
180
183
spotdl " https://www.youtube.com/watch?v=EO7XnC1YpVo|https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3"
181
184
` ` `
182
185
183
- > _Note : Urls have to be separated with ` | ` and quoted properly ex. " YouTubeURL|SpotifyUrl"
186
+ > Note : Urls have to be separated with ` | ` and quoted properly ex. " YouTubeURL|SpotifyUrl"
184
187
185
- - # ### To download songs with different output format run
188
+ - # ### To download songs with different output format run
186
189
187
- ` ` ` bash
188
- spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg/wav
189
- ` ` `
190
+ ` ` ` bash
191
+ spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg/wav
192
+ ` ` `
190
193
191
- example:
194
+ example:
192
195
193
- ` ` ` bash
194
- spotdl [songUrl] --output-format opus
195
- ` ` `
196
+ ` ` ` bash
197
+ spotdl [songUrl] --output-format opus
198
+ ` ` `
196
199
197
- - # ### To use ffmpeg binary that is not on PATH run
200
+ - # ### To use ffmpeg binary that is not on PATH run
198
201
199
- ` ` ` bash
200
- spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe
201
- ` ` `
202
+ ` ` ` bash
203
+ spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe
204
+ ` ` `
202
205
203
- example:
206
+ example:
204
207
205
- ` ` ` bash
206
- spotdl [songUrl] --ffmpeg C:\f fmpeg\b in\f fmpeg.exe
207
- ` ` `
208
+ ` ` ` bash
209
+ spotdl [songUrl] --ffmpeg C:\f fmpeg\b in\f fmpeg.exe
210
+ ` ` `
208
211
209
- - # ### To generate .m3u file for each playlist run
212
+ - # ### To generate .m3u file for each playlist run
210
213
211
- ` ` ` bash
212
- spotdl [playlistUrl] --m3u
213
- ` ` `
214
+ ` ` ` bash
215
+ spotdl [playlistUrl] --m3u
216
+ ` ` `
214
217
215
- example:
218
+ example:
216
219
217
- ` ` ` bash
218
- spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --m3u
219
- ` ` `
220
+ ` ` ` bash
221
+ spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --m3u
222
+ ` ` `
220
223
221
- - # ### To use youtube instead of youtube music run
224
+ - # ### To use youtube instead of youtube music run
222
225
223
- ` ` ` bash
224
- spotdl [songUrl] --use-youtube
225
- ` ` `
226
+ ` ` ` bash
227
+ spotdl [songUrl] --use-youtube
228
+ ` ` `
226
229
227
- example:
230
+ example:
228
231
229
- ` ` ` bash
230
- spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --use-youtube
231
- ` ` `
232
+ ` ` ` bash
233
+ spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --use-youtube
234
+ ` ` `
232
235
233
- - # ### To change number of threads used when downloading songs run
236
+ - # ### To change number of threads used when downloading songs run
234
237
235
- ` ` ` bash
236
- spotdl [songUrl] --dt [number]
237
- ` ` `
238
+ ` ` ` bash
239
+ spotdl [songUrl] --dt [number]
240
+ ` ` `
238
241
239
- example:
242
+ example:
240
243
241
- ` ` ` bash
242
- spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --dt 8
243
- ` ` `
244
+ ` ` ` bash
245
+ spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --dt 8
246
+ ` ` `
244
247
245
- - # ### To change number of threads used when searching for songs run
248
+ - # ### To change number of threads used when searching for songs run
246
249
247
- ` ` ` bash
248
- spotdl [songUrl] --st [number]
249
- ` ` `
250
+ ` ` ` bash
251
+ spotdl [songUrl] --st [number]
252
+ ` ` `
250
253
251
- example:
254
+ example:
252
255
253
- ` ` ` bash
254
- spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --st 8
255
- ` ` `
256
+ ` ` ` bash
257
+ spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --st 8
258
+ ` ` `
256
259
257
- - # ### To ignore your ffmpeg version run
260
+ - # ### To ignore your ffmpeg version run
258
261
259
- ` ` ` bash
260
- spotdl [songUrl] --ignore-ffmpeg-version
261
- ` ` `
262
+ ` ` ` bash
263
+ spotdl [songUrl] --ignore-ffmpeg-version
264
+ ` ` `
262
265
263
266
# # `pipx` Isolated Environment Alternative
264
267
0 commit comments