← ClaudeAtlas

youtube-transcriptlisted

Extract transcripts (subtitles) from YouTube videos. Use when user needs to get text of what was said in a YouTube video, download subtitles, get captions, read video content, extract speech from video, get transcript from YouTube, or says 'transcript', 'subtitles', 'captions', 'what did they say in this video', 'extract text from video', 'субтитры', 'транскрипт', 'расшифровка видео'. Supports auto-generated and manual captions in any language.
createusernam/setup_project · ★ 0 · AI & Automation · score 62
Install: claude install-skill createusernam/setup_project
# Youtube Transcript IRON LAW: NEVER give up after one method fails. Try the methods in order until one succeeds. ## Read this first — the 2025+ reality YouTube now aggressively gates the player/transcript endpoints. If you see **"Sign in to confirm you're not a bot"** (yt-dlp) or **`RequestBlocked`/`IpBlocked`** (youtube-transcript-api), the request was refused on **identity/IP grounds**, not format. On a datacenter IP, a VPN exit, or a rate-limited residential IP, the anonymous methods (1–3) will ALL fail — including a real browser and a valid PO token. Proven: a genuine Playwright browser gets a caption-stripped player response, and a correctly-minted bgutil PO token is still refused. **The only thing that reliably passes the wall is a logged-in session → go to Method C.** ``` Progress: - [ ] Step 1: Check dependencies - [ ] Step 2: Method 1 — youtube-transcript-api (fast; works on clean IPs) - [ ] Step 3: Method 2 — yt-dlp player clients (if M1 blocked) - [ ] Step 4: Method 3 — direct timedtext scrape (if M1–2 blocked) - [ ] Step 5: Method C — yt-dlp + cookies.txt ← RELIABLE when "not a bot" wall appears - [ ] Step 6: Save clean text and report which method worked ``` ## Step 1: Check dependencies ```bash python3 scripts/check-deps.py # installs: pip install --user youtube-transcript-api yt-dlp ``` ## Method 1 — youtube-transcript-api (try first) ```bash python3 scripts/yt-transcript.py <video_id_or_url> --lang en,ru --output out.txt ``` Fast when th