YouTube Transcript Scraper — subtitles & captions to text avatar

YouTube Transcript Scraper — subtitles & captions to text

Pricing

$5.00 / 1,000 transcript fetcheds

Go to Apify Store
YouTube Transcript Scraper — subtitles & captions to text

YouTube Transcript Scraper — subtitles & captions to text

Video URLs or IDs in, full transcripts out: plain text plus timestamped segments, language selection, auto-generated and manual captions. Videos without transcripts are reported and never charged.

Pricing

$5.00 / 1,000 transcript fetcheds

Rating

0.0

(0)

Developer

Opklaar

Opklaar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Video URLs (or bare IDs) in, complete transcripts out — as clean plain text, readable paragraphs, SRT, WebVTT, or timestamped JSON. Manual subtitles and auto-generated captions both supported, with language preference, optional translation, and video metadata.

  • Five output formats in one call: plain text, readable paragraphs, srt, vtt, and timestamped segments — all built from the same fetch, one charge
  • Any URL form: watch?v=, youtu.be/, /shorts/, /embed/, /live/, or a bare 11-character ID
  • Language control: pass preference order (en, de, …); falls back to the first available transcript so you still get text
  • Translation: set translateTo (e.g. en) to get the transcript in your target language when the source supports it
  • Video metadata: title, channel, and thumbnail included by default (public oEmbed, no key)
  • Block-resistant: automatic residential-proxy retry when YouTube rate-limits datacenter IPs
  • Honest pricing: you pay only when a transcript is actually delivered. No captions, private/removed videos, or blocks → reported clearly, never charged

Input

{
"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"],
"languages": ["en"],
"outputFormats": ["text", "srt"],
"translateTo": "",
"includeMetadata": true,
"useApifyProxy": true
}

Output (one dataset item per video)

{
"video_id": "jNQXAC9IVRw",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channel": "jawed",
"thumbnail": "https://i.ytimg.com/vi/jNQXAC9IVRw/hqdefault.jpg",
"language": "English",
"language_code": "en",
"auto_generated": false,
"translated": false,
"text": "All right, so here we are in front of the elephants…",
"srt": "1\n00:00:00,000 --> 00:00:03,200\nAll right, so here we are…\n",
"word_count": 4213,
"segment_count": 512,
"duration_covered_s": 1180.4
}

Only the formats you request appear (plus always text's word_count/segment_count).

Pricing

One event: transcript-fetched — charged only for videos where you actually received a transcript, regardless of how many formats you ask for. Everything else (no captions, video unavailable, temporary block) is free and reported with a clear error field.

Typical uses

  • LLM pipelines: summarize, chapterize, or answer questions over video content
  • Subtitle files: export ready-to-use .srt / .vtt for editing or upload
  • Content research: bulk-pull transcripts of a channel's videos for topic mining
  • Accessibility & SEO: publish text versions of video content
  • Clip discovery: segments output + keyword search over start times

Works with AI agents

Exposed via Apify's MCP server — agents can call "get the transcript of this video and summarize the key claims" as a single tool step.

FAQ

Does it handle auto-generated captions? Yes — flagged as auto_generated: true so you know the quality tier.

Can it translate? Yes — set translateTo to a language code. When the source transcript is translatable, the result comes back translated (flagged translated: true). If not, you get the original with its language reported.

Which format should I use? text for LLMs, paragraphs for reading/publishing, srt/vtt for subtitle files, segments for timestamp-precise clip search.

Bulk? Pass as many URLs as you want; each video is one dataset row, failures never charged.