Best YouTube transcript API tools, compared (2026)
Disclosure: VidWords is one of the tools compared here, and this is our site. We have kept every competitor claim to what their own pricing pages stated on 6 August 2026, linked so you can check, and we have been explicit about where other tools beat us. Pricing changes often — verify before you commit.
The 30-second version
Most YouTube transcript APIs do the same core job: give them a video ID, get back timestamped text. They differ on four things that actually decide the bill and the failure rate — what happens when a video has no captions, batch and channel support, rate limits, and how credits are counted.
If you are extracting a handful of videos, the free tiers are genuinely enough and the choice barely matters. If you are running a pipeline over a channel's back catalogue, the credit model and batch endpoint matter more than the sticker price.
The four criteria that matter
- Captionless fallback. Roughly the most common production surprise: a video with no caption track at all. Some APIs return empty and leave you to solve it; others transcribe the audio with speech-to-text at a higher price. Decide which you want before your job hits its first captionless video.
- Batch and channel endpoints. One request per video is fine at ten videos and painful at ten thousand. Check whether batch is available on the tier you will actually buy, not just on the top plan.
- Rate limits. Requests-per-minute quietly sets your throughput ceiling. A cheap plan with a low RPM can be slower than a dearer one with headroom.
- What counts as a billing unit. "One unit per request" and "one unit per video" diverge sharply once pagination, channel listing and retries enter the picture.
The options
All figures below are as published on 19 August 2026.
VidWords API
Documented here, with a machine-readable OpenAPI 3.0 spec you can import into a client generator or point an agent at. POST /api/transcripts takes up to 50 videos per call; POST /api/channels resolves a channel. Auth is HTTP Basic with a free API token.
Every new account gets 100 Developer Requests with no card. After that, API and MCP retrieval use Cloud Requests: 25 a month on Free, 1,000 on Starter, 3,500 on Pro and 10,000 on Team, with non-expiring PAYG packs available separately. Captionless-video transcription also uses AI Processing Units by audio length.
The API returns JSON — per-segment text, start and duration, plus the full text. The TXT, SRT, VTT, CSV and JSON export files are a web app feature, not an API response format: if you need SRT out of the API, you are formatting it yourself from the segments.
Where it wins: a no-card developer trial, PAYG access without a subscription, a published OpenAPI spec, MCP parity and a speech-to-text fallback priced by duration. Where it doesn't: the API is JSON-only, exactly like the others.
Supadata
Supadata offers 100 requests a month free with no card. Paid tiers run Basic $5/mo (300 credits), Pro $17/mo (3,000), Mega $47/mo (30,000), Giga $297/mo (300,000) and Supa $897/mo (1,000,000). Single video, channel and playlist extraction each count as 1 credit. Batch endpoints are paid plans only. For videos without captions you can opt into AI generation at 1 generated transcript minute = 2 credits.
Where it wins: the widest tier ladder here by far — if you need a million credits a month, it is on the price list rather than a sales call. Worth checking: their pricing page does not state output formats.
TranscriptAPI
TranscriptAPI gives 100 free credits with no card. Paid is $5/mo for 1,000 credits monthly, or $4.50/mo billed annually ($54/year), with top-ups at $2.50 per 1,000 (monthly) or $1.50 per 1,000 (annual). Each endpoint call is 1 credit. It covers transcripts, search, channel listing and playlists, plus free RSS upload tracking. Transcripts return JSON with text, start and duration. Rate limits are stated as 200 requests/minute on monthly and 300 RPM on annual.
Where it wins: the clearest published rate limits of the group, and the cheapest per-credit rate at the entry tier. Free upload tracking is a genuinely nice extra if you are watching channels. Trade-off: JSON output only, and credits are charged per request, so paginating a large channel consumes credits per page.
youtube-transcript-api (open source)
The widely used Python library is free and runs in your own process, with no vendor and no per-request cost. That makes it the obvious starting point for a script on your laptop.
What you take on: it fetches from YouTube using your IP, so at any real volume you inherit the rate limiting and IP-blocking problem, and typically end up buying proxies — which is the cost the hosted APIs are actually absorbing. There is also no speech-to-text fallback: no captions means no output. Our developer guide covers using it directly and when to move off it.
Cost per 1,000 transcripts
If all you need is the captions, none of this table applies to you: VidWords extracts unlimited transcripts in the browser, free, with no account — so the number to compare against is $0, not the Cloud Request price below. This table is about server-side work: retrieval your own machine did not do, running against an API, on a schedule, or in bulk.
Sticker price hides the thing you actually pay. Here is each plan reduced to one number — cost per 1,000 transcripts, at the plan's own included allowance, competitor prices as published on 22 August 2026, VidWords rows updated 25 August 2026:
| Plan | Price | Included | Per 1,000 |
|---|---|---|---|
| TranscriptAPI (annual) | $4.50/mo | 1,000 credits | $4.50 |
| TranscriptAPI (monthly) | $5/mo | 1,000 credits | $5.00 |
| Supadata Pro | $17/mo | 3,000 credits | $5.67 |
| Supadata Mega | $47/mo | 30,000 credits | $1.57 |
| Supadata Giga | $297/mo | 300,000 credits | $0.99 |
| Supadata Basic | $5/mo | 300 credits | $16.67 |
| VidWords PAYG | $9 once | 1,000 Cloud Requests | $9.00 |
| VidWords PAYG volume | $79 once | 10,000 Cloud Requests | $7.90 |
| VidWords PAYG volume | $349 once | 50,000 Cloud Requests | $6.98 |
| VidWords Starter | $10/mo | 1,000 Cloud Requests | $10.00 |
| VidWords Pro | $29/mo | 3,500 Cloud Requests | $8.29 |
| VidWords Team | $79/mo | 10,000 Cloud Requests | $7.90 |
| youtube-transcript-api | free | unlimited* | proxy costs |
*Unlimited in the sense that nobody bills you. At volume you will be rate-limited or IP-blocked by YouTube, and the proxy bill becomes your real per-transcript cost.
Read that table honestly: VidWords PAYG volume packs are the cheapest VidWords route for caption retrieval alone. The subscriptions cost more per included Cloud Request because they also bundle AI Processing Units and product capabilities such as Radar, bulk limits, Deep Watch, webhooks, history and collaboration. If your job is only "fetch captions, output JSON", compare the PAYG rows—not a subscription bundle.
The axis the table above cannot show
Cost per transcript is the right question only if every row does the same thing with the transcript. They do not. Checked against each vendor's own published documentation on 25 August 2026:
| Capability | TranscriptAPI | Supadata | YouTube-Transcript.io | VidWords |
|---|---|---|---|---|
| Transcripts, bulk, channels | yes | yes | yes | yes |
| Video with no captions at all | — | — | — | transcribes the audio |
| Reads what is on screen — slides, charts, demos | — | — | — | AI Watch, 3 AI Units per minute of video |
| Answers checked against stored evidence | — | — | — | every citation verified |
| Native access for AI assistants (MCP) | — | — | — | 9 tools, OAuth |
| One question across a whole channel | — | — | — | search_transcript takes a list |
| Shared library and seats | — | — | — | 5 seats on Team |
| Unlimited free browser extraction | — | — | — | Chrome extension, no account |
A dash means the vendor does not document the capability, not that it is impossible for them. We have not tested competitor products beyond their published documentation.
So the honest summary is two sentences, not one. If you want captions at the lowest price per thousand, buy from one of the rows above — or use our browser extension and pay nothing. If you want the video read rather than transcribed, that table is comparing the wrong number, because nothing else in it does that at any price.
One caveat that cuts across every row: billing units are not defined identically. Where billing is per request, paginating a large channel spends units on listing pages before you extract a single transcript. VidWords charges one Cloud Request for each successful cloud operation, including cache hits and channel listing; fresh captionless ASR also uses AI Units by duration. Model your own mix before trusting any per-1,000 figure, including ours.
What to test before you commit
Every one of these has a free tier, so a 30-minute evaluation beats a spreadsheet. Run the same five videos through each:
- A video with no captions. The single most informative test. Does it error, return empty, or transcribe — and what did that cost?
- A non-English video. Check whether you get the original language, an auto-translation, or nothing.
- A three-hour stream. Long transcripts expose timeouts and response-size limits that short clips never will.
- A channel with several hundred videos. Time the listing and count the billing units it consumed before any transcript arrived.
- The same video twice. Some providers bill a cached repeat at full price; some do not. At scale with retries, this matters more than it sounds.
What none of these solve
Every API on this page returns speech. If the information you need was on screen — a chart, a slide, a code editor, a UI walkthrough narrated as "as you can see here" — no transcript API will give it to you, because it was never spoken. That is a limit of the category, not of any one vendor.
Closing that gap requires frame-level video understanding, which mostly lives in enterprise video-intelligence services. It is also what AI Watch does on VidWords, though it is a product surface rather than a REST endpoint today. If your corpus is talking-head content, ignore this section entirely — a transcript API is the right tool and the cheapest one will do.
Which one to pick
- A script, a few hundred videos, no deadline: the open-source library. Do not pay for something you can run in a loop.
- Production pipeline, captions usually present, cost-sensitive: TranscriptAPI's entry tier is the cheapest per credit, provided JSON-only output suits you and you account for per-request billing on paginated jobs.
- Very high volume: Supadata's ladder goes furthest without a custom contract.
- Batch-heavy work, or a catalogue where captions are often missing: the VidWords API — 50 videos per call and a speech-to-text fallback priced by duration. Not for output formats: every API here returns JSON.
Two things people get wrong
Comparing sticker price instead of unit cost. $5/mo for 300 credits and $5/mo for 1,000 credits are not the same product. Work out cost per transcript at your volume, including whatever share of your videos will need a speech-to-text fallback.
Forgetting that captions are not guaranteed. Teams routinely build against the happy path, then discover a meaningful slice of their catalogue has no caption track. Whether your API transcribes audio, and what that costs, is a design decision, not a detail. Our explainer on auto-generated captions covers how caption availability and quality actually vary.
Getting started
If you want to test the VidWords side of this, an API token is free and the OpenAPI spec means you can generate a client rather than hand-rolling requests. For bulk work through the UI instead of the API, see extracting whole channels and playlists. To evaluate output quality before writing any code, extract a transcript here — no account needed for the first few.