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

# Rate limits

> How rate limiting works on the Ornn Data API and how to avoid it.

## How it works

Public index and catalog routes that use the public limiter allow **60 requests per minute per IP address**.

<Tip>
  The public limiter runs before optional API-key authentication, so sending a key does not replace this limit with a per-key tier. Requests from origins configured as trusted by Ornn bypass the public limiter; this is deployment configuration, not a general client entitlement. See [Authentication](/docs/authentication) for which endpoints are public.
</Tip>

## When you exceed the limit

After the enforced allowance is exhausted, the limiter returns HTTP `429 Too Many Requests` with a JSON body stating the 60 requests per minute allowance. Use the response's `Retry-After` header to determine how many seconds to wait before retrying.

<Note>
  Back off when you receive a `429`; repeated public polling should be cached client-side or moved to a server-side cache.
</Note>

## Avoiding rate limits

* **Cache** values you read repeatedly. The GPU index only updates hourly, so there's no benefit to polling faster than that.
* **Batch** where possible. For example, [`GET /api/daily-index/all`](/docs/api-reference/current-prices/get-latest-daily-index-for-all-gpus) returns every GPU in one request instead of one call per model.
