# Rate and plan limits

> Requests per second, monthly active players, and what each plan includes.

Source: https://docs.onari.xyz/docs/api/limits

## Rate limits

Limits are per API key, per second:

| | Requests / second |
|---|---|
| Sandbox key (any plan) | 20 |
| Live key, Free | 20 |
| Live key, Starter | 100 |
| Live key, Growth | 300 |
| Live key, Scale | 1,000 |
| Enterprise | 2,000, or as agreed |

One request can carry up to 100 events, so batching goes a long way. Every response has `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset` (seconds); a `429` also has `Retry-After`.

## Monthly active players

An **active player** is one who sent at least one **live** event this calendar month (UTC). Sandbox never counts.

| Plan | Active players included | Over the limit |
|---|---|---|
| Free | 1,000 | New players' events are refused with `402 player_limit_reached` until the 1st. Players already active this month keep playing. |
| Starter | 5,000 | Nothing is blocked; extra players are billed at month end. |
| Growth | 25,000 | As Starter. |
| Scale | 100,000 | As Starter. |

Owners and admins see a warning in the dashboard at 80% and 100% of the Free cap.

## Other plan limits

| | Free | Starter | Growth | Scale |
|---|---|---|---|---|
| Live campaigns running at once | 2 | Unlimited | Unlimited | Unlimited |
| Team seats | 2 | 3 | 10 | 25 |
| AI generations a month | 20 | 100 | 500 | Fair use |
| "Powered by Onari" on the Rewards Hub | Yes | Yes | No | No |

Sandbox campaigns are never limited.
