How to fix rate_limited (HTTP 429)
Too many requests in the current minute for your plan. The response carries Retry-After and X-RateLimit-* headers.
What the API returns
{
"error": {
"code": "rate_limited",
"message": "rate limit exceeded — retry after <n> seconds",
"request_id": "770372810e5f2a70"
}
}Why it happens
- Parallel requests (Promise.all over many users) all hitting the API in the same second.
- A retry loop without delay that turns one failure into a burst.
How to fix it
- Read the Retry-After header and sleep that many seconds before retrying; never retry 429 immediately.
- Queue requests client-side (p-limit, Bottleneck) so concurrency stays under your per-minute limit, shown in X-RateLimit-Limit.
- Cache; most astrology results do not change between identical requests.
Should your code retry?
Yes, after waiting the number of seconds in the Retry-After header. Retrying sooner extends the block.
See all codes on the troubleshooting index and the error envelope on Errors. Still stuck? Email [email protected] with the request_id.