YouTube Full Channel Transcripts Extractor
Pricing
from $15.00 / 1,000 transcript extracteds
YouTube Full Channel Transcripts Extractor
Extract accurate transcripts from all YouTube videos in a channel or individual videos. Supports regular videos, live streams, shorts, and premieres with automatic caption detection.
Pricing
from $15.00 / 1,000 transcript extracteds
Rating
5.0
(1)
Developer
Akash Kumar Naik
Maintained by CommunityActor stats
1
Bookmarked
278
Total users
9
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Full Channel Transcripts Extractor is an Apify Actor that extracts accurate transcripts, subtitles, and captions from all YouTube videos in a channel β or from individual videos. Perfect for content creators, researchers, marketers, and developers who need to convert video content into searchable, structured text data for AI training, SEO, content repurposing, and accessibility compliance.
What Is YouTube Full Channel Transcripts Extractor?
This YouTube transcript extractor API automatically retrieves full transcripts from all videos in a YouTube channel that have captions (manual or auto-generated). No API keys, no complex setup β just input a YouTube channel URL and get structured JSON transcript data in seconds.
Key Features
- Complete channel extraction β extract full video transcripts from entire YouTube channels
- All video types supported β regular videos, YouTube Shorts, live streams, premieres
- Multiple channel URL formats β youtube.com/channel/, youtube.com/@username, youtube.com/c/customname, youtube.com/user/
- Multi-language caption detection β automatically detects and extracts captions in all available languages
- Batch processing β extract transcripts from all videos in a channel with configurable limits (up to 2000)
- Fast & reliable β cloud-based extraction with automatic retry logic and proxy protection
- Structured JSON output β clean transcript data ready for AI/ML pipelines, databases, or content workflows
- No YouTube API quota limits β unlike the official YouTube Data API, there are no daily quota restrictions
Supported Content Types
- Regular YouTube videos
- YouTube Shorts
- Completed live streams (VODs)
- Premieres
Supported YouTube URL Formats
Single video URLs and video IDs are accepted, plus these channel formats:
https://www.youtube.com/channel/CHANNEL_IDhttps://www.youtube.com/@usernamehttps://www.youtube.com/c/customnamehttps://www.youtube.com/user/username
Use Cases
Content Creators & Marketers
- Content repurposing β transform video content into blog posts, social media captions, newsletters
- SEO optimization β extract keywords and trending topics from transcripts
- Competitor analysis β study competitor video strategies
Researchers & Data Scientists
- AI/ML training data β build text datasets for training language models
- Academic research β analyze video content for research papers
- Sentiment analysis β process transcript text for audience sentiment
Businesses & Agencies
- Accessibility compliance β generate ADA and WCAG compliant transcripts
- Internal training β convert training videos to searchable documentation
- Lead generation β identify prospects discussing your industry
Developers
- RAG pipelines β feed transcript data into vector databases and LLM frameworks (LangChain, LlamaIndex)
- API integration β RESTful API with JSON output; automate with Zapier, Make, or n8n, and push results to Google Sheets, Airtable, or Notion
- Batch processing β process hundreds or thousands of videos programmatically
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | β | YouTube channel URL, video URL, or video ID |
maxVideos | integer | No | 25 | Max videos to process for channel inputs (0 = all available; ignored for single-video inputs; max 2000) |
Example input:
{"url": "https://www.youtube.com/watch?v=WQNgQVRG9_U","maxVideos": 1}
For the fastest smoke test, use a single video URL. Channel URLs are also supported, and maxVideos applies only to channel runs.
Sample Output
Multiple results are returned (one for each video processed):
[{"success": true,"video_id": "WQNgQVRG9_U","video_url": "https://youtu.be/WQNgQVRG9_U","transcript": "Is this how you get your web data? Copy-pasting everything into a table...","language": "en","extraction_time": 3.08,"timestamp": "2026-02-17T09:00:12.059613+00:00"},{"success": true,"video_id": "dQw4w9WgXcQ","video_url": "https://youtu.be/dQw4w9WgXcQ","transcript": "We're no strangers to love. You know the rules and so do I...","language": "en","extraction_time": 2.85,"timestamp": "2026-02-17T09:00:15.123456+00:00"}]
Output Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Whether transcript extraction was successful |
video_id | string | YouTube video ID |
video_url | string | Original YouTube video URL |
video_title | string | Video title |
channel_name | string | Channel name |
transcript | string | Full transcript text content |
language | string | Language code of the extracted transcript |
extraction_time | number | Time taken to extract in seconds |
timestamp | string | ISO 8601 timestamp of extraction |
error | string | Error message if extraction failed |
How to Use
- Open the Actor page on Apify Store and click Start Actor.
- Paste a YouTube channel URL (or a single video URL to test).
- Set
maxVideosβ 25 by default, 0 for all videos in the channel. - Run the Actor and download the transcripts as JSON, CSV, or Excel from the dataset.
How to Use via API
cURL:
curl -X POST "https://api.apify.com/v2/acts/akash9078/youtube-full-channel-transcripts-extractor/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"url": "https://www.youtube.com/@google", "maxVideos": 50}'
Python:
import requestsAPI_TOKEN = 'YOUR_APIFY_TOKEN'response = requests.post('https://api.apify.com/v2/acts/akash9078/youtube-full-channel-transcripts-extractor/runs',headers={'Authorization': f'Bearer {API_TOKEN}'},json={'url': 'https://www.youtube.com/@google', 'maxVideos': 50})print(response.json())
Node.js with Apify Client:
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('akash9078/youtube-full-channel-transcripts-extractor').call({url: 'https://www.youtube.com/@google',maxVideos: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Error Responses
Failed extractions are returned as dataset items with success: false and an error message:
{ "success": false, "video_id": "xxxxxxxxxxx", "error": "<error message>" }
Pricing
This Actor uses transparent pay-per-event pricing β you only pay for what is used:
| Event | Event Name | Price | When Charged |
|---|---|---|---|
| Actor Start | apify-actor-start | $0.005 per run | Once per Actor run |
| Transcript Extracted | transcript-extracted | $0.025 per video | Every video processed (success or failure) |
Cost examples:
- 10 videos: $0.005 + 10 Γ $0.025 = $0.255
- 50 videos, direct connection: $0.005 + 50 Γ $0.025 = $1.255
- 100 videos, direct connection: $0.005 + 100 Γ $0.025 = $2.505
Free tier available β test with free credits when you sign up for Apify.
Limitations
- Videos must have captions (manual or auto-generated)
- Currently live streams (ongoing broadcasts) are not supported
- Private or unlisted videos cannot be accessed
- Age-restricted videos may require authentication
- Channel processing is limited to public channels only
- Very large channels may take significant time to process completely
FAQ
Does the Actor work with single videos?
Yes. Pass any video URL or 11-character video ID as url; maxVideos is ignored for single-video inputs.
Which URL formats are supported?
Channel URLs (/channel/, /@username, /c/, /user/), video URLs (watch?v=, youtu.be/, /shorts/, /live/), and bare video IDs.
Do videos need captions?
Yes β the video must have captions (manual or auto-generated) for a transcript to be extracted.
Is there a YouTube API quota limit?
No. Unlike the official YouTube Data API, there are no daily quota restrictions.
How much does a 100-video channel run cost?
$0.005 (Actor start) + 100 Γ $0.025 = $2.505.
Related Actors
If you need more YouTube data from Apify, check out my other Apify Actors:
- YouTube Transcript Scraper β extract transcripts from any YouTube video
- YouTube Transcript Extractor β transcripts with timestamps in 100+ languages
- YouTube Playlist Scraper with Transcript β playlist metadata plus transcripts
- YouTube Channel Video Scraper β video metadata for entire channels
- YouTube Playlist Scraper β full metadata for every video in a playlist
- YouTube Search Scraper β search YouTube via the official Data API
- YouTube Trending Scraper β trending videos by region and category
Built and maintained by akash9078 on the Apify platform. For issues or questions, use the Issues tab on the Actor page or join the Apify Discord community.