Comparison
A YouTube transcript API that tells you where the text came from
Timed transcript segments for public YouTube videos, with the read timestamp, whether the captions were auto-generated, and no charge when a video has none.
Most transcript endpoints return a wall of text and leave you to trust it. The gaps that cause problems later are the ones nobody prints: whether the captions were written or machine-generated, when the text was read, and what happens when a video has no subtitles at all.
Side by side
| Sourcevine | other YouTube transcript APIs | |
|---|---|---|
| Auto-generated captions | Flagged. `autoGenerated` says whether the text carries the platform’s own transcription errors. | Usually returned without distinction. |
| No captions available | A typed availability status, and no charge. | Commonly an error, often still billed. |
| Timed segments | Every cue with text, start and duration — rebuilt field by field, so nothing else rides along. | Varies; some return text only. |
| Freshness | fetchedAt and cacheAgeSeconds on every response. Cached for a day, because a published video’s subtitles do not change. | Rarely surfaced. |
| Contact data in the text | Scrubbed. Emails and phone numbers read aloud are redacted in the joined text and in every segment. | Returned verbatim. |
Compared against publicly documented behaviour. Products change — check anything here that would decide it for you.
Choose other YouTube transcript APIs
- You need transcripts from TikTok or Instagram — no upstream we use publishes them, so we do not offer them.
- You want the API to summarise or translate for you.
Choose Sourcevine
- You are storing transcripts and need to record when each one was read.
- You sweep videos that may not have captions and do not want to pay for the misses.
- You need the redaction guarantee in writing.
The APIs this refers to
Pricing is published per API and generated from the registry that bills the request. Billing rules, including what is never charged, are in the billing docs.
Paste a URL. Get JSON back.
The free tier is sized to finish a real integration, not to tease one. No card required.