YouTube Transcript Scraper: Captions to Text, Timestamps & SRT avatar

YouTube Transcript Scraper: Captions to Text, Timestamps & SRT

Pricing

$4.00 / 1,000 transcript fetcheds

Go to Apify Store
YouTube Transcript Scraper: Captions to Text, Timestamps & SRT

YouTube Transcript Scraper: Captions to Text, Timestamps & SRT

Use this when you need YouTube video transcripts as text, timestamped segments or SRT. $0.004/transcript; videos without captions are free. Input: {"videos":["https://youtu.be/aircAruvnKk"],"languages":["en"]}. Output: text, segments, title, channel, language.

Pricing

$4.00 / 1,000 transcript fetcheds

Rating

0.0

(0)

Developer

Isaac

Isaac

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

Use this when you or your AI agent need the transcript of one or many YouTube videos as clean text, timestamped lines or SRT subtitles. Paste URLs or video IDs and get JSON back in seconds. $0.004 per transcript ($4 per 1,000). Videos without captions, private, removed or invalid videos are free.

Good for...

  • feeding video content to ChatGPT, Claude or a RAG pipeline (summaries, Q&A, notes)
  • repurposing videos into blog posts, show notes or social posts
  • research and content analysis across many videos or channels
  • subtitles: download captions as SRT with timestamps

What you get

  • Full transcript as one text string, plus timestamped segments (start, duration, text)
  • Optional srt subtitle file
  • Video title, channel, channel ID, length and view count
  • Which caption track was used (language, manual or auto-generated) and every language available
  • Works with watch URLs, youtu.be links, Shorts, embeds, live replays and bare 11-character IDs

Input example

{
"videos": ["https://www.youtube.com/watch?v=aircAruvnKk", "https://youtu.be/8jPQjjsBbIc"],
"languages": ["en"],
"includeSegments": true,
"includeSrt": false
}

languages is an order of preference. Manually written captions are chosen before auto-generated ones in the same language. If none of your languages exist, you get the video's main caption track, and availableLanguages tells you what else there is.

Output example

{
"videoId": "aircAruvnKk",
"url": "https://www.youtube.com/watch?v=aircAruvnKk",
"ok": true,
"title": "But what is a neural network? | Deep learning chapter 1",
"channel": "3Blue1Brown",
"channelId": "UCYO_jab_esuFRV4b17AJtAw",
"lengthSeconds": 1120,
"viewCount": 25022230,
"language": "English",
"languageCode": "en",
"isGenerated": false,
"wordCount": 3357,
"text": "This is a 3. It's sloppily written and rendered at an extremely low resolution of 28x28 pixels, but your brain has no trouble recognizing it as a 3...",
"availableLanguages": [{"language": "English", "languageCode": "en", "isGenerated": false}, {"language": "Spanish", "languageCode": "es", "isGenerated": false}],
"segments": [
{"start": 4.22, "duration": 1.18, "text": "This is a 3."},
{"start": 6.06, "duration": 4.65, "text": "It's sloppily written and rendered at an extremely low resolution of 28x28 pixels,"}
]
}

Videos that can't be transcribed come back as {"ok": false, "error": "NoCaptions"} (or VideoUnavailable, LoginRequired) and are not charged.

Pricing

Pay per event, no subscription, no monthly fee:

EventPrice
Transcript fetched$0.004 ($4 per 1,000 videos)
No captions, private, removed or invalid videoFree

Set a maximum cost per run in Apify and the run stops cleanly when it's reached.

Use it from the API or with AI agents

curl -X POST "https://api.apify.com/v2/acts/poised_beardlichen~youtube-transcript-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" -d '{"video": "dQw4w9WgXcQ", "includeSegments": false}'

Use in ChatGPT or Claude

Add this tool to your AI assistant as a custom connector (MCP server) with this URL:

https://mcp.apify.com?tools=poised_beardlichen/youtube-transcript-scraper
  • ChatGPT: Settings → Apps & Connectors → Create (needs Developer mode), paste the URL, choose OAuth and sign in to Apify.
  • Claude: Settings → Connectors → Add custom connector, paste the URL, then click Connect.

Runs go on your own Apify account at the same per-event prices, so the free plan's monthly credit applies.

FAQ

Does it work for videos without captions? No. It reads YouTube's own captions (manual or auto-generated). Most spoken videos have auto-generated captions. For a video with none, use our Audio & Video Transcriber on the audio file instead. Videos without captions are free.

Can it translate? Not at the moment. YouTube heavily rate-limits its auto-translated captions, so we return the original captions instead of failing.

Is it reliable? Requests that YouTube blocks are retried automatically through fresh residential IPs. In our tests every video that had captions returned a transcript.

Is this legal? It reads publicly available captions. You are responsible for how you use the content, including copyright.

Other tools by us

Support

Found a problem or need a feature? Open an issue on the Issues tab.