YouTube Transcript & Captions Scraper — Subtitles to Text
Pricing
from $20.00 / 1,000 transcript extracteds
YouTube Transcript & Captions Scraper — Subtitles to Text
YouTube transcript and YouTube captions scraper: full transcripts and subtitles from YouTube videos in multiple languages, including auto-generated subs, with optional timestamps. Bulk processing for content repurposing, SEO and AI training data.
Pricing
from $20.00 / 1,000 transcript extracteds
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Get the YouTube transcript of any video: YouTube captions and subtitles as clean text, in any available language, in bulk.
Captions & Text
📊 Sample Output

videoId | url | language | languageName | languageCode | isAutoGenerated |
|---|---|---|---|---|---|
| dQw4w9WgXcQ | https://www.youtube.com/watch?v=dQw4w9WgXcQ | en | English | en | False |
Real rows from run 4gDDOkmAgAKHewWQv on build 0.1.14 (2026-09-24), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.
⚙️ Sample inputs
This is the Store example input — the same input Apify's automated check runs — so it is proven to return rows on the current build. Paste it into the input form, or send it through the API, CLI or a schedule:
{"languages": ["en"],"includeTimestamps": true}
🔧 Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
urls | array | ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"] | List of YouTube video URLs to extract transcripts from. watch, youtu.be, /shorts/ and /embed/ links are all accepted. |
videoIds | array | List of YouTube video IDs (11-character codes). Use this instead of, or alongside, urls. | |
languages | array | ["en"] | Preferred transcript languages, most-wanted first (e.g. en, es, de). Leave empty to use English. A video with no transcript in any of these languages is reported and NOT charged. |
includeTimestamps | boolean | true | Include start time and duration for each text segment. |
useResidentialProxy | boolean | true | Route through the Apify residential proxy. Strongly recommended: YouTube blocks most datacenter IPs, and with this off a blocked run simply fails. |
proxyCountry | string | Optional residential proxy country code (e.g. US). Leave blank for any. |
🧾 JSON sample record
One real record from run 4gDDOkmAgAKHewWQv (emails/phones masked, long text shortened):
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","language": "en","languageName": "English","languageCode": "en","isAutoGenerated": false,"segmentCount": 61,"fullText": "[♪♪♪] ♪ We're no strangers to love ♪ ♪ You know the rules\nand so do I ♪ ♪ A full commitment's\nwhat I'm thinking of ♪ ♪ You wouldn't get this\nfrom any other guy ♪ ♪ I just wanna tell you\nhow I'm feeling ♪ ♪ Gotta make you understand ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪ ♪ We've known each other\nfor so long ♪ ♪ Your heart's been aching\nbut you're too shy to say it ♪ ♪ Inside we both know\nwhat's been going ♪ ♪ We know the game\nand we're gonna play it ♪ ♪ And if you ask me\nhow I'm feeling ♪ ♪ Don't tell me\nyou're too blind to see ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪ ♪ (Ooh, give you up) ♪ ♪ (Ooh, give you up) ♪ ♪ Never gonna give,\nnever gonna give ♪ ♪ (Give you up) ♪ ♪ Never gonna give,\nnever gonna give ♪ ♪ (Give you up) ♪ ♪ We've known each other\nfor so long ♪ ♪ Your heart's been aching\nbut you're too shy to say it ♪ ♪ Inside we both know\nwhat's been going ♪ ♪ We know the game\nand we're gonna play it ♪ ♪ I just wanna tell you\nhow I'm feeling ♪ ♪ Gotta make you understand ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪ ♪ Never gonna give you up ♪ ♪ Never gonna let you down ♪ ♪ Never gonna run around\nand desert you ♪ ♪ Never gonna make you cry ♪ ♪ Never gonna say goodbye ♪ ♪ Never gonna tell a lie\nand hurt you ♪","segments": [{"text": "[♪♪♪]","start": 1.36,"duration": 1.68},{"text": "♪ We're no strangers to love ♪","start": 18.64,"duration": 3.24},{"text": "♪ You know the rules\nand so do I ♪","start": 22.64,"duration": 4.32},{"text": "♪ A full commitment's\nwhat I'm thinking of ♪","start": 27.04,"duration": 4},{"text": "♪ You wouldn't get this\nfrom any other guy ♪","start": 31.12,"duration": 3.96},{"text": "♪ I just wanna tell you\nhow I'm feeling ♪","start": 35.16,"duration": 4.36},{"text": "♪ Gotta make you understand ♪","start": 40.52,"duration": 2.4},{"text": "♪ Never gonna give you up ♪","start": 43,"duration": 2.12},"…"]}
💰 Pricing
| Event | Price (USD) | When it is charged |
|---|---|---|
Actor Start (apify-actor-start) | $0.005 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Transcript extracted (apify-default-dataset-item) | $0.02 | Full transcript extracted from a YouTube video. |
Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.02 = $2.00 plus the start fee.
🔗 Related Actors
More from the NexGenData Social, video & reviews family:
- Universal Video Extractor — Any URL to Downloadable Video
- WCAG 2.2 Accessibility Auditor — Bulk axe-core
- YouTube Comments Scraper — Video Comment API
- YouTube Scraper — Video Metadata, Stats & Download Links
8 more in this family on the NexGenData Store page.
📊 What you get
Clean JSON output (6 fields):
videoId— Video Idurl— Urllanguage— LanguagesegmentCount— Segment CountfullText— Full Textsegments— Segments
Pricing: $0.020 per transcript (Pay-Per-Event) — about 50 transcripts per $1.
🤖 Use with AI agents
Point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it.
Sample agent prompt:
Run YouTube Transcript Scraper on my input and return the structured results.
Agentic payments (x402): Supports agentic payment via x402 — call this actor with USDC, no API key required.
🔗 Related tools — Video tools
YouTube Metadata · Universal Video Extractor · Video Link Extractor
A NexGenData utility actor.