Get YouTube transcript
youtube_get_transcriptGet YouTube transcripts from any URL, including shorts, live, and embed links. Choose text, subtitles, or timestamped segments, with language selection and honest errors when captions are missing.
Instructions
Return the transcript of a YouTube video, from any YouTube URL. Handles watch / youtu.be / shorts / live / embed / music / nocookie links and bare video ids. If the video has no captions it fails with code NO_TRANSCRIPT instead of inventing text; if the requested language is missing it fails with LANGUAGE_UNAVAILABLE plus the available list. Use output=segments for timestamped cues, or timestamps=true for [mm:ss] prefixed lines.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video reference: watch URL, youtu.be short link, /shorts/, /live/, /embed/, music.youtube.com, youtube-nocookie.com, an attribution link, or a bare 11-character video id. | |
| output | No | Output shape: text (default, readable lines), markdown (timestamped bullets), segments (JSON with millisecond timings), or srt / vtt subtitle files. | |
| maxChars | No | Truncate the transcript to roughly this many characters. | |
| languages | No | Language preferences in priority order, e.g. ["en"] or ["hi", "en"]. Defaults to ["en"]. Falls back to the closest available track and says so in notes. | |
| timestamps | No | Prefix each line of text output with its [mm:ss] offset. | |
| translateTo | No | Ask YouTube to machine-translate the selected captions into this language (for example es). Only works when the video offers translations. | |
| includeAutoCaptions | No | Include YouTube auto-generated (speech-recognised) captions. Default true; set false to require human-written captions only. |