Back to blog
tutorial·ScriptBase Team·2 min read

How to Get YouTube Transcripts in Bulk

Extract timestamped transcripts from any YouTube video, Short or live stream — one at a time or a whole channel. Native captions first, speech-to-text when there are none.

youtubetranscriptssubtitlesno-code

Copying a transcript out of one YouTube video is a nuisance. Doing it for a hundred is a project — the kind that quietly becomes someone's whole week. The YouTube Transcript Scraper turns it back into a single step, and it does not care whether the video has captions.

Captions first, speech-to-text when there are none

Most transcript tools do one of two things: read the video's existing caption track, or run speech-to-text. Reading captions is fast and free but fails on videos that have none. Speech-to-text always works but costs money and time on every video, even the ones that already have perfectly good captions.

This actor does captions first and only falls back to a speech model when a video genuinely has no captions. You get a result either way, and you do not pay the speech-to-text cost on videos that never needed it.

What you get

{
"platform": "youtube",
"language": "en",
"duration_sec": 213,
"full_text": "Never gonna give you up…",
"segments": [
{ "start": 0.0, "end": 4.1, "text": "Never gonna give you up" }
]
}

Ask for text and you get the transcript as a plain string. Ask for srt or vtt and you get a subtitle file you can drop straight into an editor. Every segment carries a start and end time, which is what makes the transcript searchable, clippable and citable rather than just a wall of words.

Run it without code

  1. Open the YouTube Transcript Scraper on Apify.
  2. Paste a video, Short or live-stream URL.
  3. Pick a format — JSON, plain text, SRT or VTT.
  4. Click Start, then export.

Run it from code

Terminal window
curl -X POST \
"https://api.apify.com/v2/acts/scriptbase~youtube-transcript/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "format": "srt" }'

Doing a whole channel

For a channel's full back catalogue, pair this with the YouTube Channel Videos Scraper: list every upload's URL, then feed those URLs through the transcript actor. Two steps, a complete archive.

Try it free first

The free YouTube transcript tool runs in your browser and previews from cache — good for a single video or checking the output shape. When you need bulk, or captions the free path can't reach, the actor takes over.