Gouda Studios Agent Tools

YouTube Transcript Extractor

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

Use cases

Pricing

Input parameters

NameTypeDefaultDescription
videosarrayWatch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs.
languagesarray["en"]Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned.
translateTostringLanguage code to auto-translate the transcript into using YouTube's translation, e.g. en.
preferManualbooleantrueUse manually created captions over auto-generated ones when both exist.
includeSegmentsbooleantrueAdd an array of segments with start time and duration.
includeSrtbooleanfalseAdd an SRT subtitle file as a string.
maxVideosinteger1000Stop after this many videos.
proxyConfigurationobject{"useApifyProxy": false}Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to.

Example input

{
  "videos": [
    "https://www.youtube.com/watch?v=UF8uR6Z6KLc"
  ],
  "languages": [
    "en"
  ],
  "includeSrt": false
}

Output fields (one row per transcript)

FieldTypeDescription
videoIdstringYouTube video ID
urlstringWatch URL
title['string', 'null']Video title
channel['string', 'null']Channel name
channelUrl['string', 'null']Channel URL
statusstringok or error
languageCodestringTranscript language code
languagestringTranscript language name
isGeneratedbooleanTrue for auto-generated captions
translatedTo['string', 'null']Translation target if requested
wordCountintegerWords in transcript
durationSecondsnumberEnd time of last caption
textstringFull transcript as one string
timestampedTextstringTranscript lines prefixed with [m:ss]
segmentsarrayTimed caption segments {start, duration, text}
srtstringSRT subtitles (if requested)
availableLanguagesarrayAll caption tracks on the video
errorstringWhy the video failed (not charged)

Sample output row

{
  "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"
    }
  ]
}

How to call

Apify API (synchronous, returns dataset items)

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}'

Apify MCP server

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.

Agentic payments (x402 / Skyfire)

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

Gouda Studios Agent Tools badge