YouTube Video transcript API
Caption transcript for a video or Short by URL or id, with start/end timestamps per segment.
$0.90/1k req, pay per request, no subscription.
{"start":Â 18.2,"end":Â 21,"text":Â "Never gonna give you up","durationSeconds":Â number,"startSeconds":Â number}
Pricing and providers
YouTube Video transcript API pricing: one API, 5 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get YouTube video transcript in one request
This sample shows 5 of 9 fields. See every field
{
"found": true,
"data": {
"language": "en",
"segments": [
{
"start": 18.2,
"end": 21,
"text": "Never gonna give you up"
},
{
"start": 21,
"end": 24.4,
"text": "Never gonna let you down"
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-11-05 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- idstring
YouTube video ID. A Short uses the same ID as any other video.
- urlstring
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Full YouTube video URL. Shorts (youtube.com/shorts/...), youtu.be, live, and embed URLs all work.
Response
JSON, one example value per field.
- languagestring
en
Populated whenever the provider has data for the entity.
- transcriptstring
Populated whenever the provider has data for the entity.
Timed transcript segments in source order when the serving lane supplies caption timing.
- durationSecondsnumber
Segment duration in seconds.
- startSecondsnumber
Segment start offset in seconds.
- textstring
Never gonna give you up
Text of this transcript segment.
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the YouTube Video transcript API
The AnyAPI YouTube Video transcript API returns YouTube video transcript data as normalized JSON from one POST call to /v1/run/youtube.video_transcript. Caption transcript for a video or Short by URL or id, with start/end timestamps per segment. AnyAPI routes each request across 5 sources and falls back automatically when one fails. It costs from $0.90 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of YouTube video transcript calls through AnyAPI succeeded, with a median response time of 7.2 seconds across 165,682 measured calls.