YouTube Transcript Scraper — Multi-Language + Translation
Under maintenancePricing
from $3.50 / 1,000 results
YouTube Transcript Scraper — Multi-Language + Translation
Under maintenanceExtract transcripts from YouTube videos. Batch URLs, channel mode, 100+ languages, auto-translation, SRT/WebVTT export. $2.00/1K — 60% cheaper than competitors.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
XiaoZhi DataTools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Transcript Scraper — Multi-Language + Translation + Rich Metadata + RAG Chunking
Extract transcripts from YouTube videos with multi-language support, auto-translation, 4 output formats (timestamped, text, SRT, WebVTT), 25+ metadata fields, playlist support, RAG chunking, and concurrent processing.
Why Choose This Scraper?
| This Scraper | pintostudio (17K) | starvibe (5K) | karamelo (6.4K) | |
|---|---|---|---|---|
| Price | $2.00/1K | $10.00/1K | $5.00/1K | $5.00/1K |
| Batch URLs | ✅ | ❌ Single | ❌ Single | ✅ |
| Channel mode | ✅ | ❌ | ✅ | ❌ |
| Playlist mode | ✅ | ❌ | ❌ | ❌ |
| Language select | ✅ 100+ | ✅ 80+ | ✅ | ❌ |
| Auto-translate | ✅ | ❌ | ❌ | ❌ |
| Output formats | 4 (text/timestamps/SRT/WebVTT) | 1 | 1 | 5 |
| Metadata | ✅ 25+ fields | ❌ | ✅ 20+ fields | ✅ 14 fields |
| RAG chunking | ✅ | ❌ | ❌ | ❌ |
| Concurrency | ✅ parallel | ❌ | ❌ | ❌ |
| Available langs | ✅ List all | ❌ | ✅ | ❌ |
| Geo-restriction | ✅ | ❌ | ❌ | ❌ |
| Channel details | ✅ subs/desc/joined | ❌ | ✅ | ❌ |
| Error tracking | ✅ per-video status | ❌ | ❌ | ❌ |
3 Modes
1. 🔗 URL Mode
Extract transcripts from specific video URLs (batch supported, one per line).
2. 📺 Channel Mode
Get transcripts from all recent videos on a channel. Supports date filtering.
3. 📋 Playlist Mode
Extract transcripts from all videos in a YouTube playlist. Provide one or more playlist URLs (one per line). Use maxVideos to limit how many videos are processed per playlist.
4 Output Formats
- timestamped —
[{text, start, duration}]JSON array - text — Plain text, no timestamps
- srt — Standard subtitle format (for video players)
- webvtt — Web subtitle format (for HTML5 video)
RAG / AI Chunking
For RAG (Retrieval-Augmented Generation) and AI pipelines, you can split transcripts into overlapping word chunks:
- chunkSize — Number of words per chunk (0 = disabled, 100–5000). Set to e.g. 200 for typical RAG use.
- chunkOverlap — Overlapping words between consecutive chunks (default: 50). Provides context continuity.
When enabled, each chunk is output as a separate dataset item with:
chunk_index— Position of this chunk (0-based)total_chunks— Total number of chunks for this videochunk_text— The chunk contentchunk_start_char— Character offset where chunk starts in full_textchunk_end_char— Character offset where chunk ends in full_textword_count— Word count for this chunk
The original full transcript item is always preserved alongside the chunk items.
Concurrency
Process multiple videos in parallel for faster runs:
- maxConcurrency — Number of parallel transcript fetches (1–20, default: 5)
- Each video is processed with a semaphore to respect rate limits
- Failed transcripts are automatically retried up to 3 times with a 2-second delay
Rich Metadata (25+ fields)
When includeMetadata=true, each video includes:
Video Info
title,description,duration,duration_formattedview_count,like_count,comment_countpublished_at(ISO date),category,keywords(tags array)thumbnail(high quality),is_livehas_captions,caption_languagesword_count— Number of words in the full transcript
Channel Info
channel_name,channel_id,channel_urlchannel_subscribers(e.g. "1.2M subscribers")channel_descriptionchannel_joined_date
Geo-Restriction
is_restricted— boolean flagrestriction_reason— reason if restrictedavailable_countries— list of country codes where video is availableblocked_countries— list of blocked country codes
Internal Fields
_metadata_level— "full" (with proxy) or "basic" (no proxy)_status— "success", "transcript_failed", "chunk", or "skipped"
Key Features
- 🌐 100+ languages — Select any transcript language
- 🔄 Auto-translate — Translate transcripts to any language
- 📺 Channel mode — Batch extract from channels
- 📋 Playlist mode — Extract from YouTube playlists
- 📋 List languages — Show all available transcripts per video
- 🎬 Shorts support — Works with YouTube Shorts too
- 📊 Rich metadata — 25+ fields with proxy, basic info without
- 🔍 Auto-detect — Automatically picks the best available language
- 🌍 Geo-restriction — Detect region-blocked videos
- 🏷️ Keywords/tags — Extract video tags from YouTube
- 🔒 Proxy support — Auto Apify residential proxy or custom proxy
- ✅ Error tracking — Per-video success/failure status in output
- 📝 Word count — Every output item includes word count
- 🧩 RAG chunking — Split transcripts into overlapping chunks for AI pipelines
- ⚡ Concurrency — Parallel processing with configurable concurrency
- 🔁 Auto-retry — Failed transcript fetches retried up to 3 times
Proxy & Metadata Levels
Metadata richness depends on proxy availability:
| Level | Proxy | Fields Available |
|---|---|---|
| full | Apify Residential / Custom | All 25+ fields (views, likes, comments, geo-restriction, channel details) |
| basic | None | Title, channel name, thumbnail only |
Recommendation: Use Apify residential proxy (automatic, no config needed) for full metadata. Without proxy, YouTube may return limited data from cloud IPs.
Input Parameters
| Parameter | Type | Description |
|---|---|---|
mode | select | URL, Channel, or Playlist |
urls | textarea | Video URLs (one per line) |
channels | textarea | Channel handles (one per line) |
playlists | textarea | Playlist URLs (one per line) |
maxVideos | number | Max videos per channel/playlist (default: 20) |
maxConcurrency | number | Parallel processing count (default: 5, max: 20) |
language | text | Transcript language code (empty = auto-detect) |
translateTo | text | Translate to this language (empty = no translation) |
outputFormat | select | timestamped/text/srt/webvtt |
chunkSize | number | RAG chunk size in words (0 = disabled, default: 0) |
chunkOverlap | number | RAG chunk overlap in words (default: 50) |
includeMetadata | checkbox | Enable rich metadata (25+ fields) |
listAvailableLanguages | checkbox | Show all available languages |
since | date | Only videos after this date |
until | date | Only videos before this date |
proxyUrl | text | Custom proxy URL (empty = auto Apify proxy) |
Examples
# Get English transcript with full metadataurls: https://youtube.com/watch?v=dQw4w9WgXcQlanguage: en# Get Japanese transcript and translate to Englishurls: https://youtube.com/watch?v=dQw4w9WgXcQlanguage: jatranslateTo: en# Get SRT subtitles for all videos from a channelmode: channelchannels: MrBeastoutputFormat: srtmaxVideos: 10# Extract transcripts from a YouTube playlistmode: playlistplaylists: https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdfmaxVideos: 50# List all available languagesurls: https://youtube.com/watch?v=dQw4w9WgXcQlistAvailableLanguages: true# Batch extract with metadata (views, likes, geo-restriction)urls: https://youtube.com/watch?v=abc123https://youtube.com/watch?v=def456includeMetadata: true# RAG chunking — split transcript into 200-word chunks with 50-word overlapurls: https://youtube.com/watch?v=dQw4w9WgXcQchunkSize: 200chunkOverlap: 50# High-concurrency batch runmode: channelchannels: MrBeastmaxVideos: 100maxConcurrency: 10
Pricing
- $2.00 per 1,000 transcripts — 60% cheaper than pintostudio ($10/1K)
- Default run (20 videos) costs $0.04
Technical Details
- Built on
youtube-transcript-apiv1.2.4 - Rich metadata via
ytInitialPlayerResponse+ytInitialDataextraction - Supports auto-generated and manual captions
- Translation uses YouTube's built-in translation API
- Channel videos discovered via
scrapetube - Playlist videos discovered via
scrapetube.get_playlist() - Automatic Apify residential proxy for full metadata
- Concurrent processing with
asyncio.Semaphore(configurable parallelism) - Automatic retry (3 attempts, 2-second delay) for transcript fetch failures
- Per-video error tracking and partial result recovery
Limitations
- Some videos may not have transcripts available
- Auto-translation quality varies by language
- Full metadata (views, likes, geo-restriction) requires proxy on cloud IPs
- Channel mode gets recent videos only (not full archive)
- Geo-restriction detection may not cover all cases