Rate Limiting
Request limits per time window and retry headers.
Updated
On this page
Rate Limits
| Key Type | Limit |
|---|---|
Public (pk_*) | 120 requests/minute |
Secret (sk_*) | 300 requests/minute |
| Anonymous | 30 requests/minute |
Rate Limit Headers
Every response includes:
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1705312800
429 Response
{
"error": "rate_limit",
"message": "Rate limit exceeded. Try again in 45 seconds.",
"retry_after": 45
}
Exempt Endpoints
Webhook endpoints and certain internal endpoints are exempt from rate limiting.
Best Practices
- Cache responses aggressively (products, categories, global data change infrequently)
- Use server-side rendering to reduce client API calls
- Monitor
X-RateLimit-Remainingheaders - Implement exponential backoff on 429 responses
See Rate Limits and Caching Strategies for more.