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

# Rate limiting

> How the Upstack Data API enforces request limits, which headers to watch, and how to retry safely.

The Upstack Data API rate limits requests per API key to protect the analytics
backend. Limits are applied per key (and therefore per pixel), not per IP
address.

## Limits

Limits are modest and sized for dashboard and CLI traffic. If you're building a
high-volume integration — bulk exports, scheduled backfills — contact support
and we can raise your limit.

## Rate limit responses

When you exceed the limit, requests return `429 Too Many Requests`:

```json theme={null}
{
  "message": "Too many requests. Retry later."
}
```

## Retrying safely

* Retry `429` responses with exponential backoff and jitter, respecting
  `Retry-After` when the response includes it.
* Don't retry `4xx` responses other than `429` — fix the request instead.
* Backfill and bulk-export jobs should serialize requests rather than fan out
  with unbounded concurrency; a small worker pool with backoff will finish
  faster than a burst that spends its time getting throttled.
