On this page
Rate limits
Limits are per API key. Buyer keys and seller keys have independent buckets. Auth is checked first — an invalid key never consumes the rate-limit bucket. See Authentication.
The default buyer policy is 20 requests in a 1-second burst, refilling at 10 requests/second. Every gateway response advertises that policy so agents can self-throttle.
Response headers
| Header | When | Meaning |
|---|---|---|
RateLimit-Policy | Every response | "per-key";q=20;w=1 — quota q over window w seconds (draft-ietf-httpapi-ratelimit-headers) |
RateLimit | Every response | "per-key";r=<remaining>;t=1 — remaining quota and seconds until the window refreshes |
X-RateLimit-Limit | Every response | Burst size (20) |
X-RateLimit-Remaining | Every response | Remaining requests in the burst |
X-RateLimit-Reset | Every response | Seconds until the window refreshes (1) |
Retry-After | HTTP 429 only | Seconds to wait before retrying (RFC 9110) |
An exceeded bucket returns HTTP 429:
{ "code": "rate_limited", "error": "per-key rate limit exceeded" }
On 429, RateLimit has r=0 and Retry-After is authoritative. The wire code is always rate_limited. See Errors.