get_video_transcript
Retrieve a YouTube video transcript with timestamps for quoting and citing. Filter by time range to focus on specific segments, using public caption tracks at no API cost.
Instructions
Get a video's transcript as '[MM:SS] text' lines you can quote and cite.
Quote the timestamps back so claims stay traceable, e.g. "at [03:15] he says the battery is 17% larger than last year". Narrow long videos with start_seconds and end_seconds. Reads public caption tracks, so it costs no API quota.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| video | Yes | Video id, or a watch / youtu.be / shorts URL | |
| languages | No | Preferred language codes in priority order, e.g. ['en', 'en-US']; defaults to the video's original spoken language | |
| end_seconds | No | Only return the transcript up to this offset | |
| chunk_seconds | No | Merge caption cues into windows of about this many seconds; 0 keeps raw cues | |
| start_seconds | No | Only return the transcript from this offset onward |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Canonical watch URL | |
| text | Yes | Transcript as '[MM:SS] text' lines, one per merged segment | |
| language | Yes | Transcript language name | |
| video_id | Yes | Video id | |
| end_seconds | Yes | End offset of the last returned line | |
| is_generated | Yes | True when auto-generated by YouTube rather than creator-supplied | |
| language_code | Yes | Transcript language code, e.g. en | |
| segment_count | Yes | Number of timestamped lines returned | |
| start_seconds | Yes | Offset of the first returned line | |
| available_languages | No | Language codes with a transcript for this video |