Skip to main content

Rate Limit Overview

Rate limits protect the API from abuse and ensure fair usage for all customers. Limits are applied per API key.

Plan Limits

Need custom limits? Contact us for custom enterprise solutions.

Rate Limit Headers

Every authenticated response includes rate limit information in the headers:
There are two independent budgets. X-RateLimit-Remaining only covers the minute — check X-RateLimit-Remaining-Day too if you run long batches.

Handling Rate Limits

When you exceed either limit, you’ll receive a 429 Too Many Requests with a Retry-After header:
retry_after counts seconds to the next window that will actually admit you — the top of the minute normally, midnight if it was the daily budget you exhausted.
A 429 can also mean concurrent_limit_reached: too many enrichments in flight at once (2 on trial, up to 100 on enterprise). Check the error field — waiting a minute will not help there, you need an in-flight enrichment to finish.

Implementation Examples

Best Practices

Implement Exponential Backoff

When rate limited, wait progressively longer between retries (1s, 2s, 4s, 8s…)

Queue Your Requests

For bulk operations, implement a request queue to spread requests evenly and stay within limits

Cache Responses

Cache company data for 24 hours to reduce the number of API calls needed

Monitor Your Usage

Check your usage regularly via the dashboard or /account/usage endpoint
For high-volume use cases, consider implementing a simple queue system in your application to automatically space out requests and avoid hitting rate limits.

Configure Webhooks

Set up webhooks to get notified about credit usage →