Skip to main content
This page is the resolution target of the RFC 9457 type URI on every rate_limit_exceeded problem body: https://docs.get-exo.com/errors/rate_limit_exceeded. HTTP status: 429 Too Many Requests.

Why it happens

Limits are per credential and per family, so a burst of writes cannot drain your read allowance. The families are reads, writes, ingest, sessions, search and exports, each with its own burst capacity and sustained per-minute refill. The 429 response carries the same RateLimit and RateLimit-Policy headers a successful response does, plus Retry-After in whole seconds.

How to fix it

  • Honour Retry-After. It is computed from your actual bucket state, not a fixed backoff.
  • Read RateLimit on successful responses and slow down before you hit the wall: r is your remaining tokens and t is seconds until the bucket is full again.
  • Spread work over time rather than retrying immediately. Buckets refill continuously.