Rate limit headers
Every API response includes rate limit information:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window |
X-RateLimit-Remaining | Remaining requests in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Limits by tier
| Tier | Requests/min | Calculations/day | Asset renders/day |
|---|---|---|---|
| Free | 60 | 1,000 | 100 |
| Growth | 600 | 50,000 | 5,000 |
| Enterprise | 6,000+ | Unlimited | 50,000+ |
Handling rate limits
When you exceed the rate limit, the API returns a429 Too Many Requests response:
- Implement exponential backoff when receiving
429responses - Cache frequently accessed data (product scores change infrequently)
- Use pagination to reduce the number of requests
- Batch related queries into a single GraphQL request
Caching recommendations
Product detail page (PDP) data is ideal for edge caching since impact scores update infrequently:| Data type | Recommended TTL |
|---|---|
| Product impact scores | 1 hour |
| Equivalency translations | 1 hour |
| Supply chain data | 15 minutes |
| Calculation results | Do not cache (dynamic) |
| DPP documents | 24 hours |