YouTube Transcript Scraper — $0.002 per video avatar

YouTube Transcript Scraper — $0.002 per video

Pricing

from $2.00 / 1,000 transcript scrapeds

Go to Apify Store
YouTube Transcript Scraper — $0.002 per video

YouTube Transcript Scraper — $0.002 per video

Extract YouTube video transcripts and subtitles as clean structured JSON with timestamps, language info and video title. Manual and auto-generated captions, any language. Only $0.002 per transcript — the cheapest on Apify; failed videos are never charged.

Pricing

from $2.00 / 1,000 transcript scrapeds

Rating

0.0

(0)

Developer

Steffano van Hoven

Steffano van Hoven

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

What does YouTube Transcript Scraper do?

YouTube Transcript Scraper extracts the full transcript (subtitles/captions) of any YouTube video as clean, structured JSON — for just $0.002 per transcript, the cheapest on Apify. Paste video URLs or IDs, run the Actor, and get the complete spoken text with timestamps, language info, and video title. It supports both manual captions and auto-generated captions in any language YouTube offers.

Because it runs on the Apify platform, you get API access, scheduling, webhooks, integrations (Make, Zapier, n8n, LangChain, MCP), and monitoring out of the box.

Why use YouTube Transcript Scraper?

  • Cheapest per-transcript price on Apify: $0.002. Comparable actors charge $0.005-$0.01 per transcript — 2.5× to 5× more.
  • You only pay for delivered transcripts. Videos without captions, unavailable videos, or blocked requests are never charged.
  • Built for AI workflows. Feed transcripts into RAG pipelines, summarizers, content repurposing tools, or LLM agents. The plain-text field is ready for embedding; the segments array keeps timestamps for citation and clipping.
  • Any language. Request your preferred language (e.g. en, es, de, pt-BR); the Actor falls back to the best available track and always tells you which language you got.
  • Honest output. Every video gets a result row with an explicit status (ok, no_transcript, unavailable, blocked, error) so your automation can handle each case.

How to use YouTube Transcript Scraper

  1. Click Try for free — you'll need an Apify account (free plan works).
  2. Paste one or more YouTube video URLs (or bare 11-character video IDs) into YouTube videos.
  3. Optionally set your Preferred language (default: English) and toggle Include timestamped segments.
  4. Click Start. Results appear in the Output tab within seconds per video.
  5. Export the dataset as JSON, CSV, Excel, or HTML — or fetch it via the API.

Input

FieldTypeDescription
videoUrlsarrayYouTube video URLs or 11-character video IDs. Supports watch?v=, youtu.be/, shorts/, embed/, live/. Max 200 per run.
languagestringPreferred transcript language (ISO code, default en). Falls back to the best available track.
includeSegmentsbooleanInclude the timestamped segments array (default true). Disable for smaller, plain-text-only output.
proxyConfigurationobjectProxy settings. Keep the default (Apify residential proxy) — YouTube blocks most datacenter IPs.
{
"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"language": "en",
"includeSegments": true
}

Output

Each video produces one dataset item. You can download the dataset in various formats such as JSON, CSV, Excel, or HTML.

{
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"status": "ok",
"language": "en",
"isAutoGenerated": false,
"segmentCount": 61,
"charCount": 2089,
"text": "We're no strangers to love You know the rules and so do I ...",
"segments": [
{ "start": 18.64, "duration": 3.24, "text": "We're no strangers to love" }
],
"error": null
}
FieldDescription
videoId / url / titleVideo identification.
statusok, no_transcript, unavailable, blocked, or error. Only ok is charged.
languageLanguage of the returned track (may differ from your preference if unavailable).
isAutoGeneratedtrue for YouTube auto-captions, false for manual subtitles.
textThe full transcript as plain text.
segmentsArray of { start, duration, text } in seconds (when enabled).
charCount / segmentCountSize indicators for quick filtering.

How much does it cost to scrape YouTube transcripts?

$0.002 per successfully extracted transcript — that's 500 transcripts per $1. You are never charged for videos without captions, unavailable/private videos, or blocked requests. Apify platform usage (compute, residential proxy traffic) is billed separately by Apify at standard platform rates; a typical transcript costs well under a cent in total.

Tips

  • Keep the residential proxy enabled (the default). YouTube aggressively blocks datacenter IPs with a "confirm you're not a bot" wall; residential proxies avoid this.
  • Batch up to 200 videos per run — sequential processing with automatic retry on blocked videos.
  • Set includeSegments to false if you only need plain text and want a smaller dataset.
  • If a run reports many blocked results, re-run it — the Actor automatically rotates to fresh proxy sessions.

FAQ and disclaimers

Does this Actor download videos or audio? No. It only retrieves the caption/subtitle text that YouTube already publishes for the video.

Can it transcribe videos that have no captions at all? No — it extracts existing captions (manual or auto-generated). Videos without any captions return status: "no_transcript" and are not charged.

Is scraping YouTube transcripts legal? This Actor only accesses publicly available caption data and does not collect personal data. You are responsible for how you use the extracted content — respect copyright and YouTube's Terms of Service for your use case.

Found a bug or missing feature? Open an issue in the Issues tab — issues are answered within a few days.