LifeAstroAPILifeAstroAPI

← Troubleshooting

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

  1. Read the Retry-After header and sleep that many seconds before retrying; never retry 429 immediately.
  2. Queue requests client-side (p-limit, Bottleneck) so concurrency stays under your per-minute limit, shown in X-RateLimit-Limit.
  3. 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.