Skip to content
RankFabrik · data

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

ProviderFree tierPaidPer 1,000Model
Supadata100 credits$5 / $17 per mo≈ $10Hosted API
youtube-transcript.ioWeb tool onlyPlus / ProAPI is paywalledNo API trial
Apify actor (supreme_coder)Platform creditsPay-per-use≈ $0.70On-demand actor
RankFabrik CaptionsApify free planPay-per-event$2.00–$4.00Apify 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.

$2.00/1k

transcript-auto — auto captions

$4.00/1k

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.

Run it on Apify → Read the docs

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.