> For the complete documentation index, see [llms.txt](https://noctaly-bot.gitbook.io/noctaly-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://noctaly-bot.gitbook.io/noctaly-api/resources/rate-limits.md).

# Rate Limits

The API implements rate limits to prevent abuse of our system. Applications that abuse the API or get too many 429s may be blacklisted from our platform.

### Global Rate Limit

Rate limit of all routes.

| Route | Max Requests | Throttle |
| ----- | ------------ | -------- |
| `*`   | 50/second    | 1 hour   |

### Exceeding a Rate Limit <a href="#exceeding-a-rate-limit" id="exceeding-a-rate-limit"></a>

You receive a 429 response when exceeding a rate limit.

<table data-full-width="false"><thead><tr><th width="100">Field</th><th width="100" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>code</td><td align="center"><code>string</code></td><td>The code of the error (rate_limited)</td></tr><tr><td>message</td><td align="center"><code>string</code></td><td>The message of the error.</td></tr><tr><td>global</td><td align="center"><code>boolean</code></td><td>Whether the rate limit is global.</td></tr><tr><td>retryAfter</td><td align="center"><code>number</code></td><td>The number of seconds before retrying a request.</td></tr></tbody></table>

```json
{
    "code": "rate_limited",
    "message": "You are being rate limited.",
    "global": true,
    "retryAfter": 3600
}
```

### Prevent a Rate Limit

Every response includes the rate limit for the endpoint.

```http
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1747102972
X-RateLimit-Reset-After: 50
```
