YouTube Transcript Scraper - Videos, Playlists & Channels
Pricing
$2.00 / 1,000 transcripts
YouTube Transcript Scraper - Videos, Playlists & Channels
Extract YouTube transcripts/subtitles in any language from videos, Shorts, playlists and entire channels. Plain text, timestamps, SRT and VTT, auto-translation, plus video metadata. You only pay for transcripts actually found.
Pricing
$2.00 / 1,000 transcripts
Rating
0.0
(0)
Developer
Tidelark Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get YouTube transcripts (subtitles / captions) from single videos, Shorts, whole playlists and entire channels in one run. Choose your languages, auto-translate with YouTube's built-in translation, and export as plain text, timestamped segments, SRT or WebVTT, together with video metadata. Use it from the Apify Console, the API, Make, Zapier, n8n, LangChain or any AI agent (MCP).
You only pay for transcripts that are actually found. Videos without captions are returned with status: "no_transcript" and are free.
Why this YouTube transcript scraper?
- Channels and playlists, not just videos. Paste
@channelhandleor a playlist URL and get transcripts for the latest N videos. - Any language + translation. Set your preferred languages (e.g.
en,es,de), fall back to whatever exists, or translate everything into one language. - Human captions first. Creator-uploaded captions are preferred over auto-generated ones when both exist (configurable). Every result says whether it was auto-generated.
- Every format you need. Plain text for LLMs and summaries,
{start, duration, text}segments,[m:ss]timestamped text, SRT and VTT subtitle files. - Reliable. Automatic retries with fresh sessions and residential proxy fallback when YouTube rate-limits.
- Fast and cheap. Videos are processed in parallel; no browser is used.
Use cases
- Summarise, translate or repurpose videos with ChatGPT/Claude (RAG, chatbots, newsletters, blog posts)
- Research and competitor analysis across entire channels
- Subtitles (SRT/VTT) for re-uploads, accessibility and localisation
- SEO: mine what top creators talk about in your niche
- Build datasets for NLP and AI training
Input
| Field | Description |
|---|---|
videos | Video URLs, Shorts URLs, video IDs, playlist URLs, channel URLs or @handles |
maxVideosPerChannel | Max videos per playlist/channel (newest first for channels) |
languages | Preferred language codes in order, e.g. ["en", "es"] |
anyLanguageFallback | Return another language if preferred ones are missing (default: on) |
preferManualCaptions | Prefer human-made over auto-generated captions (default: on) |
translateTo | Auto-translate to this language code (optional) |
includeText / includeSegments / includeTimestampedText / includeSrt / includeVtt | Output formats |
includeMetadata | Title, channel, duration, views, keywords, description, thumbnail |
Example:
{"videos": ["https://www.youtube.com/watch?v=jNQXAC9IVRw","@mkbhd","https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI"],"maxVideosPerChannel": 20,"languages": ["en"]}
Output
One item per video (real output, shortened):
{"videoId": "jNQXAC9IVRw","url": "https://www.youtube.com/watch?v=jNQXAC9IVRw","title": "Me at the zoo","channelName": "jawed","channelId": "UC4QobU6STFB0P71PMvOGN5A","durationSeconds": 19,"viewCount": 443010280,"availableLanguages": [{ "languageCode": "en", "languageName": "English", "isAutoGenerated": false, "isTranslatable": true },{ "languageCode": "de", "languageName": "German", "isAutoGenerated": false, "isTranslatable": true }],"status": "ok","language": "en","isAutoGenerated": false,"translatedTo": null,"wordCount": 39,"segmentCount": 6,"text": "All right, so here we are, in front of the elephants the cool thing about these guys is that they have really... really really long trunks and that's cool (baaaaaaaaaaahhh!!) and that's pretty much all there is to say","segments": [{ "start": 1.2, "duration": 2.16, "text": "All right, so here we are, in front of the elephants" },{ "start": 5.32, "duration": 2.66, "text": "the cool thing about these guys is that they have really..." }]}
Videos without captions (free, not charged):
{ "videoId": "8c7KOGxeY3w", "status": "no_transcript", "error": "This video has no captions/transcript." }
status is one of ok, no_transcript, unavailable (private/removed/age-restricted) or error.
Pricing
Pay per transcript: you are charged only for videos where a transcript was returned. Listing playlists/channels and videos without captions are free. Platform usage and proxies are included. You can set a maximum cost per run in the run options.
FAQ
Does it work for videos without subtitles? It returns YouTube's captions (human or auto-generated). Videos where YouTube has no captions at all return no_transcript and are not charged.
Can I get a transcript in a language the video doesn't have? Yes: set translateTo and YouTube's machine translation is used.
Is it legal? This Actor only reads publicly available captions and video metadata, without logging in. You are responsible for how you use the content, including copyright.
Support
Missing a feature or found a bug? Open an issue on the Issues tab - issues are answered quickly.