02Captions API
The YouTube transcript API that tells you what you're getting
Any wrapper can hand you a wall of text. The question that decides whether you can trust it — were these captions written by a human or guessed by a machine? — almost nobody answers. RankFabrik puts that flag on every response, runs on Apify, and bills per transcript returned — nothing for an empty run.
Competitor prices verified 17 August 2026 on each provider's own page. Last updated 17 August 2026.
Run it on Apify — pay per transcript → Try the free web tool
What comes back
One call, the whole picture: the text, which language it is in, every language on
offer, the word count — and auto, the flag that says whether
a human or YouTube's speech recognition produced it.
GET /transcrire?video=dQw4w9WgXcQ&langues=en
{
"available": true,
"language": "en",
"auto": true,
"human": false,
"availableLanguages": ["en", "es", "fr"],
"totalWords": 1240,
"durationSeconds": 512,
"segments": [
{ "start": 0.0, "duration": 4.2, "text": "We're no strangers to love" }
]
}
auto: true means these are machine-generated captions —
usable, but expect errors on names and crosstalk. A human-written track returns
auto: false. That one boolean is the difference between shipping and
re-checking.
When there's nothing to return, it says so
An empty 200 is the worst answer a transcript API can give. Ours never
does: an unavailable video comes back with a reason.
{
"available": false,
"reason": "this video carries no captions"
}
The reason is a stable, human-readable string — here, "this video
carries no captions." Others you will see: "the served track was not usable." You
branch on available; you log the reason.
How it compares
| Provider | Free tier | Paid | Per 1,000 | Model |
|---|---|---|---|---|
| Supadata | 100 credits | $5 / $17 per mo | ≈ $10 | Hosted API |
| youtube-transcript.io | Web tool only | Plus / Pro | API is paywalled | No API trial |
| Apify actor (supreme_coder) | Platform credits | Pay-per-use | ≈ $0.70 | On-demand actor |
| RankFabrik Captions | Apify free plan | Pay-per-event | $2.00–$4.00 | Apify actor |
The real competitor on the bare term "youtube transcript" is a free open-source library, not a paid API — and we say so plainly. Where a hosted API earns its price is reliability, batching, and knowing what you got. That is the line we compete on, not the raw fetch.
Pricing, in plain units
One event is one transcript returned — transcript-auto for
auto-generated captions, transcript-human when a person wrote them.
A video with twelve chapters is one request, not twelve.
transcript-auto — auto captions
transcript-human — human captions
Pay per transcript returned — you are charged only for events the actor actually returns, never for an empty run. Metered and billed by Apify; no separate RankFabrik account to open.
Questions
Is there a free YouTube transcript API?
For the occasional transcript by hand, the free web tool at rankfabrik.com/youtube-transcript needs no account at all. For scripted volume, RankFabrik's Captions API runs on Apify and is pay-per-event: you are billed only for transcripts actually returned, and an empty run costs nothing. Most competitors either lock the API behind a paid plan (youtube-transcript.io) or give a one-off credit grant (Supadata's 100 credits).
How much does a YouTube transcript API cost per 1,000?
RankFabrik runs on Apify and bills per event returned: $2.00 per 1,000 for auto captions (transcript-auto), $4.00 per 1,000 for human-written ones (transcript-human). For comparison, Supadata's paid tiers work out to about $10 per 1,000. What sets ours apart is the auto flag on every response, so you know which quality you paid for. Prices verified 17 August 2026 on each provider's own page.
How do I know if a transcript is auto-generated or human-written?
Every RankFabrik response carries auto — true when YouTube's speech recognition produced the captions, false when a human wrote or uploaded them. Auto-generated captions are usable but drift on names, jargon and crosstalk, so knowing which you got matters for anything downstream. The flag rides on every response, so you can filter or re-weight by transcript quality without a second lookup.
What happens when a video has no captions?
You get available: false and a plain reason field explaining why — for example "this video carries no captions" or "the served track was not usable". You are never left guessing at an empty 200 response.
Can I fetch several videos in one call?
Yes. The Captions API takes a batch of up to 50 video IDs in a single call, and a transcript with chapters is one request, not one per chapter. Each returned transcript counts as one unit.
Can I export SRT or VTT subtitles, or get cited quotes?
Yes, and neither costs an extra call. Add formats=srt,vtt and the response carries ready-to-use SRT and WebVTT built from the timestamped segments already returned. Each chapter and each verbatim also carries a ?t= link that reopens the video at the exact second quoted. Verbatims are selected mechanically — by length and position — never written or summarised by a model, which is the same no-speech-recognition, no-fabrication rule the whole product runs on.