Get the transcript of any YouTube video or Short as clean text, timestamped text, segments and SRT. Bulk URLs, any language, auto-translate. Pay only for transcripts you get; failed videos are free.
Open on Apify: gouda_studios/youtube-transcript-extractor
maxResults to cap spend.| Name | Type | Default | Description |
|---|---|---|---|
videos | array | Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs. | |
languages | array | ["en"] | Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned. |
translateTo | string | Language code to auto-translate the transcript into using YouTube's translation, e.g. en. | |
preferManual | boolean | true | Use manually created captions over auto-generated ones when both exist. |
includeSegments | boolean | true | Add an array of segments with start time and duration. |
includeSrt | boolean | false | Add an SRT subtitle file as a string. |
maxVideos | integer | 1000 | Stop after this many videos. |
proxyConfiguration | object | {"useApifyProxy": false} | Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to. |
{
"videos": [
"https://www.youtube.com/watch?v=UF8uR6Z6KLc"
],
"languages": [
"en"
],
"includeSrt": false
}
| Field | Type | Description |
|---|---|---|
videoId | string | YouTube video ID |
url | string | Watch URL |
title | ['string', 'null'] | Video title |
channel | ['string', 'null'] | Channel name |
channelUrl | ['string', 'null'] | Channel URL |
status | string | ok or error |
languageCode | string | Transcript language code |
language | string | Transcript language name |
isGenerated | boolean | True for auto-generated captions |
translatedTo | ['string', 'null'] | Translation target if requested |
wordCount | integer | Words in transcript |
durationSeconds | number | End time of last caption |
text | string | Full transcript as one string |
timestampedText | string | Transcript lines prefixed with [m:ss] |
segments | array | Timed caption segments {start, duration, text} |
srt | string | SRT subtitles (if requested) |
availableLanguages | array | All caption tracks on the video |
error | string | Why the video failed (not charged) |
{
"videoId": "UF8uR6Z6KLc",
"url": "https://www.youtube.com/watch?v=UF8uR6Z6KLc",
"title": "Steve Jobs' 2005 Stanford Commencement Address",
"channel": "Stanford",
"channelUrl": "https://www.youtube.com/@stanford",
"status": "ok",
"languageCode": "en",
"language": "English - English",
"isGenerated": false,
"translatedTo": "en",
"wordCount": 2298,
"durationSeconds": 903.76,
"text": "This program is brought to you by Stanford University. Please visit us at stanford.edu Thank You. I am honored to be with you today at your commencement from one of the finest universities in the world. Truth be told I never graduated from college and this is the closest I've ever gotten to a colleg...",
"timestampedText": "[0:07] This program is brought to you by Stanford University.\n[0:10] Please visit us at stanford.edu\n[0:22] Thank You. I am honored to be with you today at your commencement\n[0:30] from one of the fin ...",
"availableLanguages": [
{
"languageCode": "ar",
"language": "Arabic",
"isGenerated": false
},
{
"languageCode": "en",
"language": "English (auto-generated)",
"isGenerated": true
},
{
"languageCode": "en",
"language": "English - English",
"isGenerated": false
}
],
"segments": [
{
"start": 7.47,
"duration": 2.899,
"text": "This program is brought to you by Stanford University."
},
{
"start": 10.47,
"duration": 3.973,
"text": "Please visit us at stanford.edu"
},
{
"start": 22.492,
"duration": 7.527,
"text": "Thank You. I am honored to be with you today at your commencement"
}
]
}
curl -X POST "https://api.apify.com/v2/acts/gouda_studios~youtube-transcript-extractor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"videos": ["https://www.youtube.com/watch?v=UF8uR6Z6KLc"], "languages": ["en"], "includeSrt": false}'
Connect an MCP client to https://mcp.apify.com and add the actor gouda_studios/youtube-transcript-extractor, for example https://mcp.apify.com/?tools=gouda_studios/youtube-transcript-extractor.
This actor is eligible for Apify agentic payments, so an AI agent can pay per run without an Apify account. See Apify x402 docs.
Machine-readable: /tools/youtube-transcript-extractor.json
Contact: m0f@mail.grokbot.com | Machine-readable: llms.txt, llms-full.txt, tools.json, openapi.json | Source: GitHub