Endpoint Playground
Returns transcript segments for a YouTube video using YouTube's native player captions. Set `format=text`, `format=srt`, or `format=vtt` to receive plain-text output instead of the standard response envelope. Returns `404` when the video currently has no transcript/captions available in any language — this is a normal, non-retryable result, not an error condition. Returns `503` when the request is temporarily blocked or rate-limited; retrying after a short delay may succeed.
14 Oct 2026: 520 segments; 0 fields had a value in every checked item and 3 varied between items.
Sample value profiles: start: 0.4 to 2,346.39, median 1,076.77; duration: 0.08 to 30.45, median 3.12.
curl 'https://api.crawlora.net/api/v1/youtube/transcript/YbJOTdZBX1g?format=json' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id (path) | string | Yes | YbJOTdZBX1g | YouTube video ID (11-character code) |
| lang | string | No | Preferred transcript language | |
| translate_to | string | No | Translate transcript to this language code | |
| format | string | No | json | Response format |
| timestamps | boolean | No | Include timestamps in the JSON response |
{
"code": 200,
"msg": "OK",
"data": {
"video_id": "dQw4w9WgXcQ",
"language": "English",
"language_code": "en",
"segments": [
{
"text": "Never gonna give you up",
"start": 12.34,
"duration": 2.11
}
],
"text": "Never gonna give you up"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.