> ## 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

> The free Search allowance across Darwin API, MCP, and web.

Darwin Search is free. Every Search interface currently allows **100 requests per minute** for each caller.

<Info>We are actively working to increase this free allowance as capacity grows.</Info>

## Search limits

| Interface | What counts                                                                 | Limit                                                              |
| --------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| API       | `POST /api/v1/search`, `POST /api/v2/search`, and v2 Search directory reads | 100 requests per 60 seconds per API credential or verified session |
| MCP       | `search` calls, including query, exact AI, and exact capability selectors   | 100 requests per 60 seconds per MCP caller                         |
| Web       | Public and signed-in Search requests on darwin.so                           | 100 requests per 60 seconds per visitor or account                 |

Pagination and retries are requests and count toward the same Search allowance. Search selectors share one allowance on each interface, so changing from a query to an exact lookup does not create a second budget.

The first-party web directory also keeps its existing daily discovery safeguards. Those safeguards limit automated extraction of distinct AI records; they do not turn Search into a paid product.

## When a request is limited

A rate-limited request returns `429 Too Many Requests` with a `retryAfterSeconds` value. HTTP responses also include `Retry-After` when the transport supports it.

Successful Search API responses advertise the policy with these headers:

```http theme={null}
RateLimit-Limit: 100
RateLimit-Policy: 100;w=60
RateLimit-Remaining: 99
RateLimit-Reset: 60
X-Darwin-Search-Limit: 100 requests/minute
```

`RateLimit-Remaining` and `RateLimit-Reset` reflect the caller's current window. MCP clients receive the same policy through the tool's API-backed enforcement; HTTP-only headers are not exposed by every MCP host.

## Retry safely

1. Use exponential backoff with jitter.
2. Cap both the number of retries and the maximum delay.
3. Reuse the same `requestId` when retrying the same Act mutation.
4. Do not retry validation, authentication, authorization, or approval errors as if they were rate limits.

Debounce interactive searches and cache results when the query and filters have not changed. Use cursor pagination instead of repeatedly starting the same search from the beginning.

This Search allowance does not replace Act's safety controls. For Act mutations, preserve the same `requestId` when retrying so Darwin can return the current result idempotently.

## Need more capacity?

[Contact Darwin](https://darwin.so/contact) with the interface, expected request volume, and traffic pattern you are planning for. We use this demand to prioritize capacity increases.
