The direct answer:these two tools barely overlap. The official YouTube Data API's captions endpoints exist for channel owners managing their own captions — and for that job they are the right, supported, free-within-quota tool. For downloading transcripts of arbitrary public videos they are not a slower or cheaper alternative; they are not an option at all, because captions.downloadonly serves requests authorized by the video's owner. If your videos are someone else's, the working routes are a caption-reading tool: the free youtube-transcript-api library (compared here with first-hand tests) or the managed YouTube Transcript Scraper.
Unlike our library comparison, this page contains no side-by-side run: exercising captions.downloadrequires a Google Cloud project and OAuth as a video-owning channel, and its ownership gate is not observable from outside. Every claim about the Data API below links Google's own documentation; our 403 deep-dive walks the endpoint's behavior in detail.
The ownership gate, per Google's docs
- Both
captions.listandcaptions.downloadrequire OAuth with theyoutube.force-sslscope. A plain API key — sufficient forvideos.listorsearch.list— is never enough here. captions.downloadadditionally checks that the authorized account owns or can edit the video; the documented 403 reason for anyone else isforbidden. More scopes, service accounts, retries, and new API keys do not change this — the gate is ownership, not authentication strength.
The quota math, even for owners
Per Google's quota documentation and quota cost table, a project gets 10,000 units per day by default; captions.list costs 50 units and captions.downloadcosts 200. A normal workflow lists a video's tracks and then downloads one — 250 units, or roughly 40 videos per project per day. Up to 50 download calls fit only when the caption-track IDs are already known or cached. Quota increases require an application and review. For a channel exporting its own captions occasionally, that is plenty; for anything shaped like "process thousands of videos," the arithmetic fails before the permissions do.
The decision, by dimension
| Dimension | Data API captions endpoints | YouTube Transcript Scraper |
|---|---|---|
| Videos it can read | Videos the authenticated account owns or can edit (per Google's docs) | Public videos with a caption track (any owner) |
| Auth required | Google Cloud project + OAuth consent as the owning channel | Apify API token |
| Cost | Free within quota (roughly 40 list-plus-download workflows per day by default) | $3.00 per 1,000 delivered transcripts; failed items $0 |
| Output | Caption file formats via tfmt (e.g. SRT) | Time-coded JSON segments plus video metadata and track list |
| Caption management (upload, edit, delete) | Yes — this is what the endpoints are for | No — read-only |
| Terms-of-service posture | Official API, unambiguous | Reads public data outside the official API; not affiliated with or endorsed by YouTube |
When the Data API is the better choice
- Exporting, uploading, or editing captions on your own channel's videos — it is the only tool in this comparison that can write captions at all.
- Workflows that must stay inside Google's official API surface for compliance reasons.
- Low-volume owner exports that fit comfortably inside the daily quota, at no cost.
When the actor is the better choice
- Transcripts of public videos you do not own — the Data API has no path here at any price or quota level.
- Volume beyond the default quota's roughly 40 list-plus-download workflows per day, without a quota-increase application.
- Pipelines that need JSON segments, metadata, and typed, unbilled failure rows (the error contract) rather than caption files.
Methodology and sources
- No first-hand Data API run:the endpoints' restrictions are authorization rules, so this page relies on Google's documentation (linked at every claim) rather than a test we could only run against our own channel.
- Actor rows: pricing and failure behavior come from the actor's documentation and the first-hand test published alongside this page.
- Corrections:if Google's documented behavior changes or a row is wrong, use the support and corrections route; the page carries its last-verified date at the top.