YouTube Channel Transcripts - Full Channel Extractor (RAG)
Pricing
$7.50 / 1,000 transcripts
YouTube Channel Transcripts - Full Channel Extractor (RAG)
Extracts the transcript of every video in a YouTube channel. Input: @handle, channel URL, or UC id + max videos. Output: one row per video — full text, timestamped RAG chunks with deep links, optional SRT/VTT. No API key. $0.0075/transcript.
Pricing
$7.50 / 1,000 transcripts
Rating
0.0
(0)
Developer
Jaime Martinez
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
2 days ago
Last modified
Categories
Share
YouTube Channel Transcripts — Full Channel Transcript Extractor
YouTube channel transcripts for developers and AI pipelines — a full channel transcript extractor: give it a channel and get every video's transcript back as RAG-ready chunks (or plain text, SRT, VTT) in a single run. No API key, no quotas, no chaining tools together. Point it at a channel, get a knowledge base out.
This does in one step what normally takes two: it lists the whole channel, then fetches every caption track through a hosted residential-proxy + uptime layer that handles YouTube's PoToken bot-check — the reason many scrapers and free libraries come back empty.
Run in 30 seconds
Paste this input and hit Run:
{"channels": ["@mkbhd"],"maxVideosPerChannel": 10}
What comes back: one dataset row per video — title, url, the full transcript as clean text, and chunks (RAG-ready pieces, each with startSeconds, endSeconds, and a deepLink straight to that moment in the video). Switch the dataset to the RAG chunks view to see one row per chunk.
Why this exists
Building RAG over a creator's catalog means: enumerate every video in the channel, then pull each transcript, then chunk it for embeddings. That's a multi-step pipeline most people stitch together by hand. This actor is the whole pipeline — channel in → chunked transcripts out — so an AI agent or a LangChain/LlamaIndex job can ingest an entire channel with one call.
What you get (per video)
channelTitle,videoId,url,title,publishedText,viewCount,durationSecondstext— the full transcript as clean textchunks— RAG-ready overlapping chunks, each withstartSeconds,endSeconds, and a clickabledeepLinkinto the video at that timestamp- Optional
segments(timestamped),srt,vtt
Input
| Field | Type | Description |
|---|---|---|
channels | array | Required. @handles, channel URLs, or UC… ids. |
maxVideosPerChannel | integer | Newest N videos per channel (default 50). |
languages | array | Preferred caption languages (default ["en"]). |
ragChunking | boolean | Emit RAG chunks (default true). |
chunkMaxChars / chunkOverlapChars | integer | Chunk sizing. |
Use cases
- RAG / LLM ingestion — turn a creator's entire catalog into an embeddable knowledge base in one call
- Agent workflows — "summarize everything channel X has said about Y"
- Research & monitoring — full-text search across a channel's spoken content
- Dataset building — transcript corpora per channel
What you'll pay
$0.0075 per delivered transcript. Listing the channel is free; videos with no captions or that fail are skipped and never billed. No subscription, no API key.
| Transcripts delivered | Cost |
|---|---|
| 1 video | $0.0075 |
| 100 videos | $0.75 |
| 1,000 videos | $7.50 |
A 10-video test run costs about $0.075 — under a dime to see the output shape before you ingest a whole channel.
Use as an MCP tool / with AI agents
This actor is exposed as an MCP tool, so AI agents can call it directly — the agent passes the channel and gets transcripts back as structured data.
MCP endpoint (streamable HTTP):
https://mcp.apify.com/?tools=jamhimself/youtube-channel-transcripts
Example MCP client config:
{"mcpServers": {"youtube-channel-transcripts": {"url": "https://mcp.apify.com/?tools=jamhimself/youtube-channel-transcripts"}}}
Any MCP client — Claude, Cursor, or agent frameworks — can call this actor directly as a tool (authenticate with your Apify token).
Why scrapers return empty transcripts (and why this one doesn't)
YouTube gates caption downloads behind a PoToken (proof-of-origin attestation) bot-check. Requests without a valid token — which is what most free transcript libraries and DIY scrapers send — get an empty caption response, not an error. That's why "worked last month" scrapers silently start returning nothing.
This actor mints a per-video PoToken and escalates from datacenter to residential proxies when YouTube pushes back, retrying each video across proxy tiers before giving up. It is actively maintained against YouTube's changes. Videos that still can't be fetched are listed in the SKIPPED record and are never billed.
Related actors
- YouTube Transcript Scraper — transcripts for specific video URLs
- YouTube Channel Videos Scraper — just the video list (no transcripts)
- YouTube Comments Scraper — audience data
FAQ
- Do I need a YouTube API key? No — no key, no OAuth, no quota.
- Big channels? Set
maxVideosPerChannel; it pages through and transcribes the newest N. - No-caption videos? Skipped for free; you only pay for transcripts actually delivered.
- Legal? It accesses publicly available data. You are responsible for complying with YouTube's Terms of Service and applicable law in your use of the output.
If this actor saved you time, an honest review helps others find it.
YouTube is a trademark of Google LLC. This actor is not affiliated with or endorsed by YouTube or Google. Built and maintained by Jamhimself LLC.