Rate Limits
The Replicer API enforces per-key rate limits using a sliding window algorithm. Limits vary by subscription plan.
Plan limits
| Plan | Requests per minute |
|---|---|
| Pay As You Go | 60 |
| Hobbyist | 60 |
| Personal | 120 |
| Professional | 300 |
Response headers
Every API response includes rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per minute for your plan |
X-RateLimit-Remaining | Remaining requests in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Example:
http
HTTP/1.1 200 OK
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 85
X-RateLimit-Reset: 1712324460Exceeding the limit
When you exceed your rate limit, the API returns 429 Too Many Requests:
json
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 45 seconds"
},
"requestId": "req-abc123"
}The response includes a Retry-After header with the number of seconds to wait:
http
HTTP/1.1 429 Too Many Requests
Retry-After: 45
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1712324460Best practices
- Check headers: Monitor
X-RateLimit-Remainingto avoid hitting the limit - Implement backoff: When you receive a
429, wait forRetry-Afterseconds before retrying - Batch operations: Use list endpoints with pagination rather than individual lookups
- Cache responses: Cache read-only data when possible to reduce API calls
- Upgrade your plan: If you consistently need more throughput, upgrade to a higher plan

