YouTube Transcript Scraper — Channels, Playlists & AI Chunks
Pricing
from $0.33 / 1,000 transcript delivereds
YouTube Transcript Scraper — Channels, Playlists & AI Chunks
Extract YouTube transcripts and subtitles in bulk from videos, Shorts, whole channels, playlists or search results. Plain text, timestamped segments, SRT/VTT and RAG-ready chunks with deep links. Pay only for transcripts delivered.
Pricing
from $0.33 / 1,000 transcript delivereds
Rating
0.0
(0)
Developer
Cleancut Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
YouTube Transcript Scraper — Channels, Playlists, Search & AI-ready Chunks
Extract YouTube transcripts and subtitles in bulk: single videos, Shorts, entire channels, playlists or search results. Get clean text, timestamped segments, SRT/WebVTT files and RAG-ready chunks with deep links to the exact second of the video.
You only pay for transcripts that are delivered. Videos without captions, private or unavailable videos are reported in the dataset for free.
What can it do?
- 🎬 Any YouTube input —
watch?v=URLs,youtu.belinks, Shorts, live replays, embeds, plain video IDs, channels (@handle,/channel/UC…,/c/…,/user/…) and playlists. - 🔎 Search mode — type a keyword and transcribe the top N videos.
- 📺 Whole channels — Videos, Shorts and/or Live tabs, with a per-source limit.
- 🌍 Language control — preferred languages in order (
esalso matcheses-419), caption type (human-made first, any, human-made only or automatic only), automatic fallback, and YouTube's built-in translation to any language. - 🧭 Free discovery mode — list every caption track and translation language of a video before paying for transcripts.
- 🤖 AI-ready output — transcript chunks of N seconds, each with start time and a link like
…watch?v=ID&t=125s. Drop them straight into embeddings, vector DBs or LLM prompts. - 📝 Formats — plain text, segments (start/duration/text), SRT and WebVTT.
- 📊 Video details included, free — title, channel, duration, views, likes, publish date, upload date, category, description, keywords and thumbnail. No extra event, no extra charge.
- 💸 Lightweight & cheap — HTTP-only (no browser), requests only the fields it needs.
Use cases
- Feed LLMs / RAG pipelines with video knowledge (courses, podcasts, conferences).
- Content repurposing: blog posts, newsletters, social clips from videos.
- SEO & market research: what competitors and creators say about a topic.
- Accessibility & subtitles: download SRT/VTT files in bulk.
- Academic research and media monitoring.
Input example
{"startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://www.youtube.com/@RickAstleyYT","https://www.youtube.com/playlist?list=PLlaN88a7y2_qHDbY9eQbuNTAuEJUSEeuu"],"searchQueries": ["how to make sourdough bread"],"maxVideosPerSource": 20,"languages": ["en", "es"],"captionType": "preferManual","outputFormats": ["segments", "chunks"],"chunkDurationSeconds": 60,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output example
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","status": "ok","title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","channelName": "Rick Astley","channelId": "UCuAXFkgsw1L7xaCfnd5JJOw","durationSeconds": 213,"durationText": "3:33","viewCount": 1833568509,"likeCount": 19491030,"publishDate": "2009-10-24T23:57:33-07:00","uploadDate": "2009-10-24T23:57:33-07:00","category": "Music","language": "es-419","languageName": "Spanish (Latin America)","isAutoGenerated": false,"isTranslated": false,"availableLanguages": [{ "languageCode": "en", "name": "English", "isAutoGenerated": false, "isTranslatable": true }],"segmentCount": 60,"wordCount": 308,"text": "Conocemos bien el amor Tú conoces las reglas, igual que yo…","segments": [{ "start": 18.64, "duration": 3.24, "text": "Conocemos bien el amor" }],"chunks": [{"index": 0, "start": 18.64, "end": 82.04, "startTime": "0:18","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=18s","text": "Conocemos bien el amor Tú conoces las reglas…", "wordCount": 52}],"source": { "type": "video", "input": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }}
Output views
The Output tab (and the API, with ?view=) offers ready-made tables:
| View | What you get |
|---|---|
| Overview | One row per video: thumbnail, title, channel, date, duration, views, language and the transcript |
| Timestamped segments | One row per caption line with start and duration |
| AI chunks (RAG) | One row per chunk with a deep link to that second |
| Subtitles (SRT / WebVTT) | Ready-to-save subtitle files |
| Video details | Channel, dates, category, views, likes, keywords, thumbnail |
| Caption languages | One row per caption track (discovery mode) |
| Errors (free) | Why a video could not be transcribed |
Every field is documented in the dataset schema (type, description and example), so AI agents and integrations know exactly what they get. A run summary is saved as SUMMARY in the key-value store.
Errors (free)
Videos that cannot be transcribed produce a free row with status: "error" and an errorCode:
| errorCode | Meaning |
|---|---|
TRANSCRIPTS_DISABLED | The video has no captions at all |
LANGUAGE_NOT_AVAILABLE | None of your languages exists and fallback is off |
CAPTION_TYPE_NOT_AVAILABLE | You asked for human-made only (or automatic only) and the video has none |
VIDEO_UNAVAILABLE / VIDEO_UNPLAYABLE | Deleted, private or region-locked video |
AGE_RESTRICTED | Requires a signed-in account |
BLOCKED | YouTube rejected the IP — use the RESIDENTIAL proxy group |
Pricing
Pay per event — you only pay for transcripts delivered. Listing channels, playlists and search results is free, discovery mode is free, video details are free, and so are videos without captions or with errors.
| Your Apify plan | Price per 1,000 transcripts |
|---|---|
| Free | $0.39 |
| Starter (Bronze) | $0.37 |
| Scale (Silver) | $0.35 |
| Business (Gold) and above | $0.33 |
Plus a start fee of $0.0005 per run (at the default 512 MB of memory). Example: transcribing a whole channel of 500 videos costs $0.17–$0.20. Set “Max transcripts in total” or the run's maximum cost to cap spending.
Tips
- Proxy: the default is Apify RESIDENTIAL proxy, because YouTube blocks most data-center IPs. Each transcript transfers only ~30 KB, so the proxy cost is tiny.
- Automatic vs human captions:
isAutoGenerated: truemeans YouTube's speech recognition. Use Caption type to force human-made only or automatic only. - Not sure which languages a video has? Turn on “List caption languages only (free)” first: you get every caption track and the languages it can be translated to, without paying.
- Translation uses YouTube's own machine translation, available only for tracks marked as translatable.
- Integrations: run it from Make, Zapier, n8n, LangChain or the Apify API, and schedule it to transcribe new channel uploads daily.
FAQ
Does it use the official YouTube Data API? No. The official API only lets channel owners download their own captions. This Actor reads the same publicly available captions that the YouTube player shows.
Can it transcribe videos without captions? No. If a video has no captions (neither human nor automatic), it is reported as TRANSCRIPTS_DISABLED and not charged.
Is it legal? It extracts publicly available captions. You are responsible for how you use the content; respect copyright and YouTube's Terms of Service, and do not republish transcripts you don't have rights to.
Changelog
- 0.2 — Cleaner input with sections, caption type selector, one “Extra formats” picker, free discovery mode, free likes, publish date, upload date and category, 7 output views and a fully documented output schema.
- 0.1 — First release: videos, Shorts, channels, playlists, search, language preference & translation, SRT/VTT, AI chunks.
More from Cleancut Data
- 🏨 Google Hotels Rate Shopper: what every booking site charges for your hotels and dates, with taxes, free cancellation and rate-parity gaps.
- ✈️ Google Flights Cheapest Fares: the cheapest Google Flights fare per route and date, the cheapest day of the month and price-drop alerts.