Home / How To / Video transcripts

How to

How to download YouTube transcripts in bulk

Copying transcripts one video at a time does not scale, and transcript libraries get IP-blocked on servers.

Short answer

Give the Video Transcript Scraper a channel or a list of video URLs. It returns one row per video with the full transcript and timestamps. It runs through rotating proxies, so you do not hit YouTube's IP blocks.

A real use case

A team builds a support chatbot from a software company's 200 tutorial videos. They enter the channel, pull 200 transcripts with segments, and load them into their vector database the same afternoon.

Step by step

  1. Add a channel under Profiles or channels, or paste video URLs.
  2. Set latest videos per profile.
  3. Keep segments on if you need timestamps for citations.
  4. Run and export JSON for your pipeline.

Input (paste into the JSON tab)

{
  "profiles": [
    "https://www.youtube.com/@yourchannel"
  ],
  "maxVideosPerProfile": 200,
  "speechToText": "fallback",
  "includeSegments": true
}

What you get back

{
  "platform": "youtube",
  "title": "How to set up SSO in 5 minutes",
  "transcript": "In this video we'll connect your identity provider...",
  "transcriptSource": "subtitles",
  "wordCount": 912,
  "segments": [
    {
      "start": 0.0,
      "end": 4.2,
      "text": "In this video we'll connect"
    }
  ]
}

Trimmed example. Names and numbers are illustrative; your run returns real data with more fields.

Tips

What it costs

$2 per 1,000 transcripts. 200 videos cost about $0.40.

Plus a small per-run start fee. Apify's free plan includes monthly credit, enough to test. Check the listing for current pricing.

FAQ

Do I need a YouTube API key?

No. The official API does not return transcript text anyway.

What about videos without captions?

With speechToText on fallback, those go through speech-to-text.

Related

Try it on your own data

Paste the input above, run it, and see your results in a couple of minutes.

Open Video Transcript Scraper