Get YouTube transcript
get_transcriptFetch the transcript of a single YouTube video by URL or 11-character video ID. Serves the permanent cache instantly when available and otherwise fetches from YouTube (uncached fetches are limited per IP per day). Formats: clean text, timestamped, both, srt, vtt, md, json.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format. Default "clean" (plain text). "timestamped" prefixes each line with a timestamp; srt/vtt are subtitle files; json is structured. | |
| language | No | Preferred caption language code such as "en" or "pt-BR". Optional; defaults to English with fallback to whatever track exists. | |
| video_url | Yes | YouTube video URL (watch, youtu.be, shorts, embed, live) or a bare 11-character video ID. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | manual = creator captions, asr = auto-generated. | |
| title | No | Video title when known. | |
| format | Yes | The output format that was rendered. | |
| channel | No | Channel name when known. | |
| language | Yes | Language of the DELIVERED track. May differ from the requested language when YouTube refuses on-the-fly translation; the text header says so when it happens. | |
| video_id | Yes | The 11-character YouTube video ID. | |
| characters | Yes | Length of the rendered transcript text. |