Skip to content

Rate limits

Keyed calls are limited per account over a sliding 60-second window. Every metered call counts once, whether it was a cache hit, a live extraction or a miss. There is no daily cap and no concurrency cap; the monthly allowance of trusted reads is separate and enforced as a 402.

PlanCalls per minute
Free60
Starter600
Growth3,000

An account without an active subscription gets 60 calls per minute. report_outcome is not rate limited.

Response headers

Every keyed response from read_product, resolve_product, compare_products and brief_product carries:

x-ratelimit-limit:     600
x-ratelimit-remaining: 587
x-ratelimit-reset:     60

x-ratelimit-reset is in seconds, not a timestamp, and is the window length.

429 response

HTTP/1.1 429
retry-after: 60

{ "error": "rate_limited", "message": "Rate limit exceeded." }

Wait retry-after seconds before retrying. On MCP, a keyed tools/call over the limit returns HTTP 429 with JSON-RPC error -32099 and the same headers.

x402 calls

MCP calls paid per call with x402 are not rate limited and do not use an account's quota: each one is paid on-chain before it runs.