ytdlp.org

Practical yt-dlp docs: install, commands, fixes, cookies, and workflows.

Current section

Troubleshooting guide

Fix "Sign in to confirm you're not a bot" in yt-dlp

This is YouTube's bot detection deciding your request looks automated. It is not a bug in your command. It shows up most often on datacenter and VPN IPs, after bursts of requests, or when yt-dlp is out of date and using request patterns YouTube has already flagged.

Quick answer

Update yt-dlp, then pass cookies from a browser where you are signed in to YouTube.

yt-dlp -U
yt-dlp --cookies-from-browser chrome "URL"

Swap chrome for firefox, edge, brave, or safari. Signed-in cookies prove to YouTube that a real account is behind the request, which clears the check in most cases.

If cookies alone do not fix it

  • Check your IP. Requests from cloud servers, VPNs, and shared proxies get challenged far more aggressively than home connections. Try the same command from a residential IP to confirm the IP is the problem.
  • Slow down. Bursts of requests trigger the check. Add --sleep-requests 1 and avoid launching many downloads in parallel against the same site.
  • Export cookies to a file for servers. On a headless machine there is no browser to read from. Export cookies.txt from your own browser and pass --cookies cookies.txt.
  • Stay updated. YouTube changes its bot checks continuously, and yt-dlp ships counter-fixes in releases. An old build fails checks a current build passes.

Why this error keeps coming back

This is an arms race, not a one-time fix. YouTube tightens automated-traffic detection; yt-dlp adapts; the cycle repeats every few weeks. A command that worked yesterday can fail today with the exact same flags. If you only download occasionally on your own machine, updating plus cookies will keep you moving. If this runs inside a product or a scheduled job, expect to re-fix it on YouTube's schedule, not yours.

The mistake to avoid

Do not hammer the same URL with retries while the check is active — that makes your IP look more automated, not less. Fix the trust signal first: fresh yt-dlp, real cookies, reasonable request rate, residential IP if you can.

If it keeps breaking

Tired of fixing this every time a site changes?

Paste a link to see what a managed import API returns — the one that stays current so your workflow doesn't break.

Straightforward yt-dlp help for installs, commands, fixes, cookies, and repeatable workflows.

ytdlp.org is an independent, community-maintained documentation site. It is not affiliated with the yt-dlp project — the official source code lives at github.com/yt-dlp/yt-dlp.