Video Transcript Scraper — YouTube, Vimeo, TED & 1000+ Sites avatar

Video Transcript Scraper — YouTube, Vimeo, TED & 1000+ Sites

Pricing

Pay per usage

Go to Apify Store
Video Transcript Scraper — YouTube, Vimeo, TED & 1000+ Sites

Video Transcript Scraper — YouTube, Vimeo, TED & 1000+ Sites

Extract video transcripts + metadata from YouTube, Vimeo, TED & 1000+ sites that publish captions, in any language. JSON + LLM-ready Markdown + RAG chunks. No API key. Pay per result. (TikTok/X limited.)

Pricing

Pay per usage

Rating

0.0

(0)

Developer

[R] Kuantum

[R] Kuantum

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

5 days ago

Last modified

Share

🎬 Video Transcript Scraper — YouTube, Vimeo, TED & 1000+ Sites → JSON + LLM

Turn any captioned video into clean, structured, AI-ready text. Extract transcripts and metadata from YouTube, Vimeo, TED, Dailymotion, Rumble, Loom, Twitch — and 1,000+ other sites that publish captions — in any available language. Every result ships as JSON and LLM-ready formats (clean Markdown + token-aware RAG chunks), so it drops straight into ChatGPT, Claude, a vector database, or your analytics pipeline.

No API keys. No monthly lock-in. Pay only for what you extract.

YouTube is the flagship and works great. TikTok, X (Twitter), Facebook, and Instagram are limited — see Supported platforms before you rely on them.


⚡ Why people choose this scraper

This ActorTypical transcript scrapers
LLM-ready RAG chunks (timestamped, token-sized)✅ Built in❌ Raw text only
Sites supported✅ 1,000+ with captions⚠️ 1–3 platforms
Languages✅ Any available + variant fallback⚠️ Often English-only
YouTube reliability (JS-challenge / PoToken solved)✅ Yes⚠️ Breaks often
Pricing✅ Pay-per-result, no subscription❌ $19.99+/mo rental
Output formats✅ JSON · text · Markdown · chunks⚠️ One format

The edge in one line: every other transcript scraper hands you raw captions and stops. This one hands you embedding-ready chunks and clean Markdown — the exact shape AI apps need — across 1,000+ sites, for a pay-per-use price instead of a monthly rental.

🚀 What you can build with it

  • A "chat with any YouTube channel" bot — transcribe a creator's back-catalog, embed the chunks, ship a RAG assistant.
  • Competitor & content listening — bulk-pull YouTube, podcast, webinar, and conference-talk transcripts and run sentiment or topic analysis.
  • Research datasets — thousands of talks/podcasts/interviews as clean, timestamped text in any language.
  • Content repurposing — turn a video into a blog post, summary, or show notes with the Markdown output.
  • Training / fine-tuning data — normalized transcripts across platforms, ready to feed a model.

🌍 Supported platforms

The actor works on any site that exposes a caption/subtitle track the yt-dlp engine can fetch. In practice that splits into two tiers:

✅ Full transcript support — reliably return transcripts: YouTube (the flagship) · Vimeo · TED · Dailymotion · Rumble · Loom · Twitch VODs · Coursera · Bilibili · SoundCloud — plus hundreds more of yt-dlp's 1,000+ sites that publish subtitles.

⚠️ Limited supportTikTok · X (Twitter) · Facebook · Instagram: these platforms usually require login/cookies and most posts don't expose a caption track, so transcripts are frequently unavailable. In testing, TikTok returned a "login required" error and Facebook timed out on datacenter/residential IPs. You may get metadata only (with Best effort on), or nothing without cookies. Don't buy this actor for TikTok or X transcripts — it isn't reliable for them today.

Extraction needs the video to expose a caption track (human or auto-generated). No-caption videos return metadata only — flip on Best effort to still get a row.

Only need YouTube? There's a focused YouTube Transcript API edition — same engine, YouTube-scoped listing.

📥 Input

FieldTypeDefaultDescription
videoUrlsarray— (required)Video/audio URLs, or channel/playlist URLs (auto-expanded into their videos).
maxVideosPerListinteger20Cap per channel/playlist (max 200; total run ceiling 1,000).
languagestringenPreferred subtitle language; falls back to closest variant (eses-419).
includeAutoCaptionsbooleantrueUse auto-generated captions when no human track exists.
outputFormatsarrayalljson, text, markdown, chunks.
chunkTokensinteger400Tokens per RAG chunk (a real, enforced cap — accurate for CJK too).
tokenizerstringo200kTokenizer for sizing/counts: o200k (GPT-4o / embedding-3), cl100k (ada-002 / GPT-3.5-4), or chars (fast heuristic).
translateTostringAlso return the transcript translated to this language (e.g. es). YouTube-only, best-effort.
includeTimestampsbooleantrueInclude per-segment start/end array.
bestEffortbooleanfalseEmit metadata even without a transcript.
maxConcurrencyinteger5Videos processed in parallel.
proxyConfigurationobjectDatacenterEnable residential for reliable YouTube extraction at scale.
{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.ted.com/talks/sir_ken_robinson_do_schools_kill_creativity"
],
"language": "en",
"outputFormats": ["json", "text", "markdown", "chunks"],
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

📤 Output

One dataset item per URL. Real output from an example run — Steve Jobs' 2005 Stanford Commencement (input: {"videoUrls":["https://www.youtube.com/watch?v=UF8uR6Z6KLc"]}) → 341 timestamped segments, 7 RAG chunks with exact o200k token counts:

{
"platform": "youtube",
"title": "Steve Jobs' 2005 Stanford Commencement Address",
"channel": "Stanford",
"duration": 904,
"view_count": 48703066,
"upload_date": "2008-03-08",
"available_languages": ["en", "es", "fr", "ja", "..."],
"transcript_found": true,
"selected_language": "en",
"text": "[Music] this program is brought to you by Stanford University. I am honored to be with you today...",
"transcript": [{ "text": "[Music]", "start": 1.57, "end": 8.96 }],
"markdown": "# Steve Jobs' 2005 Stanford Commencement Address\n\n**Channel:** Stanford \n**Duration:** 15:04\n\n---\n\n[Music] this program is brought to you by...",
"chunks": [
{ "chunk_index": 0, "text": "[Music] this program is brought to you by Stanford University...", "start": 1.57, "end": 164.76, "token_estimate": 385 }
]
}
  • text — full cleaned transcript.
  • transcript — timestamped segments.
  • markdown — metadata header + paragraphed body, ready to paste into an LLM.
  • chunks — token-aware, timestamped chunks, ready to embed for RAG. Sizing and token_estimate use a real tokenizer (tiktoken, default o200k_base), so chunkTokens is an accurate, enforced cap even for Chinese/Japanese/Korean, emoji, and code (a chars/4 heuristic under-counts those ~2–3×). Counts are an accurate proxy for Claude/Gemini, which don't ship offline tokenizers.

💸 Pricing

Pay-per-result — you pay per video successfully transcribed, with no monthly subscription. Run one video or ten thousand; the cost scales with what you actually use. Free Apify tier available to try it.

❓ FAQ

How do I get a YouTube transcript in bulk? Paste any number of YouTube URLs into videoUrls and run — you get JSON + Markdown + chunks for each.

Does it work without captions on the video? It reads existing subtitle tracks (human or auto-generated). If a video truly has none, enable bestEffort to still capture metadata.

Some YouTube videos fail — why? YouTube blocks shared datacenter IPs. Turn on Residential proxy in the input (Proxy configuration → Residential); the default datacenter proxy is fine for TED, Vimeo, Loom, and most other sites.

Can I get the transcript translated? Set translateTo (e.g. es) and the result includes a translated object alongside the original. It uses YouTube's auto-translation, so it's YouTube-only and best-effort — not every video/language is offered; translated is null when it isn't. Adds a second extraction per video.

Can I transcribe a whole channel or playlist? Yes — paste a channel or playlist URL into videoUrls and it expands into that list's videos (most recent first), bounded by maxVideosPerList (default 20, max 200) and a 1,000-video run ceiling. A /watch?v=…&list=… link is treated as the single video, not the playlist.

Does it work for TikTok / X / Facebook / Instagram? Only in a limited way. Those platforms usually require login/cookies and most posts have no caption track, so transcripts are often unavailable — see Supported platforms. Use this actor for YouTube, Vimeo, TED, and other sites that publish captions.

Which languages are supported? Any language the source exposes. Ask for en, es, fr, pt, de, etc.; it falls back to the nearest variant automatically.

Do I need my own API key? No. Just add URLs and run.

Is this legal? It extracts publicly available subtitle tracks. You're responsible for respecting each platform's Terms of Service and applicable copyright/data-protection law — only process content you're permitted to access.


Keywords: video transcript scraper, YouTube transcript API, subtitle extractor, captions to JSON, transcript for LLM, RAG, video to text, bulk transcript, podcast transcript, webinar transcript, TED transcript, Vimeo transcript, any language subtitles.