YouTube Transcript Scraper – Subtitles, SRT, Channels
Pricing
from $3.00 / 1,000 transcripts
YouTube Transcript Scraper – Subtitles, SRT, Channels
Extract YouTube transcripts and subtitles from videos, Shorts, whole channels and playlists. Get plain text for AI, timestamped segments, SRT and VTT, in the video's original language or the one you choose. Pay only for transcripts: videos without captions are free.
Pricing
from $3.00 / 1,000 transcripts
Rating
0.0
(0)
Developer
Brian Gastaldelli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
YouTube Transcript Scraper — transcripts and subtitles from videos, Shorts, channels and playlists
Paste YouTube links and get the full transcript of every video: plain text for AI and search, timestamped segments, and ready-to-use SRT or WebVTT subtitles. Works with single videos, Shorts, live replays, whole channels and playlists, in any language the video has captions for.
Why this Actor
- Reliable. In our tests on 331 videos from 11 channels in 5 languages (English, Hindi, Spanish, Portuguese, Japanese), every video that has captions was transcribed and none ended up blocked. Failed attempts are retried automatically from a different IP.
- Pay only for transcripts. Videos without captions, private, age-restricted, unavailable or invalid links are returned with a clear status and are not charged.
- Channels and playlists in one go. Give
@handle, a channel URL or a playlist and set how many of the newest videos to transcribe. - The right language. By default you get the language that is actually spoken in the video, even on videos with AI-dubbed audio tracks (where YouTube lists auto-captions for every dub). Ask for a specific language with one field.
- Creator captions first. Captions written by the creator are more accurate than automatic ones: they are picked first, or you can choose only one type.
- Fast. One video takes about 10 seconds from start to finish; 150 videos about 2 minutes.
Use cases
- AI and LLM pipelines: feed transcripts to ChatGPT, Claude or your RAG system to summarize, answer questions or extract insights.
- Content repurposing: turn videos into blog posts, newsletters, social posts and show notes.
- SEO and research: analyze what competitors and creators talk about across whole channels.
- Subtitles: download SRT or VTT files for editing, translation or accessibility.
- Automation: call it from n8n, Make, Zapier or the Apify API with one video per run.
Input
| Field | Description |
|---|---|
| YouTube URLs | Videos, Shorts, live replays, channels or playlists, one per line. Video IDs, @handles and playlist IDs work too. |
| Language | Language code such as en, es, de, pt-BR. Empty = the video's original language. |
| Caption type | Best available (creator captions first), only creator captions, or only automatic captions. |
| Include timestamped segments | Adds segments with start, end and text of every caption line (default: on). |
| Subtitle files | Also return srt and/or vtt text. |
| Max videos per channel or playlist | Newest videos to transcribe from each channel or playlist (default: 50). |
| Parallel videos | Videos transcribed at the same time (default: 10). |
Example input:
{"urls": ["https://www.youtube.com/watch?v=arj7oStGLkU", "@3blue1brown"],"language": "en","subtitleFormats": ["srt"],"maxVideosPerSource": 20}
Output
One item per video. Real output (shortened):
{"input": "@3blue1brown","videoId": "ausLKMojXaY","url": "https://www.youtube.com/watch?v=ausLKMojXaY","status": "ok","title": "The Phone Number puzzle","channelName": "3Blue1Brown","channelId": "UCYO_jab_esuFRV4b17AJtAw","durationSeconds": 44,"viewCount": 566886,"language": "en","languageName": "English","isAutoGenerated": false,"wordCount": 158,"characterCount": 832,"text": "Here's a surprising fact. If you take your phone number, it's possible to find another whole number bigger than zero such that...","segments": [{ "start": 0, "end": 0.95, "duration": 0.95, "text": "Here's a surprising fact." },{ "start": 1.2, "end": 2.399, "duration": 1.199, "text": "If you take your phone number," }],"srt": "1\n00:00:00,000 --> 00:00:00,950\nHere's a surprising fact.\n\n2\n00:00:01,200 --> 00:00:02,399\nIf you take your phone number,\n...","availableLanguages": [{ "code": "en", "name": "English", "isAutoGenerated": false },{ "code": "en", "name": "English (auto-generated)", "isAutoGenerated": true }],"description": "Part of a monthly series of puzzles...","keywords": ["Mathematics", "three blue one brown"],"thumbnail": "https://i.ytimg.com/vi/ausLKMojXaY/sddefault.jpg","isLive": false,"source": { "type": "channel", "input": "@3blue1brown", "title": "3Blue1Brown", "channelId": "UCYO_jab_esuFRV4b17AJtAw" },"scrapedAt": "2026-09-28T20:10:29.515Z"}
status is one of:
| Status | Meaning | Charged |
|---|---|---|
ok | Transcript returned | yes |
no_captions | The video has no captions at all | no |
language_not_available | No captions in the language you asked for; availableLanguages lists what the video has | no |
age_restricted, private, members_only | YouTube requires a signed-in account | no |
unavailable, not_started | Deleted, invalid, or a live stream / premiere that has not started | no |
not_found, invalid_input | Channel or playlist not found, or not a YouTube link | no |
blocked, error | YouTube refused every retry (rare); try again later | no |
Honest limits
- The Actor reads the captions YouTube already has (written by the creator or generated automatically). Videos without any captions, often short music-only Shorts, return
no_captions: it does not transcribe audio. - Automatic translation into other languages is not offered: YouTube now blocks it for automated requests. You get every language the video actually has.
- Age-restricted, private and members-only videos need a signed-in account and are skipped (not charged).
- The publish date and like count are not included; title, channel, duration, views, description, keywords and thumbnail are.