Rate limit headers are present on every response where the rate limiter ran — including 429 rate-limit rejections and
/v1/rate/limits itself. Errors returned before rate limiting runs (such as 402 insufficient-credit or 403 premium-required rejections from the authentication layer) do not carry these headers.Headers
Rate-limited responses include these headers:Example Response Headers
Example 429 Response
When you exceed a rate limit, the response includes aRetry-After header:
Limits by Tier
Code Examples
- Python
- TypeScript
- Rust
- Go
- cURL
Retry Logic
Use theRetry-After header to implement automatic retry on 429 responses:
- Python
- TypeScript
- Rust
- Go
Best Practices
- Check
Remaining-Minutebefore sending requests — if it’s low, slow down or queue requests. - Use
Retry-Afteron 429s — don’t guess the wait time, the header tells you exactly how long. - Log your tier — use
X-RateLimit-Tierto confirm your account is on the expected plan. - Build dashboards — track
Remaining-Dayover time to understand your usage patterns and plan upgrades.
Related
- Rate Limits — full rate limit tiers, windows, and how limiting works
- Pricing Details — per-operation costs
- Premium Endpoints — endpoints available on premium plans
- Rate Limits API Example — check rate limit status via the API