YouTube Transcript Scraper 📝 Text + SRT — $0.01/video avatar

YouTube Transcript Scraper 📝 Text + SRT — $0.01/video

Pricing

$10.00 / 1,000 video transcript scrapeds

Go to Apify Store
YouTube Transcript Scraper 📝 Text + SRT — $0.01/video

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

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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 use strictLanguage to get a free NO_CAPTIONS instead.
  • ⏱️ Timestamps + SRTsegments[] with start/end seconds and an srt string, plus wordCount and segmentCount.
  • 📊 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: false and errorCode: NO_CAPTIONS and 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

FieldTypeDefaultDescription
videoUrlsarrayYouTube URLs or 11-char video IDs (max 500). Required.
languagestringenPreferred caption language (ISO 639-1, regional codes accepted).
preferManualbooleantrueCreator subtitles before auto-generated captions.
strictLanguagebooleanfalseNo fallback: NO_CAPTIONS (free) when the preferred language is missing.
includeTimestampsbooleantrueAdd segments[].
includeSrtbooleantrueAdd srt.
maxConcurrencyinteger4Videos fetched in parallel (1–8).
proxyConfigurationobjectRESIDENTIALKeep residential — YouTube blocks datacenter IPs.
useBrightDataFallbackbooleantrueRetry blocked videos through a second provider (slower).
brightDataApiTokensecretOptional: 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.

📝 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 com languageFallback: true — ou use strictLanguage para receber NO_CAPTIONS grátis.
  • segments[] com início/fim em segundos, srt pronto, wordCount, metadados do vídeo e a lista de idiomas disponíveis.
  • Vídeos sem legenda voltam com hasTranscript: false e 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.