YouTube Channel & Playlist Transcripts - Bulk, Free Tier
Pricing
$1.00 / 1,000 transcripts
YouTube Channel & Playlist Transcripts - Bulk, Free Tier
Free tier on every run. Paste a YouTube channel or playlist and get clean timestamped transcripts for every video, with publication date and view count attached. Handles @handles, channel URLs, channel IDs and playlist URLs. Keyless, no cookies. Human subtitles preferred over auto.
Pricing
$1.00 / 1,000 transcripts
Rating
0.0
(0)
Developer
omar khandji
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Share
YouTube Channel & Playlist Transcripts — Bulk Subtitles
Paste a channel or a playlist. Get every video's transcript, timestamped and clean. No API key, no cookies, no quota.
Free tier — free transcripts on every run
The first 5 transcripts of every run are free, on every run you ever make. Point it at a channel and read real transcripts before you are billed.
Beyond that you pay $0.001 per transcript, and only for transcripts actually delivered to your dataset — a video with no captions is never billed.
One guard: the free allowance never covers more than half of a run, so a 10-video run gets 5 free. Bulk runs are where the free tier pays off.
Why this one
Transcript scrapers make you supply the video URLs. If you want a whole channel, that is a scraping job before the scraping job.
This Actor takes the channel or playlist itself and does the rest:
- Resolves it through YouTube's own feed —
@handle, channel URL, channel ID or playlist URL all work. - Removes duplicates across every source you listed, so a video that sits in both a channel and one of its playlists is transcribed and billed once.
- Pulls each transcript, preferring human-written subtitles over auto-generated ones.
- Attaches the publication date and view count from the feed — the player alone does not know them, and they are what let you rank a back catalogue.
What you pass
| Form | Example |
|---|---|
| Handle | @3blue1brown |
| Channel URL | https://www.youtube.com/@veritasium |
| Channel ID | UCYO_jab_esuFRV4b17AJtAw |
| Playlist URL | https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi |
| Playlist ID | PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi |
Output
One row per video — the transcript fields, plus where it came from:
{"video_id": "aircAruvnKk","video_url": "https://www.youtube.com/watch?v=aircAruvnKk","title": "But what is a neural network?","channel": "3Blue1Brown","published_at": "2017-10-05T15:11:00+00:00","views": 19204471,"language": "en","is_generated": false,"duration_seconds": 1105.64,"word_count": 3357,"text": "Full transcript as one clean string …","segments": [{ "start": 12.4, "duration": 3.1, "text": "Let me start with a question." }]}
Turn Include timestamped segments off if you only want text — useful when you are paying an LLM per token.
Good to know
- YouTube's feed publishes the 15 most recent videos of a channel. That is YouTube's limit, not ours. To go deeper, list the channel's playlists — a channel's own "all videos" playlist works too.
- Hard cost cap. Set
maxTotalChargeUsdand the run can never bill above it. - A video without captions is never billed. It is reported in
source_errorswith codeNO_TRANSCRIPTand costs you nothing. - Proxy included. YouTube blocks datacenter IPs; the default Apify Proxy setting handles it.
Typical uses
- Index an entire channel for RAG or search
- Turn a conference playlist into articles, notes or a newsletter
- Analyse what a competitor actually says across their catalogue
- Build a training or evaluation corpus from a curated playlist
Related scrapers
Same data, other sources — all with the same free tier, the same clean schema and the same pay-only-for-what-you-get billing: