YouTube Transcript Scraper
Pricing
from $0.10 / 1,000 transcript extracteds
YouTube Transcript Scraper
Extract full transcripts and timestamped captions from any YouTube video in your chosen language and export them as JSON or CSV.
Pricing
from $0.10 / 1,000 transcript extracteds
Rating
0.0
(0)
Developer
Andrew
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pull the full transcript and timestamped captions from any YouTube video — pick your language, get clean text plus segment-level timing, and export to JSON or CSV.
What you get
- Full plain-text transcript of each video as a single field, ready for search, summarisation, or LLM input
- Timestamped segments array with
startMs,durationMs, andtextper caption line — perfect for jumping to a moment in the video or building chapter markers - Language metadata showing the language code returned and whether captions were human-written or auto-generated
- Available languages list so you can see every caption track the video offers, even when you only kept one
- Per-video metadata:
videoId,title,durationSeconds,uploader - Multi-language preference order — list
["en", "es", "fr"]and the actor picks the first one that exists for each video - Residential proxy by default so the request reliably returns captions; switch to Auto cascade to save proxy bandwidth
Use cases
- Content repurposing — turn long videos into blog posts, newsletters, or tweet threads with timestamped quotes
- SEO research — analyse competitor video scripts and topics for keyword and topic gaps
- Accessibility — generate searchable text archives of training videos, lectures, and webinars
- Language learning — pull dual-language transcripts for the same video to build study material
- Podcast and interview notes — feed transcripts into summarisers to produce show notes and chapter markers
How to use
- Paste one or more YouTube URLs into YouTube Video URLs (
youtube.com/watch?v=...,youtu.be/..., oryoutube.com/shorts/...) - Set Languages in preference order — e.g.
enfor English-only, oren, es, frto fall back through Spanish then French - Leave Prefer Human-Written Captions on to favour manual subtitles over auto-generated ones when both exist
- Leave Proxy Mode on Residential (default) — switch to Auto if you want to try cheaper paths first
- Run the actor — one transcript record per video appears in the Dataset tab
Output format
Each dataset record:
{"inputUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw","videoId": "jNQXAC9IVRw","title": "Me at the zoo","durationSeconds": 19,"uploader": "jawed","language": "en","isAutoGenerated": false,"transcript": "All right, so here we are in front of the elephants...","segments": [{ "startMs": 0, "durationMs": 2400, "text": "All right, so here we are" },{ "startMs": 2400, "durationMs": 3100, "text": "in front of the elephants" }],"availableLanguages": ["en", "en-US", "es", "fr"],"proxyUsed": "residential","status": "success","error": null}
When no caption track matches the requested languages, status is "error" and error is "No captions available in requested languages" — availableLanguages still lists everything the video does have so you can retry with the right code.
Notes & limits
- Up to 10 videos per run. Schedule multiple runs for larger jobs.
- Captions must exist on the video. Some music videos and shorts have no captions at all — those return
status: "error". - Auto-generated captions are word-level transcribed by YouTube and may include noise or incorrect punctuation. The
isAutoGeneratedflag tells you which kind you got. - Region-locked or private videos will fail; try
Residentialproxy mode if Auto can't fetch them. - Language codes are BCP-47, e.g.
en,en-US,es,fr,pt-BR. If you specifyenand onlyen-USexists, the actor will useen-USautomatically. - Only scrape content you have the right to use. Respect copyright and YouTube's Terms of Service.