Fetch the full timestamped transcript of a YouTube video. Returns clean JSON with segments, start times, and the full concatenated text.
POST /v1/youtube/transcriptPer video| Field | Type | Description |
|---|---|---|
| url* | string | YouTube URL (youtube.com/watch?v=ID or youtu.be/ID) |
| language | string | Preferred language code (default: en) |
The endpoint returns { job_id: integer } immediately. Poll GET /jobs/{job_id} until status: "completed" — the result below is in the result field.
| Field | Type | Description |
|---|---|---|
| video_id | string | Extracted YouTube video ID |
| language | string | Language code of the fetched transcript |
| full_text | string | All transcript segments joined as a single string |
| segments | array | List of { text, start, duration } objects |
Request
{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"language": "en"
}Completed job result
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"full_text": "We're no strangers to love ...",
"segments": [
{
"text": "We're no strangers to love",
"start": 0,
"duration": 3.5
},
{
"text": "You know the rules and so do I",
"start": 3.5,
"duration": 3
}
]
}