{
  "slug": "youtube-transcript-extractor",
  "name": "YouTube Transcript Extractor",
  "title": "YouTube Transcript Extractor: Captions, Subtitles, SRT",
  "actor": "gouda_studios/youtube-transcript-extractor",
  "apify": "https://apify.com/gouda_studios/youtube-transcript-extractor",
  "cat": "Video / AI",
  "uses": [
    "AI agents and LLM apps that summarize or answer questions about YouTube videos",
    "Content teams repurposing videos and Shorts into posts, newsletters and blogs",
    "RAG pipelines and datasets built from spoken content",
    "Exporting SRT subtitles for editing and accessibility"
  ],
  "inputs": [
    {
      "name": "videos",
      "type": "array",
      "title": "YouTube video URLs or IDs",
      "description": "Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs.",
      "default": null
    },
    {
      "name": "languages",
      "type": "array",
      "title": "Preferred languages",
      "description": "Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned.",
      "default": [
        "en"
      ]
    },
    {
      "name": "translateTo",
      "type": "string",
      "title": "Translate to (optional)",
      "description": "Language code to auto-translate the transcript into using YouTube's translation, e.g. en.",
      "default": null
    },
    {
      "name": "preferManual",
      "type": "boolean",
      "title": "Prefer human-made captions",
      "description": "Use manually created captions over auto-generated ones when both exist.",
      "default": true
    },
    {
      "name": "includeSegments",
      "type": "boolean",
      "title": "Include timed segments",
      "description": "Add an array of segments with start time and duration.",
      "default": true
    },
    {
      "name": "includeSrt",
      "type": "boolean",
      "title": "Include SRT subtitles",
      "description": "Add an SRT subtitle file as a string.",
      "default": false
    },
    {
      "name": "maxVideos",
      "type": "integer",
      "title": "Max videos",
      "description": "Stop after this many videos.",
      "default": 1000
    },
    {
      "name": "proxyConfiguration",
      "type": "object",
      "title": "Proxy",
      "description": "Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to.",
      "default": {
        "useApifyProxy": false
      }
    }
  ],
  "outputs": [
    {
      "name": "videoId",
      "type": "string",
      "description": "YouTube video ID"
    },
    {
      "name": "url",
      "type": "string",
      "description": "Watch URL"
    },
    {
      "name": "title",
      "type": [
        "string",
        "null"
      ],
      "description": "Video title"
    },
    {
      "name": "channel",
      "type": [
        "string",
        "null"
      ],
      "description": "Channel name"
    },
    {
      "name": "channelUrl",
      "type": [
        "string",
        "null"
      ],
      "description": "Channel URL"
    },
    {
      "name": "status",
      "type": "string",
      "description": "ok or error"
    },
    {
      "name": "languageCode",
      "type": "string",
      "description": "Transcript language code"
    },
    {
      "name": "language",
      "type": "string",
      "description": "Transcript language name"
    },
    {
      "name": "isGenerated",
      "type": "boolean",
      "description": "True for auto-generated captions"
    },
    {
      "name": "translatedTo",
      "type": [
        "string",
        "null"
      ],
      "description": "Translation target if requested"
    },
    {
      "name": "wordCount",
      "type": "integer",
      "description": "Words in transcript"
    },
    {
      "name": "durationSeconds",
      "type": "number",
      "description": "End time of last caption"
    },
    {
      "name": "text",
      "type": "string",
      "description": "Full transcript as one string"
    },
    {
      "name": "timestampedText",
      "type": "string",
      "description": "Transcript lines prefixed with [m:ss]"
    },
    {
      "name": "segments",
      "type": "array",
      "description": "Timed caption segments {start, duration, text}"
    },
    {
      "name": "srt",
      "type": "string",
      "description": "SRT subtitles (if requested)"
    },
    {
      "name": "availableLanguages",
      "type": "array",
      "description": "All caption tracks on the video"
    },
    {
      "name": "error",
      "type": "string",
      "description": "Why the video failed (not charged)"
    }
  ],
  "description": "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.",
  "page": "https://gouda-studios-agent-tools.vercel.app/tools/youtube-transcript-extractor/",
  "pricing": {
    "model": "pay-per-event",
    "currency": "USD",
    "platformUsageFee": false,
    "events": [
      {
        "name": "apify-actor-start",
        "price": 0.0005
      },
      {
        "name": "transcript",
        "price": 0.004,
        "per": "transcript"
      }
    ]
  },
  "call": {
    "apifyApi": {
      "method": "POST",
      "url": "https://api.apify.com/v2/acts/gouda_studios~youtube-transcript-extractor/run-sync-get-dataset-items",
      "auth": "Bearer APIFY_TOKEN or ?token=",
      "body": "input JSON"
    },
    "mcp": {
      "server": "https://mcp.apify.com",
      "actor": "gouda_studios/youtube-transcript-extractor"
    },
    "agenticPayments": [
      "x402",
      "Skyfire"
    ]
  },
  "exampleInput": {
    "videos": [
      "https://www.youtube.com/watch?v=UF8uR6Z6KLc"
    ],
    "languages": [
      "en"
    ],
    "includeSrt": false
  },
  "sampleOutput": {
    "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"
      }
    ]
  },
  "inputSchema": {
    "title": "YouTube Transcript Extractor input",
    "type": "object",
    "schemaVersion": 1,
    "properties": {
      "videos": {
        "title": "YouTube video URLs or IDs",
        "type": "array",
        "editor": "stringList",
        "description": "Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs.",
        "prefill": [
          "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
        ]
      },
      "languages": {
        "title": "Preferred languages",
        "type": "array",
        "editor": "stringList",
        "description": "Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned.",
        "default": [
          "en"
        ]
      },
      "translateTo": {
        "title": "Translate to (optional)",
        "type": "string",
        "editor": "textfield",
        "description": "Language code to auto-translate the transcript into using YouTube's translation, e.g. en."
      },
      "preferManual": {
        "title": "Prefer human-made captions",
        "type": "boolean",
        "description": "Use manually created captions over auto-generated ones when both exist.",
        "default": true
      },
      "includeSegments": {
        "title": "Include timed segments",
        "type": "boolean",
        "description": "Add an array of segments with start time and duration.",
        "default": true
      },
      "includeSrt": {
        "title": "Include SRT subtitles",
        "type": "boolean",
        "description": "Add an SRT subtitle file as a string.",
        "default": false
      },
      "maxVideos": {
        "title": "Max videos",
        "type": "integer",
        "description": "Stop after this many videos.",
        "default": 1000,
        "minimum": 1
      },
      "proxyConfiguration": {
        "title": "Proxy",
        "type": "object",
        "editor": "proxy",
        "description": "Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to.",
        "prefill": {
          "useApifyProxy": false
        },
        "default": {
          "useApifyProxy": false
        }
      }
    },
    "required": [
      "videos"
    ]
  },
  "contact": "m0f@mail.grokbot.com"
}