Free tool
Download all transcripts from a YouTube channel
The whole back catalogue in one job: paste the channel link and get every transcript as one archive.
Can I download all the transcripts from a YouTube channel at once?
Yes. BulkTranscripts takes one channel URL and downloads every available transcript in a single job: up to 1,000 videos, which takes about 6½ minutes, with bigger channels run in blocks of 1,000. It covers regular videos, Shorts and live replays, and delivers a ZIP or one combined file. Each transcript costs one credit; the first 30 are free, then $4.99 for 200.
How to download every transcript from a YouTube channel
- Copy the channel link. Any form works: youtube.com/@handle, /channel/UC…, /c/name or /user/name.
- Paste it into the box at the top of this page. It is recognised as a channel.
- Choose how many videos to include, up to 1,000 per job. In the app you can also pick Shorts or Live instead of regular uploads.
- Press the button. Videos are fetched in parallel, about 2 per second; a 1,000-video channel took about 6½ minutes in our production runs.
- Download a ZIP with one file per video, or one combined file, as TXT, Markdown, SRT, VTT, CSV, JSON or an AI-ready file for ChatGPT, Claude or NotebookLM.
- More than 1,000 videos? In the app, set Start at # to 1001 for the next block, then 2001, and so on.
Every way to download a channel's transcripts
YouTube itself only shows one video's transcript at a time. These are the options people actually use, and what each one asks of you.
| Method | Whole channel at once | What you need | What you get | Cost |
|---|---|---|---|---|
| YouTube transcript panel | No, one video at a time | A browser | Text you select and copy by hand | Free |
| YouTube Studio | No, one video at a time, and only on channels you own | Access to the channel | An SRT, VTT or SBV subtitle file per video | Free |
| yt-dlp | Yes | The command line; long runs can be throttled or asked to sign in | Raw VTT caption files with rolling duplicate lines | Free |
| Browser extensions | Usually one video per click | Chrome | Varies by extension | Free or subscription |
| Apify actors | Yes | An Apify account and a run to configure | JSON, CSV or Excel datasets | Pay per result |
| BulkTranscripts | Yes, up to 1,000 videos per job, about 6½ minutes; bigger channels in blocks | Nothing to install: paste the channel link | Clean paragraphs as TXT, Markdown, SRT, VTT, CSV, JSON or one AI-ready file, in a ZIP or combined | 30 free, then $4.99 for 200 |
If you would rather run it yourself, this is the usual yt-dlp command. It writes one caption file per video and downloads no video:
yt-dlp --skip-download --write-auto-subs --sub-langs en "https://www.youtube.com/@handle/videos"Limitations to know before you start
- Only videos with captions have a transcript. In the last 30 days 4.8% of videos were skipped: no captions at all, members-only, private or age-restricted. They are listed in your results and never charged.
- These are YouTube's own captions, not a new transcription. 93% of the transcripts we hold are YouTube auto-captions, so names and jargon keep whatever mistakes the auto-captions made.
- 1,000 videos per job. A channel with 3,400 videos is four jobs: start at 1, 1001, 2001 and 3001. Videos are counted newest first.
- One language per job. English is requested first, or the language you pick; when a video has no track in that language, its available track is used. Nothing is machine-translated.
- Some videos fail on the first try. 1.2% of attempts failed in the last 30 days (blocks, timeouts, broken videos). Failures are not charged and can be retried in one click.
Channels over 1,000 videos, Shorts and live streams
Large channels run in blocks of up to 1,000. When a block finishes full, the app offers the next one with Start at # already filled in, and videos you already have come back from your library free, so overlapping blocks cost nothing extra. Shorts and live-stream replays sit on their own channel tabs on YouTube; in the app, choose Shorts or Live as the type to pull those instead of regular uploads.
What it costs
Your first 30 transcripts are free with no card. After that, one transcript is one credit, sold in one-time packs that never expire: $4.99 for 200, $14.99 for 1,200 (enough for a 1,000-video channel) and $29 for 5,000. Re-downloading anything already in your library, in any format, is free.
What a full-archive export looks like
You get a ZIP containing one file per video, named after the video, plus a combined document with everything in sequence and a _manifest.json listing every video with its ID, title, link, language, and word count, so the archive is programmatically usable, not just a folder of text. Combined files over 500,000 words are split into numbered parts so each one fits as a NotebookLM source.
Archiving before videos disappear
Channels get deleted, videos get privated, and creators edit history. A local transcript archive is a durable record of what was actually said, timestamped and attributable. This is the standard reason researchers and OSINT folks bulk-export.
Re-running later only fetches what is new
Because everything is cached, running the same channel again next month pulls only the videos published since. Existing transcripts come back instantly and cost nothing.
What real jobs look like
Numbers from our production database, not a benchmark we staged. Pulled October 14, 2026, covering the last 30 days unless noted.
| Measure | Result | What it means |
|---|---|---|
| Jobs completed | 1,652 | Video, playlist and channel jobs from the app, API and MCP, last 30 days |
| Transcripts delivered | 58,779 | Same window, counting each video once per job |
| Videos that returned a transcript | 94.0% | Out of every video a job attempted |
| Videos skipped | 4.8% | No captions, members-only, private or age-restricted. Listed in the results, never charged |
| Genuine failures | 1.2% | Blocks, timeouts, broken videos. Not charged |
| Fresh fetch, per video | 4.2 s median, 12 s p90 | Jobs fetch many videos in parallel, so a channel is not N × this |
| Speed of a big job | about 2 new videos per second | A 1,000-video channel with almost nothing cached took about 6½ minutes |
| Repeat read from your library | 0.08 s median | Free, in any format |
| Largest single job | 1,000 videos | The per-job cap |
The 4.8% skipped are the main thing to expect: YouTube only has a transcript when the creator uploaded captions or auto-captions were generated, and members-only or private videos cannot be read at all. Those videos are listed in your results so you know exactly what was missing.
Questions
Is there any way to copy all the transcripts of one YouTube channel at once?
Yes. YouTube itself only shows one video's transcript at a time, but pasting the channel URL (for example youtube.com/@channelname) here pulls every video on the channel that has captions in one job, then gives you a ZIP or a single combined file. The same works from ChatGPT or Claude through the MCP connector.
How long does a whole channel take?
About 2 new videos per second. In our production runs a 1,000-video channel finished in about 6½ minutes and a 400-video channel in under 3 minutes. Videos already in the shared cache come back almost instantly.
How many videos can I download at once?
Up to 1,000 per job, run in parallel with live progress. For bigger channels, run the next block with Start at # set to 1001, 2001 and so on; cached videos are never re-fetched.
Does it include Shorts and live streams?
Yes. In the app, set the type to Shorts or Live to pull a channel's Shorts tab or its live-stream replays. Regular uploads are the default.
Will I lose the transcripts if I close the tab?
No. Runs keep going on our side, and everything you extract is stored in your library and can be re-exported in any format later.
Can I delete an entire channel from my library?
Yes. The library groups by channel and by source job, and each group has its own export and delete actions.