One key per account, one daily quota. Sign in, create a key, and send it with each request to /transcript/{VIDEO_ID}.txt.
This takes a moment.
The key belongs to your account, so you can come back to check usage or replace it. We use your Google sign-in only to identify the account.
Signed in as ·
Free plan: 100 requests a day.
Signed in as ·
Copy it now. We store only a hash of the key, so this is the one time it is shown in full.
yta_••••••••
Created
The current key stops working the moment you replace it. Anything still sending it will get a 401 until you update it. Today's usage carries over.
Put it in the Authorization header:
curl -H "Authorization: Bearer YOUR_KEY" \
https://youtube-transcript.ai/transcript/dQw4w9WgXcQ.txt
Tools that can only take a URL can pass it as a query parameter instead:
https://youtube-transcript.ai/transcript/dQw4w9WgXcQ.txt?key=YOUR_KEY
Requests are counted against your account, not your IP address, so shared or changing IPs do not affect you.
The same key works for the MCP server. Put it in the connector URL:
https://youtube-transcript.ai/mcp?key=YOUR_KEY
| Status | Meaning |
|---|---|
200 | The transcript as Markdown. X-RateLimit-Limit and X-RateLimit-Remaining show today's quota. |
401 | The key is not recognised: mistyped, or replaced by a newer one. |
429 | Today's quota is used up. Retry-After gives the seconds until 00:00 UTC. |
Every request counts as one, including repeats of the same video. Endpoint details, parameters and output format are in the API reference.
Pay by card through Stripe. Pro renews once a year, and you can cancel anytime from this page under Manage subscription. You keep Pro until the end of the year you paid for.
Upgrades are set up by email for now. Write from the address you signed in with and we will send a payment link and raise your limit once it is paid.