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

# Rate limits

> Request limits per token and per client IP.

| Limit | Applies to |
| - | - |
| 60 requests per minute | Each token |
| 20 failed authentications per minute | Each client IP address |

Windows are fixed minutes. Every authenticated response carries the token budget:

```http theme={null}
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
```

When a limit is exceeded, the response is `429 RATE_LIMITED` with a `retry-after` header and `details.retry_after_seconds`. Wait that many seconds before you retry.

> [!TIP]
>
> Read `x-ratelimit-remaining` and slow down before it reaches zero. Retry `429` and `5xx` responses with backoff; do not retry other `4xx` responses without changing the request.

After 20 failed authentications from one IP address in a minute, every request from that address receives `429` until the window ends, even with a valid token. Check that your script sends the current token before it retries.


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