Apify Store
AS
Apify Store
/george.the.developer/youtube-transcript-scraper

YouTube Transcript & Subtitles Scraper API

Extract YouTube transcripts, subtitles, captions, timestamps & metadata in bulk from videos, Shorts, playlists & channels. Pay-per-video YouTube transcript API, no API key needed. Callable from any MCP client (Claude, Cursor, ChatGPT). Built for RAG, LLM datasets & content repurposing.

liveasyncunknown~30s typical
AIVIDEOSDEVELOPER_TOOLS
$0.0020
per result + $0.01 call
plus $0.001 platform fee per run
Usage-based actor: event charges passed through at cost plus 25%
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /george.the.developer/youtube-transcript-scraper for me.

Input

FieldTypeDescription
urls*arrayList of YouTube video URLs, playlist URLs, or channel URLs. Supports: youtube.com/watch?v=, youtu.be/, youtube.com/playlist?list=, youtube.com/@channel, youtube.com/shorts/
languagestringPreferred transcript language code (e.g., 'en', 'es', 'fr', 'de', 'ja'). Falls back to auto-generated captions if manual captions unavailable. Leave empty for default language. default "en"
includeTimestampsbooleanInclude start time and duration for each transcript segment. Useful for building video indexes or jumping to specific parts. default true
outputFormatstring (full-text | segments | both)How to format the transcript text. 'full-text' = single concatenated string (best for AI/LLM input). 'segments' = array of timestamped segments. 'both' = includes both formats. default "both"
maxVideosintegerMaximum number of videos to process. Useful when scraping playlists or channels to limit costs. default 50
includeMetadatabooleanInclude video title, channel name, description, view count, publish date, duration, and tags alongside the transcript. default true
maxConcurrencyintegerMaximum number of concurrent requests. Higher = faster but more likely to hit rate limits. default 5
proxyConfigurationobjectApify Proxy country routing only. This actor always uses BUYPROXIES94952; custom proxy URLs and alternate groups are ignored.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/george.the.developer/youtube-transcript-scraper","input":{"urls":[],"language":"en","includeTimestamps":true,"outputFormat":"both","maxVideos":50,"includeMetadata":true,"maxConcurrency":5},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /george.the.developer/youtube-transcript-scraper -i '{"urls":[],"language":"en","includeTimestamps":true,"outputFormat":"both","maxVideos":50,"includeMetadata":true,"maxConcurrency":5}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/george.the.developer/youtube-transcript-scraper", input: {"urls":[],"language":"en","includeTimestamps":true,"outputFormat":"both","maxVideos":50,"includeMetadata":true,"maxConcurrency":5}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.