yt-dlp: “Sign in to confirm you’re not a bot”
This error means YouTube refused the automated request. It does not by itself tell you whether the video has captions or whether the video is unavailable to every viewer. A video may play in your browser while an automated tool cannot retrieve it.
Start with these checks
- Open the video on YouTube and confirm you can play it and view its transcript.
- Update yt-dlp using the update instructions for your installation in its official documentation.
- Pause the job and reduce the number of requests. Repeating the same refused request immediately is unlikely to help.
- Check whether the issue affects one video or the whole job. Keep unavailable videos separate from temporary request failures.
Know what you are trying to retrieve
A video download and a transcript lookup are different tasks. If you need the media file, consult yt-dlp’s troubleshooting documentation. If you need words to search, quote or summarize, a transcript workflow may be enough.
Do not assume a bot-verification message means “no captions.” Also keep account credentials out of shared logs, notebooks and support tickets.
Get the words without maintaining a downloader
If you need transcript text, open the video in VidWords to read, search and export it. For an application, use the hosted transcript API; for an AI assistant, connect the MCP server.
VidWords returns timestamped text when retrieval succeeds and a clear error when it cannot retrieve a transcript. A failed lookup is not charged. Videos without captions may be eligible for audio transcription, which is a separate paid action; it does not grant access to restricted videos.
Handle a refusal in your application
Show the actual error, preserve the video id so the reader can try later, and avoid an unlimited retry loop. For a hosted integration, the Python guide shows how to inspect per-video results.