# rate_limited — Shorty API error

> Rate limit exceeded (HTTP 429): when the Shorty API returns the rate_limited error, why, and how to fix it.

| Code | HTTP status | Type URI |
| --- | --- | --- |
| `rate_limited` | 429 | `https://aishorty.com/docs/api/errors/rate_limited` |

## When it happens

You exceeded the request burst limit (60 requests/minute on the free tier, 300/minute on paid), counted per API key for `shk_live_` callers and per user for OAuth/MCP callers. A short-term throughput cap, not a usage quota.

## Example response

```json
{
  "type": "https://aishorty.com/docs/api/errors/rate_limited",
  "title": "Rate limit exceeded",
  "status": 429,
  "detail": "Rate limit exceeded. Retry after the window resets.",
  "instance": "urn:request:req_01J9Z8ABCDEFGH0123456789",
  "code": "rate_limited",
  "request_id": "req_01J9Z8ABCDEFGH0123456789"
}
```

## How to fix it

Back off until the window resets. Read the `RateLimit` / `Retry-After` response headers and pace requests; the SDK retries these automatically with backoff.

## Related errors

- [quota_exhausted](/docs/api/errors/quota_exhausted) — Quota exhausted (HTTP 429)
