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

# Rate limits

> Per-workspace request budgets, and how to back off.

Each workspace has request budgets per operation family: lookups, lead-search runs, run reads
and balance reads. The web app and the API share them, because they are the same platform.

When a budget is spent, the request is refused **before any billable work** and never billed:

```http theme={null}
HTTP/1.1 429 Too Many Requests
Retry-After: 12

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded",
    "retryAfterSeconds": 12
  }
}
```

## Backing off

* Wait for the number of seconds in the `Retry-After` header (the same value as
  `error.retryAfterSeconds`), then retry.
* Send the same [Idempotency-Key](/idempotency) on the retry. If the first attempt did run, you
  get its outcome instead of a second charge.
* For bulk work, pace requests rather than bursting, and prefer a
  [lead-search run](/lead-search-runs) over many single lookups when you are searching by
  criteria.

Budgets can change as the platform grows, so read `Retry-After` rather than hard-coding a rate.


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