Guides
Rate Limits
The Calibr API enforces rate limits to ensure fair usage and protect service stability. This guide covers the default limits, response headers, and best practices for handling throttling.
Default Limits
Rate limits are applied per API key. The default limit is:
1,000 requests per minute per API key
This limit applies to all endpoints. Batch scoring requests count as a single request regardless of the number of applicants in the batch (up to 1,000 applicants per batch).
Response Headers
Every API response includes rate limit headers so you can monitor your usage programmatically:
| Header | Description | Example |
|---|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window | 1000 |
X-RateLimit-Remaining | Requests remaining in the current window | 847 |
429 Too Many Requests
When you exceed the rate limit, the API returns a 429 status code with a JSON body indicating when you can retry:
The retry_after_ms field tells you how many milliseconds to wait before sending the next request. This value corresponds to the time remaining until the current rate limit window resets.
Handling Rate Limits in Code
Implement exponential backoff with jitter to handle rate limit responses gracefully:
Best Practices
- Use the batch endpoint for bulk scoring. Instead of sending 500 individual requests, use
POST /api/v1/score/batchwith up to 1,000 applicants. This counts as a single request against your rate limit. - Implement exponential backoff. When you receive a 429, wait for the
retry_after_msduration plus random jitter before retrying. Do not retry immediately in a tight loop. - Monitor remaining quota. Check the
X-RateLimit-Remainingheader proactively. If you are approaching the limit, slow down your request rate before hitting 429. - Use separate keys for separate systems. If you have multiple integrations (e.g., a loan origination system and a batch processing pipeline), use separate API keys so their rate limits are independent.
- Contact support for higher limits. If your use case requires more than 1,000 requests per minute, reach out to the Calibr team to discuss enterprise rate limit tiers.
Batch Scoring Example
The batch endpoint is the most efficient way to score many applicants:
Response: