Skip to main content
Gildea uses fixed-window rate limiting on both per-minute and monthly windows.

Limits by tier

Monthly limits use a rolling 30-day window.

Rate limit headers

Every authenticated response includes rate limit headers (limit, remaining, and the reset time in unix epoch seconds) for each window:

When you’re rate limited

If you exceed your limit, the API returns 429, with the same X-RateLimit-* headers above (so you can see which window was hit and when it resets), plus a Retry-After header in seconds:
The retry timing is also echoed into the body, so clients that only read JSON don’t have to inspect headers. retry_after is the seconds to wait; reset is the unix epoch second when the exceeded window clears:
Retry-After reflects the actual time to the window reset, not a fixed value: for the per-minute window it ranges from 1-60s depending on when in the window you hit the cap. (A 429 from the monthly window can have a much larger Retry-After; if you’re hitting the monthly cap, upgrading your tier is usually the fix.)

Best practices

  1. Check remaining counts: use the X-RateLimit-Remaining-* headers to throttle proactively
  2. Respect Retry-After: wait the indicated time before retrying
  3. Use pagination: fetch fewer, larger pages instead of many small requests
  4. Cache responses: signal data doesn’t change frequently