YouTube Transcript Scraper 📝 Text + SRT — $0.01/video
Pricing
$10.00 / 1,000 video transcript scrapeds
YouTube Transcript Scraper 📝 Text + SRT — $0.01/video
YouTube video transcripts as clean text, timestamped segments and SRT — creator subtitles or the original auto-generated captions, never machine translations. No API key, no cookies. $0.01 per video with a transcript; videos without captions are free.
Pricing
$10.00 / 1,000 video transcript scrapeds
Rating
0.0
(0)
Developer
viralanalyzer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
📝 YouTube Transcript Scraper — Captions to Text, Timestamps & SRT
$0.01 per video with a transcript · videos without captions are free · 🔒 no API key, no cookies · 🌍 any caption language 🔗 View on Apify Store · 🇺🇸 English · 🇧🇷 Português
Get the transcript of any YouTube video — the subtitles uploaded by the creator or YouTube's original auto-generated captions — as clean text, timestamped segments and a ready-to-use SRT file. Paste watch, youtu.be, Shorts, embed or live-replay links (up to 500 per run). No YouTube Data API key, no quota, no login.
Who it's for: content and SEO teams repurposing videos into posts, researchers and journalists quoting talks, developers building search, RAG and summarization over video, accessibility teams, ad and brand monitoring.
▶️ Click Try for free — the prefilled example returns a real 3,300-word transcript in about 10 seconds.
✨ Features
- 📝 Real captions, never machine translation — creator subtitles first, then the original-language auto captions. Auto-translated tracks are never delivered.
- 🌍 Language control — ask for
en,pt,pt-BR,es,ja…; if the video has no track in that language the original track is delivered and flagged (languageFallback: true), or usestrictLanguageto get a freeNO_CAPTIONSinstead. - ⏱️ Timestamps + SRT —
segments[]with start/end seconds and ansrtstring, pluswordCountandsegmentCount. - 📊 Video metadata — title, channel, duration, upload date, view count, and the list of caption languages available (
availableLanguages). - 🛡️ Honest empty results — videos without captions come back with
hasTranscript: falseanderrorCode: NO_CAPTIONSand are not charged. - ⛑️ Block-proof — runs through residential proxies (YouTube bot-checks datacenter IPs) and retries blocked videos through a second provider automatically.
- ⚡ Fast and light — no media download, ~0.4 MB of traffic per video, 4 videos in parallel by default.
📥 Input
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | array | — | YouTube URLs or 11-char video IDs (max 500). Required. |
language | string | en | Preferred caption language (ISO 639-1, regional codes accepted). |
preferManual | boolean | true | Creator subtitles before auto-generated captions. |
strictLanguage | boolean | false | No fallback: NO_CAPTIONS (free) when the preferred language is missing. |
includeTimestamps | boolean | true | Add segments[]. |
includeSrt | boolean | true | Add srt. |
maxConcurrency | integer | 4 | Videos fetched in parallel (1–8). |
proxyConfiguration | object | RESIDENTIAL | Keep residential — YouTube blocks datacenter IPs. |
useBrightDataFallback | boolean | true | Retry blocked videos through a second provider (slower). |
brightDataApiToken | secret | — | Optional: your own provider token for the fallback. |
📤 Output (per video)
{"url": "https://www.youtube.com/watch?v=aircAruvnKk","videoId": "aircAruvnKk","title": "But what is a neural network? | Deep learning chapter 1","channel": "3Blue1Brown","durationSeconds": 1120,"uploadDate": "2017-10-05","hasTranscript": true,"languageCode": "en","isAutoGenerated": false,"languageFallback": false,"availableLanguages": { "manual": ["en", "pt-BR", "…"], "auto": ["en"] },"transcript": "This is a 3. It's sloppily written and rendered at an extremely low resolution…","wordCount": 3357,"segmentCount": 286,"segments": [{ "start": 4.22, "end": 5.4, "duration": 1.18, "text": "This is a 3." }],"srt": "1\n00:00:04,220 --> 00:00:05,400\nThis is a 3.\n","source": "youtube-captions","_dataQuality": "transcript"}
Videos without captions: hasTranscript: false, transcript: null, errorCode: "NO_CAPTIONS", _dataQuality: "no_captions" (free). Unavailable/private videos: errorCode: "UNAVAILABLE" (free). Invalid links: errorCode: "INVALID_URL" (free).
🎯 Use cases
- Turn talks, tutorials and podcasts into articles, newsletters and social posts.
- Feed video knowledge into RAG pipelines, search indexes and LLM summarizers.
- Quote and fact-check interviews with exact timestamps.
- Monitor what creators and competitors say about your brand (pair with our YouTube channel and comment scrapers).
- Generate subtitle files (
srt) for re-uploads and translations.
✅ Capabilities & Limits
- Works on public videos, Shorts and finished live streams that have captions (creator-uploaded or auto-generated). Videos with captions disabled by the creator return
NO_CAPTIONS. - Members-only, private and age-restricted videos are reported as
UNAVAILABLE(free). - Auto-generated captions carry YouTube's own recognition quality — punctuation may be sparse. Need speech-to-text on a video without captions? Use our Video Transcriber (Whisper).
- Timestamps are those of the caption lines (per line, not per word).
- 500 videos per run; typical throughput ≈ 20–40 videos per minute with the default concurrency.
❓ FAQ
Q: Do I need a YouTube API key or cookies? A: No. The actor reads the caption tracks YouTube serves publicly.
Q: What if the video has captions only in another language?
A: You get the original-language track and languageFallback: true. Set strictLanguage: true to receive a free NO_CAPTIONS instead. Machine-translated tracks are never delivered.
Q: Why residential proxies? Does that cost extra? A: YouTube answers datacenter IPs with a bot check. The actor transfers only ~0.4 MB per video (the caption file and player data, never the media), so proxy usage stays negligible — and the actor's own platform usage is included in the $0.01, you don't pay it separately.
Q: A video came back BLOCKED. What now?
A: The actor already retried it through a second provider. Run it again in a few minutes; if it keeps happening, tell us via the Issues tab and we'll investigate.
Q: Can I get word-level timestamps or speaker labels? A: Not from YouTube captions. Use Video Transcriber for Whisper-based transcription.
💰 Pricing
Pay per event — $0.01 per video with a transcript (video-transcript-scraped). Videos without captions, unavailable videos and invalid links are free. Platform usage (compute, proxy) is included in the price. Runs stop automatically when your maximum charge per run is reached.
🔗 Related actors
- Video Transcriber — Whisper speech-to-text for videos without captions (TikTok, Instagram, YouTube…).
- Audio Transcriber — Whisper for audio files and podcasts.
- YouTube Comments Scraper · YouTube Channel Leads
📝 Changelog
- 1.0.0 (2026-08-29) — first release: creator subtitles + original auto captions, timestamps, SRT, language preference with honest fallback, residential proxies, second-provider retry for blocked videos, pay only for delivered transcripts.
🇧🇷 Português
Transcrição de vídeos do YouTube — as legendas enviadas pelo criador ou as legendas automáticas originais do YouTube — em texto limpo, segmentos com timestamps e arquivo SRT. Aceita links watch, youtu.be, Shorts, embed e lives encerradas (até 500 por execução). Sem API key, sem cookies, sem login.
✨ Recursos
- Legendas reais, nunca tradução automática (faixas auto-traduzidas são ignoradas).
- Escolha o idioma (
pt,pt-BR,en,es…); sem faixa nesse idioma, entrega a original comlanguageFallback: true— ou usestrictLanguagepara receberNO_CAPTIONSgrátis. segments[]com início/fim em segundos,srtpronto,wordCount, metadados do vídeo e a lista de idiomas disponíveis.- Vídeos sem legenda voltam com
hasTranscript: falsee não são cobrados. - Proxies residenciais (o YouTube bloqueia IPs de datacenter) e nova tentativa por um segundo provedor quando bloqueado.
💰 Preço
$0,01 por vídeo com transcrição (video-transcript-scraped). Vídeos sem legenda, indisponíveis ou links inválidos não são cobrados. Uso da plataforma (computação e proxy) incluído no preço.
❓ FAQ
Precisa de API key ou cookies? Não.
E se o vídeo só tiver legenda em outro idioma? Você recebe a faixa original com languageFallback: true; com strictLanguage: true recebe NO_CAPTIONS grátis.
Vídeo sem legenda nenhuma? Use o Video Transcriber (Whisper) — transcreve o áudio.
📝 Changelog
- 1.0.0 (2026-08-29) — primeira versão.