Plans and limits
What's included on Free vs Pro, and what happens at the limit.
Plans live at the organization level. When a member of an org makes a request, the org's plan determines what's allowed.
What's included
| Free | Pro | |
|---|---|---|
| Transcripts per month | 50 | 5,000 |
Single transcript (GET /transcript) | yes | yes |
Bulk transcripts (POST /transcripts/bulk) | no | up to 100 per call |
| Playlist transcripts | no | yes |
| Channel transcripts | no | yes |
| MCP server | yes | yes |
| Cache (24h) | yes | yes |
A "transcript" is one successfully returned video, regardless of which endpoint produced it. A bulk call for 50 videos counts as 50; a playlist with 30 videos counts as 30.
What happens at the limit
When an org exceeds its monthly transcript count, the next request returns:
{
"error": {
"code": "plan_limit_exceeded",
"message": "You've used 50 of 50 transcripts on the Free plan this month.",
"retryable": false,
"limit": 50,
"used": 50,
"resetAt": "2026-06-01T00:00:00.000Z"
}
}Status: 402 Payment Required. Cached responses don't consume quota.
When an endpoint is gated by plan (bulk, playlist, channel) and the calling org is on Free:
{
"error": {
"code": "feature_not_in_plan",
"message": "Bulk transcripts require the Pro plan.",
"retryable": false
}
}Status: 403 Forbidden.
Quota window
Counters roll over on the first day of the month, UTC. There's no daily cap — burn the whole monthly allowance in an hour if you want.
Upgrade
The dashboard's Billing page launches a Polar checkout. Once the webhook fires, your quota lifts on the next request — usually within seconds. There's no proration on month one; you pay the difference.
Custom limits
For volumes above Pro or for self-hosted deployments, email us.