YouTube Captions Downloader - Transcript & Subtitles Scraper avatar

YouTube Captions Downloader - Transcript & Subtitles Scraper

Pricing

from $5.00 / 1,000 transcripts

Go to Apify Store
YouTube Captions Downloader - Transcript & Subtitles Scraper

YouTube Captions Downloader - Transcript & Subtitles Scraper

Download the captions and transcript of any YouTube video, or subtitles for a whole list: timestamped caption segments and full text in your language, manual or auto-generated, with title, channel, duration and views. Shorts and live links work. $5 per 1,000 videos; no captions or failures are free.

Pricing

from $5.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

Tenfold Fleet

Tenfold Fleet

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

What does YouTube Captions Downloader do?

YouTube Captions Downloader downloads the transcript (captions / subtitles) of any YouTube video in bulk. Give it video URLs or IDs and it returns timestamped caption segments and the full transcript text, plus the video's title, channel, duration, view count and description.

It works with every link form: youtube.com/watch?v=, youtu.be/, YouTube Shorts, embeds, live-stream recordings and bare 11-character video IDs. Pick your preferred languages (e.g. en, es, de), choose whether auto-generated captions are allowed, and get clean JSON you can feed straight into an LLM, a RAG pipeline or a spreadsheet.

It is a fast YouTube transcript API that runs on plain HTTP requests (no browser), so it's cheap and quick: $5 per 1,000 transcripts, and you only pay when a non-empty transcript is returned.

Why use a YouTube transcript scraper?

  • 🤖 AI and LLM workflows: summarize videos, answer questions about them, or build a RAG knowledge base from a channel's back catalogue.
  • ✍️ Content repurposing: turn videos into blog posts, newsletters, show notes and social threads.
  • 🔎 Research and monitoring: search what creators, competitors or brands actually say on camera.
  • 🎓 Education and accessibility: get readable text and subtitles for lectures and tutorials.
  • 📈 SEO and marketing: mine video transcripts for keywords and topics.

Runs on the Apify platform, so you get an API, scheduling, webhooks and integrations with Make, Zapier, n8n, LangChain and LlamaIndex. It also works as an MCP tool for AI agents through the Apify MCP server.

What data can it extract?

FieldExample
inputthe URL or ID exactly as you entered it
videoId, urldQw4w9WgXcQ, https://www.youtube.com/watch?v=dQw4w9WgXcQ
title, channel, channelIdvideo title and channel name / ID
durationSec, viewCount213, 1821858729
descriptionthe video description
language, languageNameen, English
isAutoGeneratedtrue for YouTube's speech-recognition captions
availableLanguagesevery caption track on the video: [{ "languageCode": "de-DE", "name": "German (Germany)", "isAutoGenerated": false }]
segments[{ "start": 18.64, "dur": 3.24, "text": "We're no strangers to love" }] (seconds)
fullTextthe whole transcript as one string
segmentCountnumber of caption segments
errorwhy a video failed (no captions, private, removed...), otherwise null

How to get the transcript of a YouTube video

  1. Click Try for free.
  2. Paste one or more YouTube links or video IDs into YouTube video URLs or IDs (one per line).
  3. Set Preferred languages (default en). If a video has no captions in those languages, you get its original-language transcript.
  4. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.

Call it from the API

curl -X POST "https://api.apify.com/v2/acts/tenfoldfleet~youtube-transcript-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"videos": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"], "languages": ["en"], "outputFormat": "text"}'

Python (pip install "apify-client>=3"):

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("tenfoldfleet/youtube-transcript-scraper").call(run_input={"videos": ["https://youtu.be/jNQXAC9IVRw"]})
for video in client.dataset(run.default_dataset_id).iterate_items():
print(video["title"], video.get("language"), video.get("error") or (video.get("fullText") or "")[:300])

On apify-client 2.x, call() returns a dict: use run["defaultDatasetId"] instead.

How much does it cost?

You pay $0.005 per transcript ($5 per 1,000 videos). Videos without captions, private or removed videos, invalid links and any other failures are free: they appear in the dataset with an error field and are never charged. Apify's free plan includes monthly credit, so you can try it on hundreds of videos at no cost. Set a maximum cost per run and the Actor stops before it goes over that amount.

Input

{
"videos": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/jNQXAC9IVRw",
"https://www.youtube.com/shorts/aqz-KE-bpKQ",
"kJQP7kiw5Fk"
],
"languages": ["en", "es"],
"includeAutoGenerated": true,
"outputFormat": "both"
}
  • outputFormat: both (segments + full text), segments or text.
  • languages: leave empty to always get the video's original language.
  • strictLanguage: set to true to get a free error item instead of another language's transcript when none of your languages exists.

Output

One item per video. You can download the dataset as JSON, CSV, Excel, XML or HTML.

{
"input": "https://youtu.be/jNQXAC9IVRw",
"videoId": "jNQXAC9IVRw",
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channel": "jawed",
"channelId": "UC4QobU6STFB0P71PMvOGN5A",
"durationSec": 19,
"viewCount": 438706382,
"language": "en",
"languageName": "English",
"isAutoGenerated": false,
"availableLanguages": [{ "languageCode": "en", "name": "English", "isAutoGenerated": false }, { "languageCode": "de", "name": "German", "isAutoGenerated": false }],
"segmentCount": 6,
"segments": [
{ "start": 1.2, "dur": 2.16, "text": "All right, so here we are, in front of the elephants" }
],
"fullText": "All right, so here we are, in front of the elephants ...",
"error": null
}

Tips

  • Shorts, embeds and live-stream links are accepted as they are. Many Shorts and live recordings have no captions, though; those come back as free error items. Streams that are live right now are skipped for free.
  • Use outputFormat: "text" for LLM prompts: smaller output, faster downloads.
  • Large lists: the Actor handles about 4 videos per second, so the default 1-hour timeout covers roughly 10,000 videos. For bigger lists, raise the run timeout or split the list. If a run times out, resurrect it: videos already in the dataset are skipped, never charged twice.
  • Region variants match automatically: asking for pt also finds pt-BR, and en finds en-GB.
  • Turn Include auto-generated captions off if you only want creator-uploaded subtitles.

Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add https://mcp.apify.com?tools=tenfoldfleet/youtube-transcript-scraper as a remote MCP server and sign in with your Apify account. The agent fills in the input, runs the Actor and reads the results itself; you pay the same per-event price as a normal run.

FAQ

Does it work for videos without subtitles?

Only if YouTube has generated automatic captions, which it does for most spoken videos. If a video has no captions at all (music without lyrics, very new uploads, some live streams), you get a free item with an error explaining why.

Can I get the transcript in a specific language?

Yes. List language codes in Preferred languages in order. The Actor picks human-made captions first, then auto-generated ones, and falls back to the original language if none of your languages exist. availableLanguages shows every track the video has.

Can I get every transcript from a channel or playlist?

Not directly yet. Paste the URLs of the individual videos. A channel or playlist URL returns a free error item.

Do I need a YouTube account, API key or cookies?

No. It reads publicly available caption data. No login, no YouTube Data API quota.

Can it scrape private, members-only or age-restricted videos?

No. Those need a signed-in account, so they return a free error item.

The Actor only reads publicly available caption data. You are responsible for how you use the transcripts: respect copyright and YouTube's Terms of Service, and don't republish creators' content without permission.

This Actor is not affiliated with, endorsed or sponsored by YouTube or Google.

More tools from Tenfold Fleet

ActorOutput
ALDI Australia Scraper - AU Products, Unit Prices & Catalogueproduct
Alibaba Image Search - Reverse Lookup of Suppliers by Photomatched product
Wholesale Suppliers - MOQ & Price Breaks (Alibaba Alternative)product
AliExpress Reviews Scraper: Product Feedback & Photos Monitorreview
AliExpress Keyword Scraper - Exact Sold Counts by Search Termproduct
Amazon Bestsellers Tracker: New Releases & Rank Changesranked product
Amazon Product Scraper - Details, Prices & Search by ASINproduct
Applicant Tracking Jobs Scraper - Greenhouse, Lever & 6 Morejob posting
Audio Transcription: MP3 & Video Files to Text, SRT, VTTaudio minute transcribed
Backlinks Checker - Referring Domains, Anchors & Domain Rankbacklink
BBB Scraper: Business Leads, Ratings & New Reviewsbusiness
Bilibili Scraper - Videos, Comments, Danmaku & Searchvideo or comment
Businesses Without Websites - Local Leads with Phone & Ratinglead
Coles Product Scraper - Australian Supermarket Prices & Dealsproduct
Company Contact Lookup - One Lead Record per Websitewebsite with contacts
Contact Form Finder: Form Fields, Embed Type & Captcha Flagwebsite with contact page or form
CutShort Jobs Scraper - Startup Roles with INR Salary Rangesjob listing
Facebook Ads Library Scraper for Marketersad
Facebook Ads Transcript - Spoken Hook, CTA, Offer & Anglevideo ad transcript
Facebook Page Contact Finder - Business Leads from Page Linkspage with contact details
Facebook Reels Scraper: Views & Captions Monitor for Any Pagereel
Facebook Reels Transcript - Facebook Video to Text, No Loginreel transcript
Foundit Jobs Monitor: India, Singapore & Malaysia Jobs Scraperjob listing
Funding Rounds Scraper - Recently Funded Companies & Investorsfunding round
Google Ads Transparency Center Scraper - Competitor Ads by Sitead
Google AI Overviews Checker - Citations & Domain Trackerkeyword checked
Flights API - Route & Date Fares (Google Flights Alternative)route search
Google Hotels Scraper - Nightly Prices, Stars & Booking Siteshotel
Google for Jobs Scraper - Openings by City, Pay & Job Boardjob listing
Google Keyword Planner Alternative - Ideas, Bids & Volumekeyword idea
Google Maps Extractor - Business Leads, Phones & Websitesplace
Google News Scraper - Articles, Real URLs & Full Textarticle
Google Travel Hotel Rate Tracker - OTA Prices for Every Nightoffer
Search Trends by Region & Time - Google Trends Data Scraperkeyword
Hirist Jobs Scraper: India Tech Jobs with New-Job Monitorjob listing
IIMJobs Jobs Scraper: Search & Monitor Management Rolesjob listing
India Jobs Feed: Hirist, IIMJobs, Foundit, Instahyre & Cutshortjob listing
Instagram Reels Analytics - Profile Reel Plays, Likes, Commentsreel
Instagram Reels Search - Keyword to Top Reels, Plays & Creatorsreel
Instagram Reels Transcript - Speech to Text for Public Reelsreel transcript
Instahyre Jobs Monitor: New Tech Jobs in India by Skilljob listing
Keyword Ideas & Related Keywords - Difficulty, Volume & CPCkeyword idea
Keyword Search Volume, CPC & Difficulty Checker (Bulk)keyword with data
Likee Scraper - Creators by Country, Video Views & Likesvideo
LinkedIn Ads Library Scraper - Competitor Ad Copy & Targetingad
LinkedIn Company Posts Monitor: New Posts, No Loginpost
LinkedIn Company Scraper: Firmographics & Recent Postscompany
Naver Shopping Scraper - Keyword Rank, Prices, Ads & Mallsproduct
Pinterest Search Scraper: Pins, Promoted Ads & Shop Trendspin
Podcast Transcription: Episodes to Text, SRT & Monitoraudio minute transcribed
Reddit Brand Monitoring - Keyword Alerts for Posts & Commentsmention
Reddit Post Comments Export: Threads to JSON & CSVcomment
Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sitesunique remote job
Reverse Image Search - Find Every Site Using a Photoimage searched
SEEK Jobs Scraper - Salaries & Hiring Across 8 APAC Job Boardsjob listing
Semrush API Domain Traffic: Visits, Authority Score, AI Trafficdomain
SEO Agent - AI Keyword Research & Competitor Reportsresearch report
SEO Crawler - Technical SEO Audit Tool & On-Page Checkerpage audit
SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gapkeyword
Shopify Inventory Scraper - SKUs, Variants & In-Stock Statusproduct
Shopify App & Theme Detector - Store Analyzer & Contactsshopify store
Sitemap URL Extractor - All URLs from sitemap.xml & robots.txturl
Stock Photos & Videos Scraper for Pexelsmedia item
Website Built With Checker - Find Any Site's CMS & Tech Stackwebsite
Telegram Keyword Search Monitor - New Mentions in Channelsmatching message
Threads Search - Keyword & Profile Posts Scraper (No Login)post
TikTok Ads Library Scraper: Competitor Ads in Europead
TikTok Transcripts - Captions or Speech to Text for Any Videovideo transcript
Twitter Video Transcript - X Video to Text & SRTvideo transcript
HTML to Text & URL to Markdown - LLM Ready Web Contentpage
Video Transcriber - Any Link to Text, SRT & VTT (7 Platforms)video transcribed
Website Traffic Checker - Bulk Domain Traffic Estimatedomain with traffic data
WeChat Official Account Articles - Keyword Search to Markdownarticle found
Weibo Scraper - Comment Threads, Hot Search Ranks & User Statscomment
Woolworths Product Scraper - AU Shelf Prices, Specials & GTINsproduct
Workday Jobs Scraper - myworkdayjobs.com API with Salaryjob posting
Yahoo Finance Scraper - Quotes, History, Fundamentals & Newsticker row
YouTube Channel Email Scraper - Creator Contact Extractorchannel with email
YouTube Livestream & Channel Scraper - Videos, Likes & Statsvideo
YouTube Comments Scraper - Replies, Likes & Sort by Newestcomment
YouTube Search Scraper: Keyword Video & Shorts Monitorsearch result
YouTube Shorts Analytics Scraper - Views, Likes & Hashtagsshort
YouTube Video Details Lookup: Views, Likes & Tags by URLvideo details
⌂ 换网址