YouTube Transcript Scraper — Multi-Language + Translation avatar

YouTube Transcript Scraper — Multi-Language + Translation

Under maintenance

Pricing

from $3.50 / 1,000 results

Go to Apify Store
YouTube Transcript Scraper — Multi-Language + Translation

YouTube Transcript Scraper — Multi-Language + Translation

Under maintenance

Extract 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

XiaoZhi DataTools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 Scraperpintostudio (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 formats4 (text/timestamps/SRT/WebVTT)115
Metadata25+ 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 video
  • chunk_text — The chunk content
  • chunk_start_char — Character offset where chunk starts in full_text
  • chunk_end_char — Character offset where chunk ends in full_text
  • word_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_formatted
  • view_count, like_count, comment_count
  • published_at (ISO date), category, keywords (tags array)
  • thumbnail (high quality), is_live
  • has_captions, caption_languages
  • word_count — Number of words in the full transcript

Channel Info

  • channel_name, channel_id, channel_url
  • channel_subscribers (e.g. "1.2M subscribers")
  • channel_description
  • channel_joined_date

Geo-Restriction

  • is_restricted — boolean flag
  • restriction_reason — reason if restricted
  • available_countries — list of country codes where video is available
  • blocked_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:

LevelProxyFields Available
fullApify Residential / CustomAll 25+ fields (views, likes, comments, geo-restriction, channel details)
basicNoneTitle, 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

ParameterTypeDescription
modeselectURL, Channel, or Playlist
urlstextareaVideo URLs (one per line)
channelstextareaChannel handles (one per line)
playliststextareaPlaylist URLs (one per line)
maxVideosnumberMax videos per channel/playlist (default: 20)
maxConcurrencynumberParallel processing count (default: 5, max: 20)
languagetextTranscript language code (empty = auto-detect)
translateTotextTranslate to this language (empty = no translation)
outputFormatselecttimestamped/text/srt/webvtt
chunkSizenumberRAG chunk size in words (0 = disabled, default: 0)
chunkOverlapnumberRAG chunk overlap in words (default: 50)
includeMetadatacheckboxEnable rich metadata (25+ fields)
listAvailableLanguagescheckboxShow all available languages
sincedateOnly videos after this date
untildateOnly videos before this date
proxyUrltextCustom proxy URL (empty = auto Apify proxy)

Examples

# Get English transcript with full metadata
urls: https://youtube.com/watch?v=dQw4w9WgXcQ
language: en
# Get Japanese transcript and translate to English
urls: https://youtube.com/watch?v=dQw4w9WgXcQ
language: ja
translateTo: en
# Get SRT subtitles for all videos from a channel
mode: channel
channels: MrBeast
outputFormat: srt
maxVideos: 10
# Extract transcripts from a YouTube playlist
mode: playlist
playlists: https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf
maxVideos: 50
# List all available languages
urls: https://youtube.com/watch?v=dQw4w9WgXcQ
listAvailableLanguages: true
# Batch extract with metadata (views, likes, geo-restriction)
urls: https://youtube.com/watch?v=abc123
https://youtube.com/watch?v=def456
includeMetadata: true
# RAG chunking — split transcript into 200-word chunks with 50-word overlap
urls: https://youtube.com/watch?v=dQw4w9WgXcQ
chunkSize: 200
chunkOverlap: 50
# High-concurrency batch run
mode: channel
channels: MrBeast
maxVideos: 100
maxConcurrency: 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-api v1.2.4
  • Rich metadata via ytInitialPlayerResponse + ytInitialData extraction
  • 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