YouTube Transcript avatar

YouTube Transcript

Pricing

$5.00 / 1,000 transcript fetcheds

Go to Apify Store
YouTube Transcript

YouTube Transcript

Fetch YouTube video transcripts via TranscriptAPI. Bulk-friendly, with optional metadata and timestamps.

Pricing

$5.00 / 1,000 transcript fetcheds

Rating

0.0

(0)

Developer

Andrej Šimunaj

Andrej Šimunaj

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 days ago

Last modified

Share

$5/1K — YouTube Transcript Scraper: Bulk Extract Captions, Subtitles & Video Transcripts

Extract YouTube transcripts at scale. No API key, no subscription, no actor-start fee. Pay $5 per 1,000 successful transcripts — and nothing when a video fails.

Under 500 ms typical📊 15 M+ transcripts processed every month🛡️ Doesn't break when YouTube changes things🔌 Powered by TranscriptAPI.com

A reliable, production-grade YouTube transcript scraper for content research, AI/LLM training data, RAG pipelines, SEO, accessibility, brand monitoring, and anything else that needs the spoken words from a YouTube video as clean structured text.


🚀 Why this YouTube transcript scraper?

  • 🛡️ Doesn't break when YouTube changes things. YouTube tweaks its backend constantly. Our infrastructure rolls with it — we've shipped through every YouTube change for years without dropping transcripts. You don't get empty results, mystery 500s, or weeks of broken runs.
  • Typically returns a transcript in under 500 ms. Backed by TranscriptAPI.com, which has a median latency of 49 ms, plus a small Apify networking hop on top.
  • 📊 15 M+ transcripts processed every month — battle-tested in real production traffic, not a side-project script.
  • 💸 No actor-start fee — we absorb the run cost. You pay only for delivered transcripts.
  • 🆓 Errors are free — failed videos (no captions, removed, age-restricted, etc.) cost you nothing.
  • 🔑 No YouTube API key required — bring a URL, we bring the transcript.
  • 📦 Bulk-friendly — pass an array of URLs or video IDs, get an Apify Dataset back, ready for export to JSON, CSV, Excel, or your warehouse.
  • 🧹 Clean structured output — JSON segments with timestamps, or plain text, your choice.
  • 🎞️ Optional video metadata — title, channel/author, thumbnail when you ask for it.
  • 🌐 Every URL formatyoutube.com/watch?v=, youtu.be/, youtube.com/shorts/, embed links, or bare 11-character video IDs all work out of the box.

💰 Pricing

EventPrice
Actor startFree (we absorb it)
Per transcript delivered$0.005 (= $5 per 1,000 transcripts)
Failed videos (no captions, removed, etc.)Free

Pay-per-result. No subscription. No monthly minimum. No hidden fees. If we don't deliver a transcript, you don't pay.


⚡ Quick Start

  1. Click Try for free at the top of this page.
  2. Paste one or more YouTube URLs into videoUrls.
  3. Run. Results land in the actor's default Dataset, exportable to JSON, CSV, Excel, XML, or HTML.
{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/jNQXAC9IVRw",
"jNQXAC9IVRw"
],
"format": "json",
"includeTimestamps": true,
"sendMetadata": true
}

📥 Input

FieldTypeDefaultDescription
videoUrlsstring[](required)List of YouTube URLs or 11-character video IDs.
format"json" | "text""json"json = array of timed segments. text = single concatenated string.
includeTimestampsbooleantrueWhen true, segments include start (seconds) and duration. When false, only text.
sendMetadatabooleanfalseWhen true, include video title, author/channel, and thumbnail.

📤 Output

Each video produces one item in the Dataset.

Successful transcript (JSON format, with metadata):

{
"input_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.8, "duration": 4.2 },
{ "text": "You know the rules and so do I", "start": 23.0, "duration": 3.5 }
],
"metadata": {
"title": "Rick Astley - Never Gonna Give You Up",
"author_name": "Rick Astley",
"author_url": "https://www.youtube.com/@RickAstley",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg"
}
}

Plain-text format (format: "text", no timestamps):

{
"input_url": "https://youtu.be/jNQXAC9IVRw",
"video_id": "jNQXAC9IVRw",
"language": "en",
"transcript": "All right, so here we are in front of the elephants..."
}

Failed video (free of charge):

{
"input_url": "https://www.youtube.com/watch?v=BADID000000",
"error": true,
"status": 404,
"detail": "No transcript available for video BADID000000"
}

🎯 Use Cases

  • AI / LLM training data — collect high-quality transcribed speech from any niche on YouTube.
  • RAG knowledge bases — index educational channels, lectures, and podcasts for retrieval-augmented generation.
  • Content research & SEO — extract topics, keywords, and themes from competitor videos.
  • Brand monitoring — pipe transcripts into NLP / sentiment analysis to track how creators talk about you.
  • Podcast & lecture transcription — turn long-form video into searchable, quotable text.
  • Repurposing video into content — blog posts, newsletters, X/LinkedIn threads, YouTube Shorts captions, summaries.
  • Accessibility — generate plain-text alternatives for video content.
  • Search indexing — make video libraries searchable inside your own app.
  • Market research — sentiment & narrative analysis across product/category videos.
  • Academic research — corpus building for linguistic, media, or political analysis.

🌐 Supported URL Formats

The scraper accepts every common YouTube URL format and bare video IDs:

FormatExample
Standard watch URLhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
Short URLhttps://youtu.be/dQw4w9WgXcQ
Shorts URLhttps://www.youtube.com/shorts/dQw4w9WgXcQ
Embed URLhttps://www.youtube.com/embed/dQw4w9WgXcQ
Bare video IDdQw4w9WgXcQ

🔌 Integrations

Run this actor from anywhere via Apify's native integrations:

  • 🐍 Pythonapify-client SDK
  • 🟢 Node.js / JavaScriptapify-client SDK
  • 🔗 REST API — POST to /v2/acts/.../runs and read the Dataset
  • 🧩 n8n — official Apify nodes
  • ⚙️ Make (Integromat) — official Apify modules
  • Zapier — official Apify Zap actions
  • 🪝 Webhooks — fire on run finish, success, or failure
  • 🤖 MCP / Claude Desktop / Cursor — expose this actor as a tool to your AI agents via the Apify MCP server
  • 🧱 LangChain / LlamaIndex — drop the Dataset directly into a RAG pipeline

❓ FAQ

How do I get a YouTube video transcript via API? Pass the video URL or ID to this actor's videoUrls input. The transcript comes back in the Dataset as either JSON segments (with timestamps) or a single plain-text string. No YouTube Data API key, no Google Cloud project, nothing to configure.

Is there an API for YouTube transcripts? Yes — this actor exposes a clean REST endpoint via Apify. Call it from Python, Node.js, or any HTTP client. Full SDK docs in the API tab above.

How much does YouTube transcript extraction cost? $5 per 1,000 successfully delivered transcripts. Failed videos are free. No actor-start fee. No subscription.

Can I extract transcripts from YouTube Shorts? Yes. Pass the Shorts URL (https://www.youtube.com/shorts/<ID>) like any other video.

What if a video has no captions? You get a structured error item with error: true, status, and detail. You're not charged for it.

Which languages are supported? This version returns the transcript in the video's primary published caption language (typically the video's original audio language). Multi-language priority fallback is on the roadmap.

Can I translate transcripts to another language? Not in this actor. Translation is on the roadmap as a separate optional event.

Is YouTube transcript scraping legal? Captions on public YouTube videos are publicly available data. We only access what YouTube itself shows to any visitor; we don't bypass age gates, private uploads, or unlisted-link gates. Use the data lawfully (respect copyright, attribution, and GDPR/CCPA where applicable). Talk to your own counsel for your specific use case.

Does the price include Apify platform costs? The $5/1k is what you pay total at run-time, before any optional Apify proxy add-ons (this actor does not require proxies). You only ever pay the per-transcript event price plus any usage-tier costs your own Apify plan adds.

Where do the results go? Each transcript is one item in the actor's default Dataset. Export to JSON, CSV, Excel, XML, HTML, or RSS, or read it programmatically via the Apify API.

What if I need higher volume / parallelism? For very large batches, run the actor multiple times in parallel — Apify schedules and bills each run independently. Reach out via the Issues tab if you have specific scale needs.


This actor only accesses captions and metadata that YouTube makes public to any visitor of a video page. It does not:

  • bypass age restrictions or private/unlisted-only gates,
  • collect personally identifiable user data,
  • scrape comments, watch history, or any signed-in surface.

You're responsible for using the output in compliance with copyright law, YouTube's Terms of Service for your jurisdiction, GDPR / CCPA, and any platform-specific licensing your downstream product requires.


🐛 Support & Roadmap

  • 🐞 Issues / feature requests — use the Issues tab at the top of this page.
  • 📬 Response time — within 1 business day.
  • 🗺️ Roadmap — multi-language priority fallback, optional translations, SRT/VTT output, and parallel fetching.