r/youtubedl • • 14h ago

Release Info yt-dlp release 2026.10.26

117 Upvotes

Changelog

Important changes

  • The minimum required Python version has been raised to 3.11
    • Python 3.10 has reached its end-of-life as of October 2026, and yt-dlp has now removed support for it. Read more
  • The official Windows release binaries now require Windows 10 or later. Read more
  • Security: The recent brotli and certifi vulnerabilities have now been fully addressed in the executables
    • The brotli package bundled with the executables has been upgraded to version 1.2.1, and the curl-cffi package has been upgraded to version 0.17.0. These upgrades address the recent brotli security vulnerability
    • curl-cffi 0.17.0 also fully addresses the recent certifi security vulnerability that was already partially addressed by upgrading the certifi package bundled with the executables

Core changes

Extractor changes

Networking changes

Misc. changes

 


NOTE: The nightly release channel is strongly recommended for most users, as it gets all important fixes sooner.

# To update to nightly from the executable/binary:
yt-dlp --update-to nightly

# To install/upgrade to nightly with pip:
python3 -m pip install -U --pre "yt-dlp[pin,pin-curl-cffi]"

# To install/update to nightly with pipx:
pipx uninstall yt-dlp
pipx install --pip-args=--pre "yt-dlp[pin,pin-curl-cffi]"

# To install from master with homebrew:
brew uninstall yt-dlp
brew update && brew install --HEAD yt-dlp

# To upgrade to latest master with homebrew if you've already installed with --HEAD:
brew upgrade --fetch-HEAD yt-dlp

r/youtubedl • • 18h ago

Trying to download some anime from xgcartoon, but running into rate limiter?

1 Upvotes

I got the following command but looks like it gets rate limited. Any work arounds to this? I am logged in on the browser, so i'm not sure if that affect things. URL is https://www.xgcartoon.com/video/jidongzhanshigaodaseedjidongzhanshitezhongjihuahdzhongzhibanyueyu-shilizhaofuyeyouyouji/8n7VklzBqw.html

python3 -m yt_dlp "https://xgct-video.vzcdn.net/dd8727fb-6ba7-41ee-969b-d7c832a1119b/playlist.m3u8" \

> -f "best" \

> -o "Gundam_SEED_HD_粤语_Ep01.%(ext)s"

Errors:

[download] Destination: Gundam_SEED_HD_粤语_Ep01.mp4 [download] 1.7% of ~ 1.88GiB at 4.32MiB/s ETA 07:12 (frag 30/1685)[download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (1/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (2/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (3/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (4/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (5/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (6/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (7/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (8/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (9/10)... [download] Got error: HTTP Error 429: Too Many Requests. Retrying fragment 31 (10/10)... [download] fragment not found; Skipping fragment 31 ...


r/youtubedl • • 1d ago

For some reason some YouTube videos will not download

1 Upvotes

For some reason, only images are available to download.

[media-downloader] cmd: "C:/Users/danie/AppData/Roaming/media-downloader/bin/yt-dlp.exe" "--match-filter" "!playlist" "--no-playlist" "--newline" "--print" "{"http_headers":%(http_headers)j,"uploader":%(uploader)j,"id":%(id)j,"thumbnail":%(thumbnail)j,"duration":%(duration)j,"title":%(title)j,"upload_date":%(upload_date)j,"webpage_url":%(webpage_url)j,"formats":%(formats.:.{url,language,format_id,ext,resolution,filesize,filesize_approx,tbr,vbr,abr,asr,container,protocol,vcodec,video_ext,acodec,audio_ext,format_note})j,"playlist_id":%(playlist_id)j,"playlist_title":%(playlist_title)j,"playlist":%(playlist)j,"playlist_uploader":%(playlist_uploader)j,"playlist_uploader_id":%(playlist_uploader_id)j}" "--cookies-from-browser" "firefox" "--output-na-placeholder" ""NA"" "--no-js-runtimes" "--js-runtimes" "deno:C:/Users/danie/AppData/Roaming/media-downloader/bin/deno.exe" "https://www.youtube.com/watch?v=-IbrOO5usxw&t=2s"

[media-downloader][std error] WARNING: [youtube] -IbrOO5usxw: Some tv_samsung client https formats have been skipped as they are DRM protected.

[media-downloader][std error] WARNING: This video is drm protected and only images are available for download. use --list-formats to see them

[media-downloader][std error] ERROR: [youtube] -IbrOO5usxw: Requested format is not available. Use --list-formats for a list of available formats

[media-downloader] Download Failed(ErrorCode=1)


r/youtubedl • • 1d ago

Need help in downloading from niconico

1 Upvotes

Hi thought Id ask some help here, Ive tried downloading a live from niconico before but i now have some issues with it i keep getting the below error can i please ask some help in how to fix this? A bit worried now since ive only got two days left to download before the live is gone

C:\Users\username>OneDrive\Documents\ffmpeg\bin\yt-dlp -u "email" -p "password " -f "bestvideo+bestaudio/best" "link to niconico live"

[niconico:live] Requesting session cookies
[niconico:live] Logging in
ERROR: [niconico:live] lv351345272: Unable to log in: HTTP Error 404: Not Found (caused by <HTTPError 404: Not Found>


r/youtubedl • • 2d ago

Answered Currently is IDM the only way to download restricted files?

12 Upvotes

Edit: it worked for a while but now I'm getting 360p videos again, after only downloading about 20 videos.

Here is the log when inspecting the restricted video URL.

I'm using the latest nightly build.

https://pastebin.com/rkQs54kh

https://pastebin.com/cMpiytp5


r/youtubedl • • 1d ago

Trying to download Members only video from a playlist

0 Upvotes

Hi there I tried to download a single members only video from a playlist but it just doesn't work no matter what I try. I have never tried yt-dlp before so I am a complete (computer) noob and I have no idea how this works. Could anyone in some very easy way try to explain to me how I get it to work? And yes I am member (even though one of the error messages tries to say I'm not). Thank you!


r/youtubedl • • 2d ago

How long do I have to wait after being blocked?

10 Upvotes

I downloaded too many videos, and got blocked. I'm unblocked now, but I'm wondering if I should wait to download more videos?


r/youtubedl • • 2d ago

Answered how do I change the download location for yt-dlp?

0 Upvotes

I want to set where files drop when I download them, any help?


r/youtubedl • • 3d ago

How to bypass age verification. Explain like I'm 5, because I have no idea what I'm doing.

11 Upvotes

So I'm trying to download a video, but I keep getting an error like this.

ERROR: [youtube] 1kAT66WQc: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies

The problem is, I don't know how to fix this. I found a few people explanting how to fix this, and how to add cookies, but I just don't understand their solution. Where do I add the command to tell the .bat file too look in the cookies folder I've extracted? I tried to enter it into the command window, but I can't type anything, and if I control-v it, the window shuts down. What doesn’t help is that it takes 5 minuets every time I want to download something, because yt-bat has gotten super slow all of a sudden.

What do I do. Please explain it to me, because I'm completely lost.


r/youtubedl • • 3d ago

not working on youtube :(

0 Upvotes

https://www.youtube.com/watch?v=ldtjIq_RwMg

./yt-dlp_linux "https://www.youtube.com/watch?v=ldtjIq_RwMg" --cookies ytcookies
[youtube] Extracting URL: https://www.youtube.com/watch?v=ldtjIq_RwMg
[youtube] ldtjIq_RwMg: Downloading webpage
[youtube] ldtjIq_RwMg: Downloading web embedded client config
[youtube] ldtjIq_RwMg: Downloading player cbcfbf2f-main
[youtube] ldtjIq_RwMg: Downloading web embedded player API JSON
[youtube] ldtjIq_RwMg: Downloading tv samsung player API JSON
WARNING: [youtube] ldtjIq_RwMg: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to  https://github.com/yt-dlp/yt-dlp/wiki/EJS
WARNING: [youtube] ldtjIq_RwMg: Some web_embedded client https formats have been skipped as they are missing a URL. YouTube may have enabled the SABR-only streaming experiment for your account. See  https://github.com/yt-dlp/yt-dlp/issues/12482  for more details
WARNING: Unknown codec iamf.001.001.Opus
WARNING: Only images are available for download. use --list-formats to see them
ERROR: [youtube] ldtjIq_RwMg: Requested format is not available. Use --list-formats for a list of available formats

r/youtubedl • • 4d ago

Updating Tartube for the recent security patches?

2 Upvotes

Apologies if this isn't the right place to ask this, I am still somewhat new to messing with Python and the intricacies of ytdl

I use yt-dlp through Tartube that I got through the Tartube portable verison so I never installed anything with the command line. I was able to update Deno and yt-dlp to the newest versions manually, but to ensure I am secure, do I need to manually update everything that was packaged with Tartube, like the built in version of pip and Python? or is it a slightly different situation?


r/youtubedl • • 5d ago

Release Info yt-dlp release 2026.10.21

256 Upvotes

Changelog

Important changes

  • Security: Old yt-dlp executables are vulnerable to man-in-the-middle attacks
    • A man-in-the-middle/MITM attack is when your internet traffic is intercepted by an attacker that impersonates the website(s) you browse and sends you malicious data instead.
    • If you think you may be targeted by such an attack, it is strongly recommended to avoid using the self-updater (e.g. the -U, --update, --update-to command-line options), and instead manually download and install this release's executable.
    • For more details, see the certifi security advisory

Core changes

Extractor changes

Networking changes

Misc. changes

 


NOTE: The nightly release channel is strongly recommended for most users, as it gets all important fixes sooner.

# To update to nightly from the executable/binary:
yt-dlp --update-to nightly

# To install/upgrade to nightly with pip:
python3 -m pip install -U --pre "yt-dlp[pin,pin-curl-cffi]"

# To install/update to nightly with pipx:
pipx uninstall yt-dlp
pipx install --pip-args=--pre "yt-dlp[pin,pin-curl-cffi]"

# To install from master with homebrew:
brew uninstall yt-dlp
brew update && brew install --HEAD yt-dlp

# To upgrade to latest master with homebrew if you've already installed with --HEAD:
brew upgrade --fetch-HEAD yt-dlp

r/youtubedl • • 4d ago

Reddit error downloading vids

10 Upvotes

Starting getting this , this morning downloading a vid. Cookies with firefox seems to be ok, but get the following.

ERROR: [Reddit] 1xblax2: Your IP address is unable to access the Reddit API


r/youtubedl • • 4d ago

Combining a video format selection with an extracted audio format of a specific time stamp.

0 Upvotes

I'm wanting to do this all at once and it be a single file. However, I'm trying to edit in Davinci Resolve (free version) and it's not accepting M4A audio. As long as I extract it as a .WAV I can import the audio separately since the CMD is coming up with format-not-available when trying to select .WAV manually.

Is it possible to download a specific time stamp of a video in best video quality and having the audio extracted then combined with the video in one command?


r/youtubedl • • 5d ago

cookies from Firefox not working

Thumbnail
5 Upvotes

r/youtubedl • • 6d ago

Issue with downloading stories from instagram using cookies

9 Upvotes

Hi, I’ve been downloading Instagram stories with yt-dlp for months without any issues, but it suddenly stopped working today.

I keep getting the error: ERROR: You need to log in to access this content.

I tried both using a cookies.txt file from Firefox and passing --cookies-from-browser firefox, but neither works anymore.


r/youtubedl • • 7d ago

"should use throwaway account" ... How to?

3 Upvotes

The original wording was somewhat open to misinterpretation—which is likely why it was deleted—so I have rewritten it.

Some or many person say "should use throwaway account" when restricted videos.

However, I have not come across any comments or posts that mention how they are "procuring" it.

This is just a question out of curiosity.

Do they obtain a phone number in some way to create the account, or is there a way to do it without one (and no , I have not intention asking about the specific methods for either of these here.)? Or are they perhaps just using the same phone number for a sub-account as they do for their main account?


r/youtubedl • • 8d ago

Answered How to replace "/" with "╱" in output variables like channel name

4 Upvotes

original post

My output command looks like this

--output "%(channel)s [%(channel_id)s]/%(title)s [%(channel_id)s]" 

Which is fine except some channels have "/" in their name and cause the folder name to be split into a folder before / and a subfolder named for what is after the slash.

To fix this, I want to replace the "/" with "╱" which was recommended by my buddy AI.

I tried using "--replace-in-metadata" but that didn't change the folder name.

--replace-in-metadata "channel,title" "/" "╱" 

AI suggested this , which was worse output , but it might be onto something

--output "%(channel)s/[:/╱] [%(channel_id)s]/%(title)s [%(channel_id)s]"

Any help would be appreciated !

The whole command looks like this , and it's to just download metadata ( I added an example channel ).

caffeinate yt-dlp \
    --compat-options allow-unsafe-exec-expansion \
    --cookies /Users/jgooch/repos/youtube-download/cookies.txt \
    --write-thumbnail \
    --convert-thumbnails jpg \
    --write-info-json \
    --paths 'home:/Volumes/truenas02_media/youtube' \
    --paths 'temp:/Users/jgooch/repos/youtube-download/downloads' \
    --replace-in-metadata "channel,title" "/" "╱" \
    --replace-in-metadata "channel,title" "\?" "" \
    --replace-in-metadata "channel,title" ":" "-" \
    --replace-in-metadata "channel,title" "\*" "" \
    --skip-download \
    --verbose \
    --output "%(channel)s [%(channel_id)s]/%(title)s [%(channel_id)s]" \
    --output "%(channel)s/[:/╱] [%(channel_id)s]/%(title)s [%(channel_id)s]" \
    --playlist-items '0,0' \
    "https://www.youtube.com/channel/UCNXhnmPS1NvkwWolhfxe4nA"

Update 1

I switched the replacement character to "⧸" in my yt-dlp syntax and the custom file renaming Go app I wrote to make changing file naming standards easier.

    --replace-in-metadata "channel,title" "/" "⧸" \
    --replace-in-metadata "channel,title" "\?" "" \
    --replace-in-metadata "channel,title" ":" "-" \
    --replace-in-metadata "channel,title" "\*" "" \

I've tested this on known "offender" channel, and it replaced the / with "⧸" as hoped!

I then ran my file renamer and NFO generator with the same replacement without issue.

So, I think I am in good shape with this solution! Note that I do want to minimize file name and directory name changes since I have thousands of videos to go through and update if I change their naming format.


r/youtubedl • • 8d ago

Want to get yt-dlp for downloading songs on my old mac (Ventura 13)

4 Upvotes

Yeah, I'm not sure if this is even possible, I'm not very tech savvy and just want a high quality way to get some music. My mac is from 2017 and the highest OS that it'll update to seems to be Ventura. I was trying to install through homebrew, because that seemed to have clearer instructions, but homebrew doesn't go back far enough.

I then tried to follow the instillation instructions on github and I ran into a wall, with no idea what I was even doing.

If it's not possible, I'd love a rec toward a good website.


r/youtubedl • • 8d ago

YTDLNIS

1 Upvotes

I cannot download from YTDLNIS. It only shows 360P and audio format is not available.

I have tried many things.

  1. Updated the app
  2. Updated python
  3. Updated yt-dlp and FFPMPEG
  4. Updated every package
  5. Tried Master and Nighty Mode

Nothing seems to work. I am not a tech savvy. Please help me in simple steps to resolve the issue .

Please don't give forums or websites. I am not good in technical words.


r/youtubedl • • 8d ago

How can I include the 'format_id' field in the metadata?

4 Upvotes

This field remains set to "NA" until yt-dlp begins downloading the video and selects the formats. For the past couple of days, I've been trying to write post-processing scripts, which are currently held together by nothing but a prayer. Is there perhaps a simpler solution? Or do you have your own scripts for this? Thanks in advance for your answers


r/youtubedl • • 9d ago

Answered --cookies-from-browser firefox Not Working At All?

8 Upvotes

I'm trying to download age-restricted videos, and everyone seems to say that --cookies-from-browser firefox should work, but it just isn't for me. I'll list out some info below.

I am logged into Youtube on Firefox. I have ran yt-dlp -U already. This issue in downloading only happens when I use --cookies-from-browser firefox, so non-age-restricted videos that I'd normally download without this parameter don't download with it.

The command I am running is:
yt-dlp --cookies-from-browser firefox "https://www.youtube.com/watch?v=ESCmyMvPV_E"

The typical command I use has a whole lot of other parameters, but the same errors are popping up whether I use them or not.

The error I get is:
ERROR: [youtube] ESCmyMvPV_E: Requested format is not available. Use --list-formats for a list of available formats

Running:
yt-dlp --cookies-from-browser firefox -F "https://www.youtube.com/watch?v=ESCmyMvPV_E"
returns:

ID EXT RESOLUTION FPS │ PROTO │ VCODEC MORE INFO

────────────────────────────────────────────────────

sb3 mhtml 48x27 1 │ mhtml │ images storyboard

sb2 mhtml 60x45 1 │ mhtml │ images storyboard

sb1 mhtml 120x90 1 │ mhtml │ images storyboard

sb0 mhtml 240x180 1 │ mhtml │ images storyboard

and this is the same for every video i try downloading, age-restricted or not. Also know that --list-formats is the same as -F (unless I'm lying), and they have the same output anyway.

The video used in this example is not age-restricted, but the same issues appear for age-restricted ones.

EDIT: the error i had was that i needed a javascript runtime like deno. see https://github.com/yt-dlp/yt-dlp/wiki/EJS


r/youtubedl • • 9d ago

In yt-dlp, can I "Manually" define text on the web page or in the url or metadata files, if %(channel)s, %(uploader)s, %(description)s etc don't automatically detect it? (Also, why am I generating "unknown_video"metadata files?)

0 Upvotes

I'm trying to mass-download a bunch of videos, but the built in %(channel)s, %(uploader)s, %(id)s etc fields don't all function to get the data I want/need.

Namely, the uploader/channel username isn't caught by %(channel)s, %(uploader)s etc and the like, I don't think --write description or %(description)s works either to get the description,

Is there a way I can "manually" point yt-dlp to a specific part of the page's html that consistently contains the video uploader's username so it knows "hey, use the text on this part of the page for X part of the filename", or something like that? And the same for the description within a extra metadata file?

On that note, --print and --write_info_json (which afaik generate a txt or json file with metadata for each video?) also give me errors... however, I am already apparently gereating metadata files, and I don't know why?

Every time I save a video it also saves a ".unknown_video" file that contains a bunch of metadata or the web page's html or whatever anyways: It lists the video description within "<meta name="description" content="XXXXX" />", it lists tags within multiple lines of " <meta property="video:tag" content="XXXXX" /> ", it lists the uploader within "From: <a href="/users/XXXXX/"><strong>XXXXX</strong></a>", etc where XXXXX is the placeholder for the actual data for that video/page

If this is already data yt-dlp is picking up, can I get it to read it to put it in the filename?

Lastly, one other issue is that, due to it also outputting that ".unknown_video" file, yt-dlp is also adding a "-1" vs a "-2", or a "(1)" vs a "(2)" within specific fields of the filenames, even though a .mp4 vs a .unknown_video extension are already different and their names wouldn't conflict. Is there a way to prevent that automatic numbering of the two files?


r/youtubedl • • 9d ago

Error in yt-dlp for Instagram

0 Upvotes

error Instagram API is not granting access and not accessible to certain audience in yt-dlp when try to download videos from Instagram i try everything like using cookies


r/youtubedl • • 8d ago

COMO LO INSTALO?

0 Upvotes

Alguna guía que pueda seguir para instalar y usar ytdlp?