> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.eraus.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits

> How much you can call, and what happens when you go over.

Limits are per key, so one busy tool can't use up another tool's allowance.

| What | Limit |
| - | - |
| Requests | 60 burst, refilling at 1 per second |
| Commands | 5 burst, refilling at 1 every 3 seconds (20 a minute) |
| Commands per server | 10 at once, refilling to 30 a minute, across all keys |
| Bad keys per IP | 20 a minute |

Every response carries the read limit:

```http theme={null}
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 3
```

`X-RateLimit-Reset` is the number of seconds until the bucket is full again.

Going over returns `429` with a `Retry-After` header in seconds. Wait that long before trying again.

```json theme={null}
{ "error": { "code": "rate_limited", "message": "You're being rate limited. Wait for Retry-After seconds." } }
```

> [!TIP]
>
> Polling every 5 to 10 seconds is plenty: the game sends fresh data about every 10 seconds. For events, use [webhooks](https://apidocs.eraus.gg/webhooks.md) or the [events feed](https://apidocs.eraus.gg/events.md) with a cursor instead of re-reading logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.