YouTube Transcript & Subtitle Scraper (Fast Multi-Client)
Pricing
Pay per usage
YouTube Transcript & Subtitle Scraper (Fast Multi-Client)
Extract timestamped YouTube transcripts, plain text, SRT/VTT subtitles, chapters, and video metadata via multi-client Innertube API + yt-dlp fallback. $1.50/1,000 transcripts ($0.0015/item) with $0 start fee — 70-85% cheaper than existing scrapers. Built by Keene Digital Studio.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Keene Digital Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Transcript & Subtitle Scraper (Fast Multi-Client Engine)
Publisher: Keene Digital Studio
Pricing: $1.50 per 1,000 transcripts ($0.0015 per video transcript) · $0.00 Actor start fee
Speed: ~150ms–300ms per video via direct multi-client YouTube Innertube API + automatic yt-dlp fallback.
Why Switch to This Actor? (Transparent Pricing & Reliability Comparison)
Existing YouTube transcript scrapers on the Apify Store charge up to $10.00 per 1,000 videos while suffering from high datacenter IP failure rates (15.7% failed runs on pintostudio/youtube-transcript-scraper) or months of unmaintained staleness (starvibe/youtube-video-transcript).
Our engine uses a 4-stage multi-client extraction pipeline (IOS Innertube API → ANDROID Innertube API → ANDROID_VR Innertube API → Watch Page + yt-dlp extractor fallback) that extracts both manual and auto-generated (ASR) captions in <250ms without requiring expensive residential proxies.
| Feature / Metric | Keene Digital Studioyoutube-transcript-scraper | Incumbent #1pintostudio/youtube-transcript-scraper | Incumbent #2starvibe/youtube-video-transcript |
|---|---|---|---|
| Price per 1,000 Transcripts | $1.50 / 1k ($0.0015/item) | $10.00 / 1k ($0.01/item) | $5.00 / 1k ($0.005/item) |
| Actor Start Fee | $0.00 | $0.00 | $0.00 |
| Your Savings | Baseline | 85% Cheaper | 70% Cheaper |
| 30-Day Success Rate | >=98%+ Verified | 84.3% (15.7% hard failure rate) | Stale (7+ months without update) |
| Multi-Client Fallback | 4-Stage (iOS + Android + VR + yt-dlp) | Single client (breaks on bot check) | Legacy web parser |
| Output Formats Included | JSON Segments + Plain Text + SRT + VTT | JSON segments only | Plain text / basic segments |
| Rich Video Metadata & Chapters | Included Free (title, channel, views, chapters) | Limited | Limited |
Key Features
- 4-Stage Multi-Client Extraction: Automatically cycles through YouTube's native mobile Innertube clients (
IOS,ANDROID,ANDROID_VR), watch-page initial player response, andyt-dlpsubtitle extraction so your runs succeed reliably. - Smart Language Selection: Pass an ordered array of preferred language codes (e.g.
["en", "es", "de"]). Automatically falls back to English variants (en,en-US,en-GB) and then the first available manual or auto-generated caption track. - All Subtitle Formats in One Call:
segments: Timestamped JSON array ([{start, duration, end, text}, ...])fullText: Clean, LLM-ready plain text transcript with HTML entities decodedsrt: Complete SubRip (.srt) formatted subtitle file stringvtt: Complete WebVTT (.vtt) formatted subtitle file string
- Rich Video Metadata: Returns
videoId,url,title,channelName,channelId,viewCount,durationSeconds,uploadDate,chapters([{title, start_time, end_time}]),language,isAutoGenerated, andextractedVia. - Flexible Input: Accepts full watch URLs (
https://www.youtube.com/watch?v=...), short links (https://youtu.be/...), YouTube Shorts (https://www.youtube.com/shorts/...), embed links, or raw 11-character video IDs.
Input Example
{"videoUrls": ["https://www.youtube.com/watch?v=rfscVS0vtbw","https://youtu.be/aircAruvnKk"],"languages": ["en", "en-US"],"includeTimestamps": true,"includeSrt": true,"includeVtt": true,"preferAutoGenerated": false,"maxConcurrency": 5}
Output Example
[{"videoId": "aircAruvnKk","url": "https://www.youtube.com/watch?v=aircAruvnKk","title": "But what is a neural network? | Deep learning chapter 1","channelName": "3Blue1Brown","channelId": "UCYO_jab_esuFRV4b17AJtAw","viewCount": 19854120,"durationSeconds": 1120,"uploadDate": null,"chapters": [{ "title": "Introduction", "start_time": 0, "end_time": 67 },{ "title": "Neurons", "start_time": 67, "end_time": 215 }],"language": "en","isAutoGenerated": false,"extractedVia": "innertube_ios","segmentCount": 369,"fullText": "This is a 3. It's sloppily written and rendered at an extremely low resolution of 28x28 pixels...","segments": [{"start": 1.24,"duration": 4.12,"end": 5.36,"text": "This is a 3."}],"srt": "1\n00:00:01,240 --> 00:00:05,360\nThis is a 3.\n...","vtt": "WEBVTT\n\n00:00:01.240 --> 00:00:05.360\nThis is a 3.\n...","elapsedMs": 149}]
Local CLI Usage
$python3 -m src.main --input '{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}'
Built and maintained by Keene Digital Studio.