YouTube Transcript
Extract transcripts from YouTube videos using the youtube-transcript-api.
Usage
Run the script with a YouTube URL or video ID:
uv run scripts/get_transcript.py "VIDEO_URL_OR_ID"
With timestamps:
uv run scripts/get_transcript.py "VIDEO_URL_OR_ID" --timestamps
Defaults
-
Without timestamps (default): Plain text, one line per caption segment
-
With timestamps: [MM:SS] text format (or [HH:MM:SS] for longer videos)
Supported URL Formats
-
Raw video ID (11 characters)
Output
-
CRITICAL: YOU MUST NEVER MODIFY THE RETURNED TRANSCRIPT
-
If the transcript is without timestamps, you SHOULD clean it up so that it is arranged by complete paragraphs and the lines don't cut in the middle of sentences.
-
If you were asked to save the transcript to a specific file, save it to the requested file.
-
If no output file was specified, use the YouTube video ID with a -transcript.txt suffix.
Notes
-
Fetches auto-generated or manually added captions (whichever is available)
-
Requires the video to have captions enabled
-
Falls back to auto-generated captions if manual ones aren't available