YouTube Transcript Scraper — $0.002 per video
Pricing
from $2.00 / 1,000 transcript scrapeds
YouTube Transcript Scraper — $0.002 per video
Extract YouTube video transcripts and subtitles as clean structured JSON with timestamps, language info and video title. Manual and auto-generated captions, any language. Only $0.002 per transcript — the cheapest on Apify; failed videos are never charged.
Pricing
from $2.00 / 1,000 transcript scrapeds
Rating
0.0
(0)
Developer
Steffano van Hoven
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
What does YouTube Transcript Scraper do?
YouTube Transcript Scraper extracts the full transcript (subtitles/captions) of any YouTube video as clean, structured JSON — for just $0.002 per transcript, the cheapest on Apify. Paste video URLs or IDs, run the Actor, and get the complete spoken text with timestamps, language info, and video title. It supports both manual captions and auto-generated captions in any language YouTube offers.
Because it runs on the Apify platform, you get API access, scheduling, webhooks, integrations (Make, Zapier, n8n, LangChain, MCP), and monitoring out of the box.
Why use YouTube Transcript Scraper?
- Cheapest per-transcript price on Apify: $0.002. Comparable actors charge $0.005-$0.01 per transcript — 2.5× to 5× more.
- You only pay for delivered transcripts. Videos without captions, unavailable videos, or blocked requests are never charged.
- Built for AI workflows. Feed transcripts into RAG pipelines, summarizers, content repurposing tools, or LLM agents. The plain-text field is ready for embedding; the segments array keeps timestamps for citation and clipping.
- Any language. Request your preferred language (e.g.
en,es,de,pt-BR); the Actor falls back to the best available track and always tells you which language you got. - Honest output. Every video gets a result row with an explicit
status(ok,no_transcript,unavailable,blocked,error) so your automation can handle each case.
How to use YouTube Transcript Scraper
- Click Try for free — you'll need an Apify account (free plan works).
- Paste one or more YouTube video URLs (or bare 11-character video IDs) into YouTube videos.
- Optionally set your Preferred language (default: English) and toggle Include timestamped segments.
- Click Start. Results appear in the Output tab within seconds per video.
- Export the dataset as JSON, CSV, Excel, or HTML — or fetch it via the API.
Input
| Field | Type | Description |
|---|---|---|
videoUrls | array | YouTube video URLs or 11-character video IDs. Supports watch?v=, youtu.be/, shorts/, embed/, live/. Max 200 per run. |
language | string | Preferred transcript language (ISO code, default en). Falls back to the best available track. |
includeSegments | boolean | Include the timestamped segments array (default true). Disable for smaller, plain-text-only output. |
proxyConfiguration | object | Proxy settings. Keep the default (Apify residential proxy) — YouTube blocks most datacenter IPs. |
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"language": "en","includeSegments": true}
Output
Each video produces one dataset item. You can download the dataset in various formats such as JSON, CSV, Excel, or HTML.
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","status": "ok","language": "en","isAutoGenerated": false,"segmentCount": 61,"charCount": 2089,"text": "We're no strangers to love You know the rules and so do I ...","segments": [{ "start": 18.64, "duration": 3.24, "text": "We're no strangers to love" }],"error": null}
| Field | Description |
|---|---|
videoId / url / title | Video identification. |
status | ok, no_transcript, unavailable, blocked, or error. Only ok is charged. |
language | Language of the returned track (may differ from your preference if unavailable). |
isAutoGenerated | true for YouTube auto-captions, false for manual subtitles. |
text | The full transcript as plain text. |
segments | Array of { start, duration, text } in seconds (when enabled). |
charCount / segmentCount | Size indicators for quick filtering. |
How much does it cost to scrape YouTube transcripts?
$0.002 per successfully extracted transcript — that's 500 transcripts per $1. You are never charged for videos without captions, unavailable/private videos, or blocked requests. Apify platform usage (compute, residential proxy traffic) is billed separately by Apify at standard platform rates; a typical transcript costs well under a cent in total.
Tips
- Keep the residential proxy enabled (the default). YouTube aggressively blocks datacenter IPs with a "confirm you're not a bot" wall; residential proxies avoid this.
- Batch up to 200 videos per run — sequential processing with automatic retry on blocked videos.
- Set
includeSegmentstofalseif you only need plain text and want a smaller dataset. - If a run reports many
blockedresults, re-run it — the Actor automatically rotates to fresh proxy sessions.
FAQ and disclaimers
Does this Actor download videos or audio? No. It only retrieves the caption/subtitle text that YouTube already publishes for the video.
Can it transcribe videos that have no captions at all? No — it extracts existing captions (manual or auto-generated). Videos without any captions return status: "no_transcript" and are not charged.
Is scraping YouTube transcripts legal? This Actor only accesses publicly available caption data and does not collect personal data. You are responsible for how you use the extracted content — respect copyright and YouTube's Terms of Service for your use case.
Found a bug or missing feature? Open an issue in the Issues tab — issues are answered within a few days.