# YouTube transcript API: a video's captions as plain text

Give your agent a YouTube URL and get the spoken words back as text, ready to summarise, search or quote. 3 tools do this through 鹦鹉AI, from 1.16 credits/success a video. The official YouTube Data API cannot do it for a video you do not own, which is the whole reason this job has a price at all.

## What is the best way to ask 鹦鹉AI?

Setup line (paste into any agent): `set up 鹦鹉AI — https://parrot.amorist.cn/llms.txt`

Then ask: "Using 鹦鹉AI, get the transcript of https://www.youtube.com/watch?v=dQw4w9WgXcQ in English. Show me the price first, then summarise it into five bullet points."

- **Give it the URL** Both tools take a watch or Shorts URL. No video id lookup first.
- **Name the language** Ask for a language you know the video carries, or you get an empty result.
- **Ask for the price first** 鹦鹉AI returns the cost before the call, so the agent can say what it will spend.
- **Say what to do with it** Transcript plus instruction in one turn beats fetching then pasting.

## Why go through 鹦鹉AI

- **No subscription, no seats** Charged per call. No card, no minimum; top up the prepaid balance.
- **Switch by changing a word** Another tool is a different word in the prompt, not a new integration.

Endpoints:

- `crawl4ai.youtube.video.captions` — Captions of a YouTube video (youtube): https://parrot.amorist.cn/catalog/youtube
- `tikhub.x.youtube-web-v2-get-video-captions` — YouTube video captions by video id or URL (youtube): https://parrot.amorist.cn/catalog/youtube
- `scrapecreators.x.v1-youtube-video-transcript` — YouTube video transcript by URL — captions, subtitles (youtube): https://parrot.amorist.cn/catalog/youtube

## What people actually struggle with

This job has a large and unusually honest literature, because everyone starts by doing it themselves. From ~180 Reddit and X posts in August 2026, after excluding thirteen promotional and self-promotion clusters that were roughly half the corpus, these five recur.

**It works on a laptop and stops working on a server**

> "When I try to run it in the cloud, YouTube seems to block the IP." (r/SaaS, 5 points: https://www.reddit.com/r/SaaS/comments/1fgjjd1/looking_for_a_saas_tool_to_fetch_youtube_video/)

What this page can do about it: This is the single most repeated failure in the research, and it is structural: the unofficial route reads from your address, and datacentre ranges get blocked. A call through 鹦鹉AI leaves the tool's infrastructure instead. What no one can tell you is whether a given tool's pool is clear today at your volume.

**Nobody can promise it still works next month**

> "it still feels like the whole feature could break the moment something changes on YouTube's end" (r/sideprojects, 5 points: https://www.reddit.com/r/sideprojects/comments/1v4zk6t/is_there_a_stable_way_to_pull_youtube_transcripts/)

What this page can do about it: Correct. The honest difference is who owns the repair: on the unofficial route it is you, at the moment it breaks, and here it is the tool, with the failure showing up as a billing line rather than an outage.

**The proxy is the real cost of doing it yourself**

> "it needs ip address rotations (becuase youtube blocks transcript scrapers), so I set up a webshare proxy (costs like 2100 credits)" (r/n8n, 285 points: https://www.reddit.com/r/n8n/comments/1pd5gbx/turn_any_youtuber_into_an_ai_agent_001run_using/)

What this page can do about it: A fair benchmark, and worth doing the arithmetic against: a proxy is a monthly floor you pay whether or not you pull a transcript, plus the maintenance. The prices here are per video with no floor, which wins at low volume and loses at very high volume.

**An agent cannot watch a video, so the transcript is the adapter**

> "What's the best way to have an agent via API in my app auto-generate a transcript from a YouTube video" (@waynesutton on X: https://x.com/i/status/2087026783615168992)

What this page can do about it: This framing was the largest single theme in the research, twelve posts. It is one call here: the agent turns a URL into text and then does the actual work in the same turn, which is what the prompt at the top of this page does.

**The DIY integrations people build for this keep not sticking**

> "I built a couple of MCPs using APIs etc, but they didn't work out so well for pulling transcripts." (r/OpenAI, 25 points: https://www.reddit.com/r/OpenAI/comments/1uq73nr/youtube_transcript_getter_extension_for_obsidian/)

What this page can do about it: Worth being precise about why, because it is not the MCP part. It is that the transcript source underneath was unofficial. Nothing here changes that for the two paid tools; what changes is that maintaining it is their job, and you can compare what they charge for the video where it fails.

## What actually differs

- Google's own Data API is missing on purpose. Its captions.download method only works on videos the connected account owns, so it cannot read anyone else's, and that is why a job the platform does for free in the player costs money here.
- ScrapeCreators takes a cache_max_age parameter: if a cached copy is newer than the number of days you pass, it returns that instead of scraping again. On a rerun over the same videos, this is the difference between a fast answer and a fresh scrape.
- Ask for a language the video actually has. ScrapeCreators returns transcript: null when your two-letter code is missing rather than falling back; TikHub returns the list of available caption tracks if you send no language code at all, which is the safer first call.

## What is a YouTube transcript API?

It returns the caption track YouTube already holds for a video: the auto-generated one the speech recogniser produced, or the human-uploaded one if the channel added it. You get the text, usually with timestamps, in SRT, plain text or JSON. It is not transcription; nobody here is running speech recognition on the audio, so a video with no caption track has nothing to return.

## Before you start

**How much does a YouTube transcript cost?** Under one credit per video at its own rate. One tool bills only on success while the other bills the attempt.

**Why not use youtube-transcript-api myself?** You can, and it works until it does not: the library reads an undocumented endpoint from your IP, and datacentre ranges get blocked, which is the failure everybody hits at the point they move off a laptop. These tools run their own IP pools, and the failure becomes a billing line instead of an outage.

**Does this work on Shorts and live streams?** Shorts, yes; both tools accept a Shorts URL. A live stream only has captions once the recording is processed, and a video whose channel disabled captions has no track to return at any price.

**Can I get transcripts in bulk?** Yes, it is one call per video and you tell your agent the list. There is no batch endpoint, so the cost is linear.

HTML version: https://parrot.amorist.cn/use-cases/youtube-transcript-api
