YouTube Transcript Scraper — Captions + AI ASR Fallback avatar

YouTube Transcript Scraper — Captions + AI ASR Fallback

Pricing

from $1.50 / 1,000 successful transcripts

Go to Apify Store
YouTube Transcript Scraper — Captions + AI ASR Fallback

YouTube Transcript Scraper — Captions + AI ASR Fallback

Extract transcripts from any YouTube video, Shorts, or playlist as LLM-ready JSON with timestamps, language info, and title. Get plain text plus SRT/VTT subtitles. Caption-less videos are transcribed with GPU AI instead of failing. Pay only for delivered transcripts.

Pricing

from $1.50 / 1,000 successful transcripts

Rating

0.0

(0)

Developer

lexiie

lexiie

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

YouTube Transcript API — Captions + AI ASR Fallback

Give the Actor a YouTube video or playlist and get machine-readable transcripts back: plain text, timestamped segments, and SRT/VTT subtitles. When a video has no captions, the Actor falls back to GPU AI transcription instead of failing — so you never get an empty result.

What can it do?

📦 What you get⚙️ Features
📝 Plain-text transcript of any public video🎬 Video + playlist inputs (playlist expands to per-video items)
⏱️ Timestamped segments (text/start/duration)🌍 Language selection + fallback chain (enidja → any)
📄 SRT + WebVTT subtitle contents🌐 Auto-translate via YouTube (free, optional targetLanguage)
🤖 AI transcripts for caption-less videos🛡️ Partial failure — one bad video never kills the run
📊 Structured JSON ready for LLMs & RAG🔁 Retry + proxy rotation with machine-readable error codes

Typical uses: RAG pipelines, research, content analysis, dataset generation, search indexing, and repurposing video into articles or shorts scripts.

What data do I get per video?

One dataset item per video. Successful items carry the transcript in 4 formats at once; failed videos carry a structured error and cost nothing.

Success sample

{
"status": "success",
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"language": "en",
"requestedLanguage": "en",
"transcriptType": "MANUAL",
"text": "We're no strangers to love...",
"segments": [{ "text": "We're no strangers to love", "start": 18.64, "duration": 3.24 }],
"srt": "1\n00:00:18,640 --> 00:00:21,880\nWe're no strangers to love\n",
"vtt": "WEBVTT\n\n00:00:18.640 --> 00:00:21.880\nWe're no strangers to love\n"
}

transcriptType tells you which engine produced it: MANUAL / AUTO_GENERATED (YouTube captions) or ASR_GENERATED (GPU fallback). error.path on failures tells you the same: "caption" or "asr".

Failed sample (always free)

{
"status": "failed",
"videoId": "abc123",
"url": "https://www.youtube.com/watch?v=abc123",
"error": { "code": "TRANSCRIPT_NOT_AVAILABLE", "message": "...", "path": "asr" }
}

How much does it cost?

Pay-per-event — you pay per successful transcript, never for failures, and never per minute of video. A 5-minute video and a 2-hour video cost the same flat AI price, unlike per-minute STT APIs that bill $0.12–$4.00 per audio hour.

EventFREEBRONZE (Starter)SILVER (Scale)GOLD (Business)
successful-transcript (captions)$0.003 ($3/1K)$0.0025 ($2.5/1K)$0.002 ($2/1K)$0.0015 ($1.5/1K)
successful-transcript-asr (AI fallback)$0.10$0.09$0.08$0.07

Example: on the Free plan's $5 monthly credits you can extract ≈1,600 caption transcripts; an ASR fallback costs a flat $0.10 whatever the video length (up to 2h). See the Pricing tab for your plan's exact rates.

How do I use it?

  1. Create a free Apify account.
  2. Open YouTube Transcript API in Apify Console.
  3. Paste one or more YouTube URLs (video, Shorts, or playlist).
  4. Pick language (e.g. en) and optional fallbackLanguages (e.g. id).
  5. Click Save & Start.
  6. Download the dataset as JSON/CSV/Excel, or pull it via API/MCP.

Input

Paste this URLWhat happens
youtube.com/watch?v=IDSingle video transcript
youtu.be/ID, .../shorts/ID, .../embed/IDSingle video transcript
youtube.com/playlist?list=IDOne item per video, with playlistId + videoIndex
watch?v=ID&list=PLAYLISTSingle video — unless expandWatchPlaylist: true, then the whole playlist
{
"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"language": "en",
"fallbackLanguages": ["id"],
"targetLanguage": "",
"includeTimestamps": true,
"expandWatchPlaylist": false,
"enableAsrFallback": false
}
  • targetLanguage (e.g. "id"): auto-translate via YouTube, free. If translation fails the original is kept (translationStatus: failed).
  • enableAsrFallback: true: transcribe via GPU AI when captions are missing (slower, billed as successful-transcript-asr). Off by default.
  • Limits: max 100 videos/run, max 2h per video for ASR, max 10 ASR jobs/run.

Output views

The Output tab has 3 views: Overview (one row per video), Segments (timestamped captions), and Subtitles (SRT/VTT contents).

Use-case recipes

  • RAG over videos: playlist URL → per-video text + segments → chunk by segment timestamps → embed. Re-run weekly for channels; new videos append.
  • Content repurposing: single video → text → LLM article/thread script; srt doubles as upload-ready subtitles for reposted clips.
  • Research corpus: 100 URLs/run → language + transcriptType columns let you filter manual vs auto captions before analysis.

FAQ

What if a video has no captions? With enableAsrFallback: false (default) you get a structured TRANSCRIPT_NOT_AVAILABLE failure, free. With true, GPU AI transcribes it (ASR_GENERATED), flat price regardless of duration.

Am I charged for failed videos? Never — private, removed, caption-less (without fallback), or over-limit videos cost $0.

How long does a run take? Caption transcripts take seconds per video (3 concurrent workers). Each ASR fallback takes minutes (GPU job); caption results stream into the dataset first, ASR results follow.

Does it download video or audio? The caption path downloads nothing but caption text. The ASR fallback processes audio on ephemeral GPU workers; no media is stored.