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

# Rate limits

> Plan for Darwin request limits and recover from throttling safely.

Darwin Search currently allows **100 requests per minute** per caller across API, MCP, and web entry points. Pagination and retries count as requests.

## When a request is limited

A limited HTTP request returns `429 Too Many Requests` and `Retry-After` when the transport supports it. Successful Search API responses also advertise the current limit, remaining requests, and reset window.

| Signal           | Meaning                                         |
| ---------------- | ----------------------------------------------- |
| `429`            | The caller exceeded the current request budget. |
| `Retry-After`    | Minimum time to wait before retrying.           |
| limit header     | Total request allowance for the current window. |
| remaining header | Requests still available in the current window. |
| reset header     | When the current window refreshes.              |

## Retry safely

1. Respect `Retry-After`.
2. Use exponential backoff with jitter.
3. Cap retry count and maximum delay.
4. Debounce interactive Search input.
5. Cache identical read-only requests for an appropriate interval.
6. Reuse the same `requestId` when retrying the same Action mutation.

Do not retry `400`, `401`, `403`, or `404` without changing the request, credential, or authority.

```typescript theme={null}
for (let attempt = 0; attempt < 4; attempt += 1) {
  try {
    return await darwin.search(request);
  } catch (error) {
    if (!isTransient(error) || attempt === 3) throw error;
    await wait(retryAfter(error) ?? jitteredBackoff(attempt));
  }
}
```

<Note>Never generate a new Action `requestId` merely because the transport failed. A changed ID can create duplicate work.</Note>

[Contact Darwin](https://darwin.so/contact) with your expected request volume and traffic pattern when you need higher capacity.
