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

# Rate limits

> Per-customer request limits by plan and how 429 responses look.

<Info>
  **BlobRouter v0.1** · Last updated: August 2026 · Architecture version: **2.0**
</Info>

Limits are enforced **per customer** (key `rate:{customerId}`) after authentication.

## Limits (requests / minute)

| Plan    | Limit  |
| ------- | ------ |
| Free    | 300    |
| Starter | 3,000  |
| Growth  | 10,000 |

One SDK upload uses multiple control-plane requests (`init` + `complete`), so limits are sized for that.

## When exceeded

HTTP `429` with:

```json theme={null}
{
  "error": "Rate limit exceeded",
  "code": "rate_limit_exceeded",
  "retryAfter": 60,
  "limit": 300
}
```

Header:

```http theme={null}
Retry-After: 60
```

SDKs treat `429` as retryable (exponential backoff). See [Retries](/api/retries).
