YouTube Transcript Scraper — with speech-to-text fallback
Pricing
$8.00 / 1,000 transcript extracteds
YouTube Transcript Scraper — with speech-to-text fallback
Extract transcripts from YouTube videos, playlists, and channels. Falls back to speech recognition when a video has no captions.
Pricing
$8.00 / 1,000 transcript extracteds
Rating
0.0
(0)
Developer
Daniel Gulla
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
YouTube Transcript Scraper
Extract transcripts from YouTube videos, playlists, and entire channels — as clean full text, timestamped segments, and ready-to-use SRT subtitles.
The difference: this actor also handles videos that have no captions. Most transcript scrapers return an error the moment a video has no subtitle track. This one transcribes the audio with speech recognition instead, so you get a usable transcript either way.
Quick start
Paste a video URL and run it. That is the whole setup.
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}
Or point it at a whole channel or playlist:
{"channelUrl": "https://www.youtube.com/@mkbhd","maxVideos": 25,"languages": ["en"],"includeSrt": true}
What you get back
| Field | Description |
|---|---|
transcript | The full transcript as clean, continuous text |
segments | Timestamped segments — start, end, duration, text |
srt | Ready-to-use SRT subtitle content (optional) |
language | Language code of the transcript |
transcriptSource | youtube-captions, youtube-auto-captions, or speech-recognition |
wordCount | Number of words in the transcript |
title · channel · channelId | Video and channel metadata |
durationSeconds · viewCount | Video statistics |
availableLanguages | Every caption language the video offers |
scrapedAt | ISO timestamp of extraction |
The transcriptSource field always tells you where the text came from, so you know whether
you are reading human-written captions, YouTube's auto-captions, or speech recognition.
Example output
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video)","channel": "Rick Astley","durationSeconds": 213,"language": "en","transcriptSource": "youtube-captions","wordCount": 486,"transcript": "♪ We're no strangers to love ♪ ♪ You know the rules and so do I ♪ ...","segments": [{ "start": 18.64, "duration": 3.28, "end": 21.92, "text": "♪ We're no strangers to love ♪" }],"availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"],"scrapedAt": "2026-07-31T09:47:39.257Z"}
Input options
| Option | Default | What it does |
|---|---|---|
videoUrls | [] | Video URLs or IDs. Accepts watch links, youtu.be, Shorts, embeds, or bare 11-character IDs |
playlistUrl | — | Transcribes every video in a playlist |
channelUrl | — | Transcribes a channel's most recent uploads. Works with @handle, /channel/, /c/, and /user/ URLs |
maxVideos | 50 | Hard cap on videos per run |
languages | ["en"] | Language codes in order of preference. First available match wins |
preferManualCaptions | true | Prefer human-written captions over auto-generated ones — they are noticeably more accurate |
asrFallback | true | Transcribe the audio when no captions exist at all |
includeSegments | true | Return timestamped segments alongside the full text |
includeSrt | false | Also return an SRT subtitle string |
You can combine videoUrls, playlistUrl, and channelUrl in a single run. Duplicates are
removed automatically.
What people use it for
- Content repurposing — turn long videos into blog posts, newsletters, and social clips
- AI and RAG pipelines — feed video content into embeddings, summarisation, or Q&A
- Research at scale — search across hundreds of videos by what was actually said
- Subtitling and localisation — export SRT, then translate
- SEO — publish transcripts so video content becomes indexable text
- Accessibility — provide text alternatives for video content
- Competitive and market research — track how topics are discussed across channels
Pricing
Pay per transcript. You are charged only for transcripts actually delivered — videos that
are private, deleted, region-blocked, or otherwise fail cost you nothing. Failed videos still
appear in the dataset with an error field explaining why, so nothing disappears silently.
Reliability notes
- Videos are processed independently. One failure never aborts the run.
- Requests are retried automatically on transient network and rate-limit errors.
- Private, deleted, and age-restricted videos cannot be transcribed.
- Live streams can only be transcribed once they have finished processing.
- Speech recognition is used only when a video has no captions in any requested language. It is accurate for clear speech and less so over heavy background music or overlapping speakers.
- Very long videos are truncated when falling back to speech recognition.
Legal
This actor reads publicly available data only. It does not access private videos, bypass age restrictions, or require you to provide YouTube credentials. You are responsible for ensuring your use of the extracted data complies with YouTube's Terms of Service and with copyright law in your jurisdiction.
Support
Missing a field, need another output format, or hit a video that should work but does not? Open an issue on the Issues tab of this actor. Reports that come with the video URL are usually fixed quickly.