# Rate limits

> Per-key requests per minute, concurrent runs, and the headers that tell you where you stand.

## Requests per minute

Each API key has its own limit, chosen when you create it: **10, 30 (default), 60 or 120** requests per minute.

Keyed responses include:

| Header | Meaning |
| --- | --- |
| `X-RateLimit-Limit` | The key's requests per minute |
| `X-RateLimit-Remaining` | Requests left in the current window |
| `Retry-After` | On `429`: seconds to wait |

```http
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30

{ "error": { "code": "rate_limited", "message": "..." } }
```

## Runs in progress

An account can have **5** runs queued or running at once. A sixth answers `429 too_many_runs`. Wait for one to finish or cancel one.

## Tips

- An open [event stream](/api-reference/runs/events) counts once, when you open it, however long it runs.
- Back off on `429` using `Retry-After`; don't retry in a tight loop.
- Need more? Use separate keys per service, or create a key with a higher limit.
