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

# Rate Limits

> How request limits work and how to handle them.

Each API key is rate-limited per minute. Production keys have a higher ceiling
than sandbox keys; an explicit per-key limit set in the dashboard overrides the
default.

| Environment             | Default limit           |
| ----------------------- | ----------------------- |
| Production (`tg_live_`) | 1,000 requests / minute |
| Sandbox (`tg_test_`)    | 100 requests / minute   |

## Response headers

Every response includes your current standing in the window:

| Header                  | Meaning                             |
| ----------------------- | ----------------------------------- |
| `X-RateLimit-Limit`     | Max requests allowed in the window  |
| `X-RateLimit-Remaining` | Requests left in the current window |
| `Retry-After`           | Seconds to wait (only on `429`)     |

## When you exceed it

You'll receive `429 Too Many Requests`:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "API key rate limit exceeded",
    "details": { "limit": 1000, "window": "1 minute", "retry_after_seconds": 60 }
  }
}
```

<Tip>
  Back off and retry after `Retry-After` seconds, ideally with exponential backoff
  and jitter. Spread bulk work out rather than bursting.
</Tip>
