Youtube Get Transcript
youtube_get_transcriptRetrieve a YouTube video's plain-text transcript by video ID, with optional timestamps and pagination, without using YouTube Data API quota.
Instructions
Fetch a YouTube video's transcript as plain text.
Returns the caption text for one 11-character video ID, with the language that was
actually used, whether it is auto-generated, and next_cursor.
Timestamps are OFF by default because each [mm:ss] marker costs tokens; when
include_timestamps is true a marker is inserted wherever the caption minute changes
(a word-level auto-generated track gets far fewer markers than segments).
Long transcripts are truncated at the server's RESPONSE_LIMIT and cut on caption
boundaries: read next_cursor and call again with it to get the following page —
next_cursor: null (and truncated: false) means you have the whole thing. Each
page repeats the time anchor of its first segment.
Costs no YouTube Data API quota: transcripts are scraped from YouTube's internal caption endpoint, not the Data API. They are cached forever, so a repeat call is free. Failures are expected and specific — captions may be disabled, absent in the requested languages, or the IP may be blocked (transient). Age-restricted videos cannot be read.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | ||
| video_id | Yes | ||
| languages | No | ||
| include_timestamps | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| language | Yes | ||
| video_id | Yes | ||
| truncated | Yes | ||
| next_cursor | Yes | ||
| is_generated | Yes | ||
| language_code | Yes |