rate_limit_exceeded
HTTP Status: 429 Too Many Requests
Example response
Retry-After header:
X-RateLimit-Reset reflects your billing anniversary instead of the 1st of the month.
What happened?
You’ve used all the requests in your monthly quota. This happens when:- Your cumulative requests this month have reached your tier’s limit
- Cached responses have counted toward your usage (cached results still consume quota)
How to fix
-
Wait for the reset: Check the
Retry-Afterheader for the number of seconds to wait, orX-RateLimit-Resetfor the exact reset timestamp (your billing period reset date) -
Upgrade your tier: Move to a higher tier for more monthly requests:
Tier Monthly Limit Free 500 Pro 10,000 Business 50,000 - Optimize your usage: Implement client-side caching to avoid duplicate lookups for the same VAT number
Common mistakes
- Not tracking usage: Monitor the
X-RateLimit-Remainingheader on each response to see how many requests you have left - Assuming cached results are free: Cached responses still count toward your monthly quota
- Ignoring the reset date: The
X-RateLimit-Resetheader tells you exactly when your quota refreshes
Catching this error with the SDKs
Related errors
burst_limit_exceeded- Per-minute burst limit exceeded (different from monthly quota)unauthorized- API key is invalid (different from being rate limited)