# Rate limits and quotas (/rate-limits)

This page lists every limit the API enforces today. If a limit isn't here, the API doesn't enforce it.

## Request limits [#request-limits]

| Limit | Value | When reached |
| --- | --- | --- |
| Key checks that miss our key cache | 20 per minute per IP address | `429 rate_limited` for the rest of the minute. A key is cached after its first check (a valid key for 10 minutes, an unknown one for 5), so in practice only sending many different unknown keys reaches this. Malformed keys are rejected with `401` before they count. |
| Parse input length | 256 characters per `line` | `413 line_too_long` |
| Lookup candidates | 10 per answer | The list is cut at 10. For buildings, `unit_count` still gives the full number of units. |

There is no per-key or per-team request rate limit on valid keys.

## Spending limits [#spending-limits]

Spending is controlled by the team, in the portal's **Billing** page.

| Limit | Set by | When reached |
| --- | --- | --- |
| Credit balance | Credits you add (and the sign-up credits) | `402 insufficient_credit` until credits are added. |
| Monthly budget | Owners and Admins, optional | `402 budget_exceeded` until the budget is raised or removed. Counts spend per calendar month (UTC). |
| Spend alert | Owners and Admins, optional, below the budget | An email when the month's spend reaches it. Requests continue. |

See [Credits and billing](/billing).

## Account limits [#account-limits]

| Limit | Value |
| --- | --- |
| Active API keys per team | 25 |
| API key name | 64 characters |
| Credit top-up | $5 to $5,000 at a time |

## Data retention [#data-retention]

| Data | Kept for |
| --- | --- |
| Request logs (the portal's **Logs**) | 30 days |
| Hourly usage totals (the portal's **Usage**) | 13 months |

Request logs don't store IP addresses. See the [Privacy Policy](https://fieldgeist.com/privacy).
