YouTube Subtitle Scraper - Transcripts & Captions
Pricing
from $2.00 / 1,000 results
YouTube Subtitle Scraper - Transcripts & Captions
Extract YouTube video subtitles and transcripts as timestamped segments, manual or auto-generated, in any available language — no API key needed.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Thirdwatch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
YouTube Subtitle Scraper — Transcripts & Captions
Thirdwatch portfolio: 5K users across 97 public Actors, 2M+ records delivered, and >99% run success. Explore all Thirdwatch Actors.
Extract subtitles and transcripts from public YouTube videos as clean, timestamped segments. Works with both manually uploaded captions and YouTube's auto-generated tracks, in any language the video offers — no YouTube API key required.
Use it for transcript datasets, video summarization, translation pipelines, accessibility audits, and content research.
Why this Actor
- Manual + auto-generated captions: prefers human-written tracks when
preferManualis set, falls back to auto-generated. - Any language: pass ISO codes like
en,hi,es— or omit to take the best available track and get the fullavailableLanguageslist in output. - Timestamped segments: every row carries the full segment list (
startMs,durationMs,text) plus a joinedtranscriptstring. - Per-video sticky sessions: each video gets its own residential proxy session with a fresh-exit retry on rate limits, so multi-video batches stay reliable.
- Rich video metadata: title, channel, channelId, duration, view count, and upload date on every row.
Quick start
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"languages": ["en"],"preferManual": true,"proxyCountry": "US"}
Returns one dataset row per video with all caption segments.
Input
| Field | Required | Description |
|---|---|---|
videoUrls | Yes | YouTube watch URLs or video IDs. |
languages | No | Preferred caption languages, ISO 639-1 (e.g. en, hi). Default: first available. |
preferManual | No | Prefer human-uploaded captions over auto-generated. Default: true. |
proxyCountry | No | Two-letter residential proxy country. Recommended for batches — YouTube rate-limits shared exits. |
Output
| Field | Description |
|---|---|
videoId, url | Video identity and canonical URL. |
title, channel, channelId | Video and channel metadata. |
duration, viewCount, uploadDate | Length in seconds, views, publish date. |
language, captionSource | Track language and whether it is manual or auto. |
availableLanguages | All caption languages the video offers. |
segments | List of {startMs, durationMs, text} caption segments. |
segmentCount, transcript | Segment count and the joined plain-text transcript. |
Example row:
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video)","channel": "Rick Astley","language": "en","captionSource": "manual","segmentCount": 61,"segments": [{"startMs": 18170, "durationMs": 2290, "text": "We're no strangers to love"}],"transcript": "We're no strangers to love ..."}
Notes & limitations
- Heavily scraped videos occasionally hit YouTube
429on the caption file itself; the Actor retries once on a fresh residential exit. A small fraction of videos may still fail — they return anerrorrow rather than failing the run. - Residential proxy traffic is the main cost; expect ~$0.01 per video.