YouTube Transcript Grabber
Clean text out of any YouTube video, playlist, or channel.
Getting a transcript out of YouTube is either a slow crawl through the caption panel, copying a paragraph at a time, or some site that wants your email and reads every link you hand it. This does neither. Point it at a video, a playlist, or a whole channel and it gives back clean text.
No AI, no account, nothing leaves your machine. It’s plain Python around yt-dlp, and it handles the parts that break a naive scrape: the signed caption URLs, the bot wall. Run it as a native Mac app if you want a window, or as a Claude Code skill if you already live there.
Three steps. No drama.
Paste the link
One video, a playlist, or a channel. It works out which and pulls the full list.
It fetches the captions
yt-dlp underneath, with the signed-URL and bot-wall handling that a quick scraper trips over.
Get the text
Clean transcript files, ready to read, search, or hand to whatever comes next. No cleanup pass.
What it does.
- 01One video or a whole channel, out as clean text
- 02No AI, no account, nothing leaves your machine
- 03Handles the signed caption URLs and the bot wall that break naive scrapers
- 04Runs as a native Mac app or a Claude Code skill
Built to feed our own research — we needed transcripts by the hundred, without an AI service logging every link we touched.
The honest answers.
Do I need an API key or an AI subscription? +
No. It runs on your machine and downloads its own copy of yt-dlp if you don’t have one. Nothing goes to a service, which is the point — nobody ends up with a log of every video you looked at.
One video, or a whole channel? +
Any of them. A single video, a playlist, a channel, or a text file with one URL per line. It works out which you gave it and pulls the list.
Some videos came back with nothing. Is it broken? +
Probably not. Short clips, music videos, and anything with captions turned off have no transcript to get. It prints a coverage number when it finishes, and high nineties is a normal result on a real channel.
It said BOT-WALLED. +
You are on an IP YouTube does not trust, usually a VPN, a hotspot, or a datacenter connection. Switch to home Wi-Fi and run it again. It keeps an archive file, so the second run skips everything it already has instead of starting over.
What does it need to run? +
macOS and Python 3, which macOS already ships. The first launch pulls down the window library it uses, so it needs a connection once. After that it runs offline.
YouTube Transcript Grabber.
One purchase. Yours forever. No subscription.