Skip to main content

Rate Limits

Rate limiting is applied per API key after authentication.

Rate limits are enforced per company and use two limits:

LimitDefault
Per minute100 requests per minute
Per day10,000 requests per day

These defaults can be configured for a company. If a company has custom API key rate limits configured, those values are used instead.

Headers

Responses include standard rate limit headers so clients can monitor usage:

RateLimit-Limit: 100
RateLimit-Remaining: 95
RateLimit-Reset: 60

Per-Minute Limit Exceeded

When the per-minute limit is exceeded, the API returns HTTP 429:

{
"success": false,
"message": "Rate limit exceeded",
"error": "RATE_LIMIT_EXCEEDED",
"limit": 100,
"remaining": 0,
"resetTime": "2024-01-01T12:00:00.000Z",
"retryAfter": 60
}

Daily Limit Exceeded

When the daily limit is exceeded, the API returns HTTP 429:

{
"success": false,
"message": "Daily rate limit exceeded",
"error": "DAILY_RATE_LIMIT_EXCEEDED",
"limit": 10000,
"remaining": 0,
"resetTime": "2024-01-02T00:00:00.000Z",
"retryAfter": 3600,
"supportMessage": "Contact support if you need higher rate limits."
}

Client Guidance

When you receive HTTP 429, pause requests until the retryAfter period has elapsed. For automated integrations, use exponential backoff with jitter.