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

# Rate limits

> Learn how to design clients for Crustdata API rate limits and avoid 429 responses.

<Warning>
  Exact per-endpoint limits can change by plan and endpoint version. Verify active limits in your dashboard.
</Warning>

<Note>
  Rate limits vary by endpoint. The defaults below apply to most accounts. Send an email to [gtm@crustdata.co](mailto:gtm@crustdata.co) to discuss higher limits if needed for your use case.
</Note>

## Core behavior

Crustdata applies per-endpoint request limits.

Operationally, you should assume that **steady request distribution** is safer than bursts, even when total requests per minute look acceptable.

## Default rate limits by endpoint

| Endpoint                                              | Default `rate-limit` (RPM) |
| ----------------------------------------------------- | -------------------------- |
| `/person/enrich`                                      | 15                         |
| `/person/search`                                      | 30                         |
| `/person/professional_network/enrich/live`            | 10                         |
| `/person/professional_network/search/live`            | 10                         |
| `/person/contact/enrich`                              | 15                         |
| `/person/search/autocomplete`                         | 300                        |
| `/company/enrich`                                     | 15                         |
| `/company/search`                                     | 30                         |
| `/company/identify`                                   | 30                         |
| `/company/search/autocomplete`                        | 300                        |
| `/company/professional_network/search/live`           | 10                         |
| `/employee_review/enrich`                             | 15                         |
| `/job/search`                                         | 30                         |
| `/job/professional_network/search/live`               | 10                         |
| `/web/search/live`                                    | 10                         |
| `/web/enrich/live`                                    | 10                         |
| `/dev_platform/enrich`                                | 15                         |
| `/social_post/professional_network/enrich/live`       | 10                         |
| `/social_post/professional_network/search/live`       | 10                         |
| `/batch/person/enrich`                                | 30                         |
| `/batch/person/search`                                | 30                         |
| `/batch/person/professional_network/search/live`      | 5                          |
| `/batch/person/professional_network/enrich/live`      | 5                          |
| `/batch/person/contact/enrich`                        | 5                          |
| `/batch/company/enrich`                               | 30                         |
| `/batch/company/search`                               | 30                         |
| `/batch/company/professional_network/search/live`     | 5                          |
| `/batch/job/search`                                   | 30                         |
| `/batch/job/professional_network/search/live`         | 5                          |
| `/batch/social_post/professional_network/enrich/live` | 5                          |
| `/batch/social_post/professional_network/search/live` | 5                          |

| Endpoint                                              | Default `rate-limit` (RPM) |
| ----------------------------------------------------- | -------------------------- |
| `/person/enrich`                                      | 15                         |
| `/person/search`                                      | 30                         |
| `/person/professional_network/enrich/live`            | 10                         |
| `/person/professional_network/search/live`            | 10                         |
| `/person/contact/enrich`                              | 15                         |
| `/person/search/autocomplete`                         | 300                        |
| `/company/enrich`                                     | 15                         |
| `/company/search`                                     | 30                         |
| `/company/identify`                                   | 30                         |
| `/company/search/autocomplete`                        | 300                        |
| `/company/professional_network/search/live`           | 10                         |
| `/employee_review/enrich`                             | 15                         |
| `/job/search`                                         | 30                         |
| `/job/professional_network/search/live`               | 10                         |
| `/web/search/live`                                    | 10                         |
| `/web/enrich/live`                                    | 10                         |
| `/dev_platform/enrich`                                | 15                         |
| `/social_post/professional_network/enrich/live`       | 10                         |
| `/social_post/professional_network/search/live`       | 10                         |
| `/batch/person/enrich`                                | 30                         |
| `/batch/person/search`                                | 30                         |
| `/batch/person/professional_network/search/live`      | 5                          |
| `/batch/person/professional_network/enrich/live`      | 5                          |
| `/batch/person/contact/enrich`                        | 5                          |
| `/batch/company/enrich`                               | 30                         |
| `/batch/company/search`                               | 30                         |
| `/batch/company/professional_network/search/live`     | 5                          |
| `/batch/job/search`                                   | 30                         |
| `/batch/job/professional_network/search/live`         | 5                          |
| `/batch/social_post/professional_network/enrich/live` | 5                          |
| `/batch/social_post/professional_network/search/live` | 5                          |

## Implementation guidance

To reduce `429 Too Many Requests` responses:

1. Spread traffic across the full minute instead of burst-sending.
2. Use retry logic with exponential backoff and jitter.
3. Keep request queues bounded.
4. Add circuit breakers around non-critical enrichment flows.
5. Monitor request logs and alert on sustained `429` rates.

## Client-side best practices

* Centralize throttling in one shared HTTP client.
* Use endpoint-specific concurrency and QPS controls.
* Prioritize business-critical requests when backpressure starts.
* Cache stable results where your workflow allows it.

## Rollout checklist

* Start with conservative throughput.
* Increase gradually while tracking latency and error rates.
* Recalibrate limits when you add new endpoints or workflows.

For higher-throughput needs, request custom limits through Crustdata support.
