Get started · Plans & limits

Plans, usage, and limits.

Every plan includes the entire model catalog behind one key. Plans differ on two published axes only: how much usage is included each month, and how fast you can push requests.

Included usage

Each plan carries a monthly pool of included usage, measured in dollars at public list rates. Every request is valued at the model's public per-million-token prices — the ones printed on each model page— and drawn from the pool. One meter, every model, no per-model gates. Repeated context draws less: cached input counts at 10% of the model's input list rate — see Prompt caching.

PlanPrice / moIncluded usage / mo
Free$0$5
Starter$5$200
Pro$19$600
Max$49$3,000
EnterpriseCustomCustom

The pool refreshes at the start of each monthly cycle. When a month's pool runs low, sessions are never interrupted — the heaviest models pace to your plan while everything else keeps full speed. Upgrading takes effect immediately.

Note

Track your month in the dashboard under /dashboard/usage — it shows the same meter the API enforces.

Rate limits

Two published limits per plan: sustained requests per minute and concurrent requests (simultaneous in-flight calls, the axis that matters for parallel agent fleets).

PlanRequests / minConcurrent requests
Free302
Starter30010
Pro1,00040
Max3,000100
Enterprise10,000+250+

Hitting a limit: 429 + retry-after

Past a limit, the API returns 429 with a retry-after header — the number of seconds to wait before retrying. The same status covers both cases:

  • Rate limit— you sent requests faster than your plan's per-minute rate or held too many open at once. retry-after is typically a few seconds.
  • Monthly cap — an account ceiling for the month was reached. retry-after points at the next monthly cycle; upgrading clears it immediately.
HTTP/1.1 429 Too Many Requests
retry-after: 12

{ "error": { "type": "rate_limit_error", "message": "..." } }
A rate-limited response

Honor retry-after exactly and add exponential backoff with jitter for repeated hits — the full recipe is on Errors. Current-window state is also reported on every response via the x-ratelimit-* headers — see Headers.

Need more?

Enterprise plans carry custom usage pools, higher limits (10,000+ requests/min, 250+ concurrent), and procurement-friendly billing.