YouTube Transcript Scraper - Captions, Subtitles & Translation avatar

YouTube Transcript Scraper - Captions, Subtitles & Translation

Pricing

$4.00 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper - Captions, Subtitles & Translation

YouTube Transcript Scraper - Captions, Subtitles & Translation

Get YouTube transcripts and subtitles as plain text, timestamped text or timed segments. Pick languages, prefer manual captions, or translate into any language YouTube supports. Videos without captions are not charged.

Pricing

$4.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

Tony

Tony

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Categories

Share

What this YouTube transcript scraper does

It downloads the transcript of any YouTube video that has captions and returns it as plain text, timestamped text or timed segments. It works with regular videos, Shorts and live replays, and you can paste URLs or video IDs.

You choose which languages you want in order of preference. You can also ask YouTube to translate the transcript into another language. Videos without captions are reported and not charged.

What you get

  • text: the full transcript as one block of text, ready for an LLM, a summary or search
  • segments: every caption line with its start time and duration in seconds
  • timestampedText: optional, each line prefixed with [hh:mm:ss]
  • language, isAutoGenerated and isTranslated, so you know exactly what you got
  • availableLanguages: every caption language the video has
  • Video details: title, channel, channel ID, duration and view count

Typical uses

  • Feed video content into ChatGPT, Claude or a RAG pipeline
  • Summarize podcasts, lectures and interviews
  • Pull quotes and timestamps for clips and show notes
  • Research what competitors or creators say across many videos

Input

  • Videos: URLs (watch, youtu.be, Shorts, embed, live) or 11-character IDs
  • Preferred languages: for example en, then es. If none match, the first available track is used
  • Prefer human-made captions: uploaded captions win over auto-generated ones when both exist
  • Translate to: optional language code such as fr or ja

Output example

Values are illustrative.

{
"videoId": "jNQXAC9IVRw",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channel": "jawed",
"durationSeconds": 19,
"language": "en",
"isAutoGenerated": false,
"isTranslated": false,
"availableLanguages": ["de", "en", "es"],
"text": "All right, so here we are, in front of the elephants ...",
"segments": [
{ "start": 1.2, "duration": 3.4, "text": "All right, so here we are, in front of the elephants" }
],
"status": "ok"
}

status is ok, no_captions or unavailable (private, deleted or region locked). Only ok rows are charged.

Pricing

EventCharged when
transcripta transcript was returned for a video

FAQ

Does it transcribe videos that have no captions?

No. It reads the captions YouTube already has, including auto-generated ones.

Why use residential proxies?

YouTube limits requests from data center IPs. The default residential proxy setting keeps the failure rate low, and each retry uses a new IP.

How fast is it?

About 8 videos are processed in parallel by default, and you can raise that to 30.