Limits by Plan
| Plan | Requests per Minute |
|---|---|
| Free | 100 |
| Hobby | 500 |
| Pro | 2,000 |
Rate Limit Headers
Every response includes rate limit information:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Handling Rate Limits
When you exceed the limit, you’ll receive a429 Too Many Requests response:
Retry-After header indicating how long to wait:
Implementation Example
Best Practices
Monitor your remaining quota
Monitor your remaining quota
Check
X-RateLimit-Remaining to proactively slow down before hitting limits.Use exponential backoff
Use exponential backoff
Instead of retrying immediately, wait progressively longer between retries.
Batch operations when possible
Batch operations when possible
Instead of many small requests, consider batching operations.
Cache responses
Cache responses
For read operations, cache responses to reduce API calls.
Use separate keys for different services
Use separate keys for different services
Each key has its own rate limit, so separate keys for different services won’t interfere.
Need Higher Limits?
If you’re consistently hitting rate limits, consider upgrading your plan:| Free | Hobby ($9/mo) | Pro ($29/mo) | |
|---|---|---|---|
| Requests/min | 100 | 500 | 2,000 |