Windows are fixed per minute/day. Occasional 429s are expected behavior at
the edges of a window — build retry logic rather than tuning to the exact
numbers.
Response headers
Every REST response carries the state of the binding minute window (the one that would reject you first):X-RateLimit-Reset is seconds until the window resets (not a Unix
timestamp).
When you hit 429
Retry-After: 22 header.
- Wait
retry_afterseconds, then retry. Add jitter if you run several workers on one key. - Prefer exponential backoff for repeated 429s.
- Over MCP, a rate-limited call surfaces as a tool error naming the retry delay — agents should read it and pause rather than hammer.
Staying under the limits
- Use
limit(up to 100) and cursors instead of many small pages. - Cache stable data (zones, contest schedules) on your side.
- Use
list_topicsfor browsing; savesearch_topics(the tighter budget) for actual keyword lookups.