170

I'm trying to download some videos in mp3 format. It's a playlist. How do I download the whole playlist using one command?

  • To get the URL for a mix, right click on a song in the mix in the right column. "Copy link location" will give a url ending with &index=7. This is the kind of link which will cause [youtube:playlist] Downloading playlist .... – Paul Rougieux Apr 21 at 4:24
200

Both parts of this question (downloading in mp3 and downloading a playlist) are supported by youtube-dl:

youtube-dl --extract-audio --audio-format mp3 -o "%(title)s.%(ext)s" <url to playlist>

Some notes from me and the comments:

  • Older versions of youtube-dl struggle with modern playlists. You might need to replace the repo version with the latest.

  • cmo: You can ignore missing ("unavailable in your country", or removed) videos with an -i flag.

  • frans: If your playlist isn't working and the URL contains a v=<ID> element, remove it so there's just the ?list=... item in the querystring.

| improve this answer | |
  • 6
    nope it only downloaded the first video – user267628 Dec 23 '14 at 9:09
  • 4
    @user267628 I've tested this with a playlist URL and it works for me. I had to upgrade youtube-dl (see link at the end) but it sounds like your problem is you're not giving it a playlist URL. – Oli Dec 23 '14 at 9:11
  • 2
    it works perfectly for me – penta Oct 1 '15 at 19:13
  • 25
    Sometimes you copy s.th. like https://www.youtube.com/watch?v=<VIDEO_ID>&list=<LIST_ID>. I had to remove the v=<ID> part from the URL. – frans Dec 30 '15 at 13:23
  • 8
    I recommend you include the -i argument in the command. it will skip any videos in the playlist that have been removed from youtube – cmo Feb 21 '17 at 14:04
47

Note:- Old version of youtube-dl is not able to download play-list. first you know what is your youtube-dl version. To check version of Youtube-dl use command

youtube-dl --version

version 2014.02.17 and older version not able to download play-list. If you use older version then update it by

sudo youtube-dl -U

after successful update use command

youtube-dl -cit https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk

Also you can create URL list in a simple text file and use following command.

 youtube-dl -cit -a file_name_in_which_you_paste_URL_list

For MP3 format Audio can saved. But audio saves as .m4a format on my machine.

youtube-dl -cit --extract-audio --audio-format mp3 https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk

NOTE :- If you install youtube-dl from Ubuntu software center. You can't update it from terminal.
Go Software center and update from it.
I test this commands on Wine because my youtube-dl also old. And I am unable to Update it.
If you can update your youtube-dl you can download play-list by using above commands.
I hope it helps...Youtube-dl on WINE

| improve this answer | |
  • Download Youtube-dl.exe nad try youtube-dl on WINE. If you unable to Update it. – Madhav Nikam Jun 3 '15 at 17:20
  • see also – Madhav Nikam Jun 4 '15 at 11:16
  • 2
    python base installation – Madhav Nikam Jun 10 '15 at 6:03
  • 6
    Don't use the Windows version in Wine, just install it with PIP (the Python package manager). You may need to install PIP (sudo apt install pip3), but then sudo pip3 install youtube-dl to install, and sudo pip3 install youtube-dl --upgrade to get the latest version. I recommend upgrading every time before you use youtube-dl. Oh, and yes, use the Python 3 PIP instead of Python 2. – Stephen Angelico Oct 16 '15 at 4:19
  • 1
    Easier to just get the script (using curl and chmod as suggested here) than use a package manager (pip, apt etc) – Wilf May 20 '16 at 13:33
13

There are a lot of instructions you can find using your favorite search engine. E.g.:

For this Playlist it would be: youtube-dl -t https://www.youtube.com/playlist?list=PLYH8WvNV1YEnNVnJb5ZXxDCE2HDAVVo4M

I hope I could help you!

| improve this answer | |
  • And you should add the parameters by @Oli, too. youtube-dl -t --extract-audio --audio-format mp3 https://www.youtube.com/playlist?list=PLYH8WvNV1YEnNVnJb5ZXxDCE2HDAVVo4M – IndexOutOfBoundsException Dec 23 '14 at 9:05
  • 1
    nope only one song loads – user267628 Dec 23 '14 at 9:42
  • works for me (version 2015.02.28) – tshepang May 10 '15 at 5:06
6

If you installed using pip, run the following to update:

 sudo pip install youtube-dl --upgrade

Enjoy...

| improve this answer | |
  • 1
    Sometimes you need the updated source, just git it and compile it. – Stígandr Nov 6 '16 at 2:05
4

an additon to Oli 's answer. If you have the playlist (in separate lines) with all URLs in it in a text file to download:

youtube-dl --extract-audio --audio-format mp3 --batch-file="/full/path/to/playlist"
| improve this answer | |
3

Are you really sure you want MP3? A lot of devices nowadays can play AAC and some can even play Opus.

If you want to retain highest quality (Opus 160 kbps) and your player supports Opus codec it's better to use:

youtube-dl -f 251 (Playlist URL)

But if your player only supports AAC (as most entry-level TVs in 2018):

youtube-dl -f 140 (Playlist URL)

If you use MP3 you'll get degraded quality as reencoding (from already reencoded audio by YouTube) will be required.

| improve this answer | |
3

All good answers here, but let me save everyone the pain of issues when trying to download playlists.

First, you can't just download things as fast as you want. Youtube will ban your IP for awhile if you do this.

Also some playlist videos are sometimes "private" or broken, or deleted.

To avoid all these problems do this.

youtube-dl --sleep-interval 30  -i -f 251 URL_HERE

Just to add some extra clarity. You do not have to sue the -f tag with a number. You can use a specific file extension that is supported.

youtube-dl --sleep-interval 30  -i -f mp3 URL_HERE

youtube dl will always try to download the best version.

See documentation for more information - https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection

| improve this answer | |
  • Thanks for this suggestion. What does the 251 stand for? Is this a particular format? – Paul Rougieux Apr 20 at 8:53
  • It is the format type you want to use. You don't have to use the cryptic numbers. If you just want the best and do not care about the format then you can use nothing. It will automatically download the best format it can get, but if you specifically want audio you can target a certain type. github.com/ytdl-org/youtube-dl/blob/master/… – Goddard Apr 20 at 18:07
  • Thanks, that link says "youtube-dl uses -f bestvideo+bestaudio/best as the default format selection ", I guess it makes sens to use -f 'worstvideo,bestaudio' to download sound files. – Paul Rougieux Apr 21 at 4:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.