Rate Limits
Rate limits control how many requests you can make within a time window. Each plan has a specific request limit per minute.Limits by plan
| Plan | Requests per minute |
|---|---|
| Free | 10 |
| Starter | 30 |
| Growth | 100 |
| Scale | 250 |
How rate limiting works
Each API request checks your remaining allowance in the current 1-minute window:- Request allowed → Process request and decrement remaining count
- Limit exceeded → Return
429error withretry-aftertime
Rate limit headers
Every API response includes headers indicating your rate limit status:| Header | Description |
|---|---|
X-RateLimit-Limit | Requests per minute for your plan |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | ISO timestamp when window resets |
Handling rate limits
When you exceed your rate limit, the API returns a429 status code with the following response:
| Field | Description |
|---|---|
error | Error code identifier |
errorDescription | Human-readable message with reset timestamp |
retryAfter | Seconds to wait before making another request |
Best practices
- Implement exponential backoff - Wait longer between retries when rate limited
- Respect retry-after - Use the
retry-aftervalue to delay retries - Monitor headers - Track
X-RateLimit-Remainingto anticipate limits - Cache aggressively - Use cached results to avoid unnecessary requests
See also
- How Credits Work - Credit consumption
- Caching - Reduce requests with caching
- Pricing - Plan comparison