YouTube Transcript API
Send a YouTube URL, get the transcript back. One GET request, no OAuth, no proxies, and it works from AWS, Vercel or any cloud server where YouTube blocks direct requests.
curl -H "x-api-key: YOUR_KEY" \ "https://api.transkrio.com/v1/transcript?url=https://youtu.be/dQw4w9WgXcQ&format=text"
What you get
- Timestamped segments (
text,start,duration) plus the full text in one field, ready for an LLM prompt. - Four formats:
json,text,srtandvtt. - Any language with
lang=: manual captions first, then auto-generated, then auto-translated. - Every kind of video: regular videos, Shorts, live replays,
youtu.belinks and bare video IDs. - Playlists and channels:
/v1/videoslists up to 500 videos of a playlist or a channel (@handleworks), and/v1/batchreturns up to 50 transcripts in one call. - Metadata: title, channel, duration, views, upload date and available caption languages from
/v1/metadata.
Example response
{
"video_id": "dQw4w9WgXcQ",
"platform": "youtube",
"language": "English",
"language_code": "en",
"is_generated": false,
"source": "captions",
"segments": [
{"text": "Never gonna give you up", "start": 0.0, "duration": 2.5},
...
],
"text": "Never gonna give you up Never gonna let you down ...",
"credits_charged": 1
}
Why not scrape it yourself?
The open-source youtube-transcript-api library works great on a laptop, then fails in production with RequestBlocked: YouTube blocks most IP ranges of cloud providers. The fix is rotating residential proxies, which means another account, another bill and retry logic to maintain. Transkrio does that part for you, caches results, and only charges when you actually get a transcript. More in how to fix RequestBlocked.
Pricing
| Plan | Price | Transcripts | Per 1,000 |
|---|---|---|---|
| Free | $0 | 100, once | - |
| Starter | $9 / month | 3,000 / month | $3.00 |
| Pro | $29 / month | 15,000 / month | $1.93 |
| Scale | $99 / month | 75,000 / month | $1.32 |
| Credit pack | $10 once | 2,000, never expire | $5.00 |
Failed requests cost nothing, repeated requests are served from cache, and unused monthly credits roll over up to twice your plan.
Code examples
Step-by-step guides with retries and error handling: YouTube transcripts in Python and in Node.js. No code? Use the n8n node, or connect the MCP server to Claude or Cursor and just ask for the transcript. Want a single transcript right now? Try the free YouTube transcript generator.