RedditPP Mascot

RedditPP

r/youtubedl • … • u/fadingsignal

403 forbidden for a week now - keep seeing passing cookies is a bad idea. Not sure what to do.

Been a long-time user of yt-dlp, download maybe 2 or 3 videos per-day, nothing major at all.

Last couple of weeks I've been hit with 403 forbidden and it's just been stuck that way. None of the suggested switches work. VPN, no VPN, etc. I was seeing "sign in to confirm you're not a bot" for a while prior to that.

The website/app/etc. all work fine.

I see people giving advice for passing in cookies, but then I see people saying never do that because you will get cookie banned.

I have the same issue from my Windows system and Linux system (same network.)

Sounds like I'm just stuck? Any tips?

This is my shell script I run to DL from a specific playlist. Replaced actual paths and IDs with placeholder text, just to be clear.

/usr/local/bin/python3.14 \~/.local/bin/yt-dlp \\ \--ffmpeg-location \~/ffmpeg-\*-static \\ \-f "bestvideo\[height<=1080\]\[ext=mp4\]+bestaudio\[ext=m4a\]/best\[ext=mp4\]/best" \\ \-o "/pathtovideos/YouTube/%(channel)s - %(title)s.%(ext)s" \\ \--extractor-args "generic:impersonate" \\ \--merge-output-format mkv \\ \--windows-filenames \\ \--embed-thumbnail \\ \--embed-metadata \\ \--download-archive /path/log.log \\ \--js-runtimes node:/usr/local/bin/node \\ "https://www.youtube.com/playlist?list=playlistID"

--------- **UPDATE: SOLVED**

YouTube is apparently incrementally requiring a per-video PO token on googlevideo download requests. The "no-PO-token" fallback clients (android_vr, ios_downgraded, etc.) that yt-dlp historically relied on are being closed off from the sounds of it. If your -v output shows PO Token Providers: none and the failing request URL contains &c=ANDROID_VR, that's the signature.

My -f parameters were forcing codec constraints that pushed yt-dlp back onto the android_vr fallback.

My fix was two-fold, one was to install bgutil provider as a Docker container plus its matching pip plugin ([yt-dlp PO Token Guide on the wiki](https://github.com/yt-dlp/yt-dlp/wiki/Po-Token-Guide) saved me here) then I dropped the constraints on the formats.

So:

-f "bestvideo\[height<=1080\]\[ext=mp4\]+bestaudio\[ext=m4a\]/best\[ext=mp4\]/best"

became

-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]/best"

and I'm downloading fine again. I randomly get 403s intermittently still, but it's not every single request. So still some work to do I guess.

— 0