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

# Rate Limits

> Information about API rate limits

# Rate Limits

NanoGPT enforces a mix of global throughput limits and (optionally) per-key daily limits.

## Global Throughput Limits (Per-Second)

The NanoGPT API currently imposes a limit of **25 requests per second**.

If you need a higher limit, email [support@nano-gpt.com](mailto:support@nano-gpt.com) with:

* which model(s) you need
* your target RPS / peak traffic patterns
* whether requests are streaming

If your use case requires more than **1 billion tokens/day** of a specific model, contact support. We can usually support it, and may be able to offer better pricing.

## Per-Key Daily Limits (Optional)

NanoGPT supports **per-API-key daily limits** to help you cap usage and spend. You can set these when creating or editing an API key in the NanoGPT dashboard.

Available limits:

| Limit | Description | Reset |
| - | - | - |
| Requests per Day (RPD) | Maximum number of API requests the key can make per day (across endpoints) | Midnight UTC |
| USD per Day | Maximum estimated USD spend the key can incur per day | Midnight UTC |

Notes:

* Limits are enforced **per API key**, not per user. Multiple keys have independent counters.
* If a limit is not set, that dimension is unlimited for the key.
* Counters reset at **00:00 UTC** every day.
* USD/day uses **cost estimation at request time**. Actual cost can differ slightly, so the effective cap is approximate.
* Subscription-covered requests (models included in your subscription plan) can bypass the USD/day limit since no balance is spent, but they still count toward RPD.

## When A Daily Limit Is Exceeded

When a per-key daily limit is exceeded, NanoGPT returns an **OpenAI-compatible** `429` error and includes a `Retry-After` header (seconds until the next reset at midnight UTC).

Example response:

```json theme={null}
{
  "error": {
    "message": "Daily request limit exceeded (1000/1000). Resets at midnight UTC.",
    "code": "daily_rpd_limit_exceeded",
    "type": "rate_limit_error"
  }
}
```

Error codes:

| Code | Description |
| - | - |
| `daily_rpd_limit_exceeded` | Request count limit reached |
| `daily_usd_limit_exceeded` | Spend limit reached |


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