Extract Youtube Transcript

Data & APIs

Extract plain-text transcripts from YouTube videos using a local Python script. Use when the user wants to fetch, extract, or get a transcript from a YouTube video URL, analyze YouTube video content as text, or needs subtitles/captions from a video.

Install

openclaw skills install extract-youtube-transcript

Extract YouTube Transcript

Fetches plain-text transcripts from YouTube videos using extract_youtube_transcript.py in this skill folder.

Dependency

pip show youtube-transcript-api &>/dev/null || pip install youtube-transcript-api

Quick Start

python extract_youtube_transcript.py "https://www.youtube.com/watch?v=VIDEO_ID"

Supported URL formats: youtube.com/watch?v=, youtu.be/, /embed/, /live/, /shorts/, or a raw 11-char video ID.

Common Patterns

Fetch with preferred language(s)

python extract_youtube_transcript.py "URL" --lang zh-Hant en

Pass languages in priority order. Falls back to any available transcript if none match.

Save transcript to file

python extract_youtube_transcript.py "URL" --output transcript.txt

Text is printed to stdout and also written to the file.

List available languages first

python extract_youtube_transcript.py "URL" --list-langs

Use this to discover what language codes are available before fetching.

Language Codes

CodeLanguage
enEnglish
zh-HantTraditional Chinese
zh-HansSimplified Chinese
jaJapanese
koKorean
esSpanish

Error Handling

ErrorCauseRecovery
TranscriptsDisabledOwner disabled captionsNo transcript available
NoTranscriptFoundRequested lang not foundRun --list-langs, pick an available code
VideoUnavailableVideo is private/deletedVerify the URL
AgeRestrictedAge-gated videoAuth not supported; no workaround
InvalidVideoIdMalformed URL or IDCheck the URL format

Workflow

  1. Try a direct fetch first
  2. If NoTranscriptFound, run --list-langs to see available codes, then re-fetch with --lang <code>
  3. Save long transcripts to a file with --output for easier downstream processing