YouTube Transcript Scraper: Captions to Text & JSON avatar

YouTube Transcript Scraper: Captions to Text & JSON

Pricing

from $1.58 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper: Captions to Text & JSON

YouTube Transcript Scraper: Captions to Text & JSON

YouTube transcript scraper for researchers, creators and developers. Get captions as clean text or timestamped JSON from any video link, in your chosen language, with auto vs manual captions flagged. $0.0019 per transcript.

Pricing

from $1.58 / 1,000 transcripts

Rating

0.0

(0)

Developer

Ben Harmon

Ben Harmon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

🎬 YouTube Transcript Scraper: captions to text & JSON

Turn any YouTube video into clean, timestamped text. Paste video links or IDs, get the full transcript plus every caption segment with start times, ready for AI, search, notes or content repurposing.

✅ Last verified working: 2026-10-22 (automated daily test run)

You only pay for transcripts you receive: $0.0019 per transcript. Videos without captions and bad links are free.

✨ What you get

  • 📝 Full transcript as one clean block of text
  • ⏱️ Timestamped segments (start and duration in seconds) for every caption line
  • 🌍 Language choice: pick a language; available caption languages are listed for every video
  • 🏷️ Video details: title, channel name, channel ID, duration
  • 🤖 Manual vs. auto-generated captions clearly flagged
  • 🔗 Any link format: watch?v=, youtu.be/, /shorts/, /embed/, or a plain 11-character ID
  • 🛡️ Built-in residential proxies: nothing to configure
  • ✅ One row per video, always: problems come back as a readable error, never a crashed run

Use with AI agents (MCP)

This Actor works with the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can find it with the search-actors tool and run it with call-actor. To load it directly as a tool, connect to https://mcp.apify.com?tools=benuelh/youtube-transcripts.

Smallest working input:

{
"videos": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw"
],
"language": "en",
"includeTimestamps": true
}

Each result row has: videoId, title, channelName, durationSeconds, language, isAutoGenerated, segmentCount, transcript (plus error, set only when an item could not be processed).

Price: $0.0019 per transcript. One video transcript delivered. Videos without captions, unavailable videos and invalid links are free. Agents using Apify agentic payments can run it without an Apify account.

  • AI & RAG pipelines: feed transcripts into LLMs, embeddings and knowledge bases
  • Content repurposing: turn videos into blog posts, newsletters, threads and show notes
  • Research & analysis: search, quote and analyze what was said across many videos
  • Accessibility & SEO: publish text versions of video content
  • AI agents: strict input/output schema and limited permissions, so agents can find and run it directly

⚙️ Input

FieldWhat it doesDefault
videosYouTube links or video IDs (required)
languagePreferred caption language code, e.g. en, es, deen
includeTimestampsInclude the timestamped segments arraytrue
proxyGroupsProxy groups used for YouTube requestsRESIDENTIAL
{
"videos": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw",
"https://youtu.be/dQw4w9WgXcQ"
],
"language": "en",
"includeTimestamps": true
}

📦 Output

One item per video:

{
"videoId": "jNQXAC9IVRw",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channelName": "jawed",
"channelId": "UC4QobU6STFB0P71PMvOGN5A",
"durationSeconds": 19,
"language": "en",
"isAutoGenerated": false,
"availableLanguages": ["en", "de"],
"segmentCount": 6,
"transcript": "All right, so here we are, in front of the elephants ...",
"segments": [
{ "start": 1.2, "duration": 2.16, "text": "All right, so here we are, in front of the elephants" }
],
"error": null
}

Download results as JSON, CSV, Excel or XML, or pull them through the Apify API.

💰 Pricing

$0.0019 per transcript delivered. 1,000 transcripts cost $4. You are never charged for videos without captions, private or unavailable videos, or invalid links.

❓ FAQ

What if my language isn't available? You get the best available track (manual captions first), and language tells you which one was used. availableLanguages lists every option for that video.

Does it work with auto-generated captions? Yes. isAutoGenerated tells you whether captions were uploaded by the creator or generated by YouTube.

Why did a video return an error? The video has no captions, is private, age-restricted, removed, or the link is invalid. The error field says which.

Do I need my own proxies or a YouTube account? No. Residential proxies are included and no login is used. Only publicly available captions are fetched.

Is long-form content supported? Yes, from Shorts to multi-hour podcasts and lectures.