Limits by tier
| Tier | Requests per minute |
|---|---|
| Free | 50 |
| Pro | 200 |
| Enterprise | 1,000 |
GET /charities call and a POST /configs call both count toward the same per-minute limit for your project.
Response headers
Every successful response from a rate-limited tier includes headers describing your current usage:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix epoch seconds when the current window resets |
429 responses.
When you’re rate limited
If you exceed your tier’s limit, the API returns a429 status with an additional Retry-After header:
| Header | Description |
|---|---|
Retry-After | Seconds until you can retry the request |
Best practices
- Cache responses when possible to reduce unnecessary calls, especially for data that changes infrequently like the charity list or chain list.
- Respect
Retry-After. When you receive a429, wait at least the number of seconds indicated before retrying. - Monitor your headers. Use
X-RateLimit-Remainingto proactively slow down before hitting the limit. - Spread requests over time rather than sending them in bursts at the start of each window.