Blog
Fetching YouTube captions in production: what breaks, what it costs, and how to build on transcripts.
How to Get YouTube Transcripts in Claude: Connector, Plugin and Skills
Claude can't hear what's said in a YouTube video on its own. Connect YTAPI on claude.ai or install the plugin in Claude Code, sign in, and Claude can summarize, quote and compare videos. No API key to copy.
Claude · MCP · AI Agents · 7 min read
Turn a YouTube Channel Into a Searchable Archive of Sermons, Lectures or Talks
Years of sermons, lectures or talks on one channel, and no way to find where something was said. A Python script that turns the channel into a full-text search with links to the exact minute, and keeps it up to date.
Python · Tutorial · Transcripts · 4 min read
Why YouTube Transcript APIs Slow Down on New Videos and Small Channels
Most transcript APIs are fast on videos someone already asked for. Here is why new uploads and small channels are different, how to test any API on them, and what we see in real traffic.
Benchmark · Latency · Comparison · 5 min read
The Best YouTube Transcript APIs in 2026: 7 Options Compared
Hosted APIs, Apify actors, open-source libraries and the official YouTube Data API: what each costs, where it breaks, and which to pick for a script, a product or an AI agent.
Comparison · Pricing · Supadata · 6 min read
How to Get YouTube Transcripts in JavaScript and Node.js
npm packages that read YouTube's caption endpoints work on your laptop and break on servers. How to fetch transcripts in Node.js with plain fetch: languages, formats, errors, retries, and many videos at once.
JavaScript · Node.js · Tutorial · 3 min read
Get Transcripts for Every Video on a YouTube Channel or Playlist
List a channel's or playlist's videos page by page, then fetch the transcripts 100 at a time. Python code that resumes where it stopped, and what a 1,000-video channel costs.
Python · Tutorial · Transcripts · 2 min read
YouTube Search Suggestions API: Autocomplete Without the Data API
The YouTube Data API has no autocomplete method. Here is the undocumented endpoint behind YouTube's search box, what it returns, and how to get the same suggestions as plain JSON.
YouTube API · Search · JavaScript · 2 min read
youtube-transcript-api Blocked on GCP? Why It Happens and What to Do
The same script that works on your laptop raises RequestBlocked or IpBlocked on Cloud Run, Cloud Functions, and GCE. A reserved static IP stays inside Google's published ranges.
Python · GCP · Troubleshooting · 3 min read
YouTube Data API captions.download Only Works on Your Own Videos
captions.download returns 403 forbidden unless the OAuth token belongs to someone who can edit the video. An API key can't download other channels' captions.
YouTube Data API · Captions · Troubleshooting · 3 min read
youtube-transcript-api Blocked on Vercel, Render, or Railway?
RequestBlocked and IpBlocked on Vercel Functions, Render, and Railway are the hosting IP, not your code. The static-outbound-IP add-ons are for allowlists. YouTube does not allowlist you.
Python · Serverless · Troubleshooting · 3 min read
TranscriptsDisabled, NoTranscriptFound, and CouldNotRetrieveTranscript
All three print 'Could not retrieve a transcript'. The class name is the part that tells you whether the video has no captions, you asked for the wrong language, or something else failed.
Python · Troubleshooting · 3 min read
yt-dlp HTTP Error 429 When Downloading Subtitles
yt-dlp "Unable to download video subtitles" with HTTP Error 429 means YouTube rate-limited you. Stop retry loops, add --sleep-subtitles, fetch one language.
yt-dlp · Subtitles · Troubleshooting · 3 min read
yt-dlp: Sign in to confirm you're not a bot
YouTube's player asked for a signed-in session. Update yt-dlp first. Cookies are the hint in the error, and they tie the job to a Google account. The same message appears when you only asked for subtitles.
yt-dlp · Subtitles · Troubleshooting · 3 min read
YouTube Transcript API Pricing Compared (2026): What 1,000 Transcripts Really Cost
Supadata, TranscriptAPI and YTAPI price transcripts in three different ways. What each costs at steady, uneven and light volume, and what gets billed.
Pricing · Comparison · Supadata · 5 min read
How to Get YouTube Transcripts in Python
Two ways to pull captions from YouTube in Python: the open-source youtube-transcript-api library, and a hosted HTTP API. Working code for both, and where each one breaks.
Python · Tutorial · Transcripts · 4 min read
youtube-transcript-api Blocked on AWS? Why It Happens and What to Do
The script works on your laptop and fails on EC2 or Lambda with RequestBlocked or IpBlocked. Here is why YouTube does that, and the four realistic ways around it.
Python · AWS · Troubleshooting · 4 min read
What to Do When a YouTube Video Has No Captions
Why some videos have no transcript, how to tell the cases apart from an API response, and what you can do about each one.
Captions · Troubleshooting · Languages · 4 min read
TranscriptAPI vs Supadata vs YTAPI: Measured on Uncached Videos
We sent the same recent, uncached YouTube videos to three transcript APIs from four regions. Median, tail latency and first-try success, plus how each one bills.
Comparison · Benchmark · Pricing · 6 min read
Migrating from Supadata to YTAPI: A Field Guide for Transcript Pipelines
Switching your YouTube transcript pipeline from Supadata to YTAPI.dev. Covers auth, parameter mapping, the milliseconds-to-seconds gotcha, response reshaping, and billing differences.
Migration · Supadata · YouTube API · 3 min read
Migrating from TranscriptAPI to YTAPI: A Field Guide for Transcript Pipelines
Switching your YouTube transcript pipeline from TranscriptAPI to YTAPI.dev. Covers endpoint mapping, parameter aliases, the language priority list, response field renames, and retry semantics.
Migration · TranscriptAPI · YouTube API · 4 min read
Handling Long YouTube Video Transcripts at Scale: Payloads, Formats, and Memory Bottlenecks
Deep-dive into the architectural mechanics of processing multi-hour YouTube transcripts. Compare XML/SRV1 vs JSON3 payload footprints, streaming JSON parsing, and GC memory stabilization.
Performance · Architecture · Data Engineering · 4 min read
Build an AI YouTube Video Summarizer with LangChain, Next.js 15, and YTAPI
A step-by-step tutorial building an AI-powered YouTube summarizer. Learn how to ingest transcripts via REST, chunk content with LangChain, and stream summaries in Next.js 15.
Next.js · LangChain · OpenAI · 3 min read