Skip to main content
Need higher limits? Email support@agg.market with your app ID, the API key name (never the secret), the endpoints you call, and your expected peak requests per minute. We can raise limits per key and per endpoint group.

Overall limits

Each API key has its own budget, separate from your other keys and your browser traffic. Browser traffic is also limited per user, so one busy user cannot use up the limit for the rest of your app. See Server API keys.

Endpoint limits

Some endpoints have their own per-minute limits on top of the overall limit. A higher key limit does not raise these. All endpoints in a group share one budget. For example, a fill and a cancel both count toward Trading. Order-book reads count one unit per outcome. A GET /orderbooks/outcomes call for 10 outcomes uses 10. Sign-in and email endpoints have tighter limits to stop abuse. A user can receive up to 10 magic-link emails per hour.

Handling a 429

A 429 includes a Retry-After header in seconds. Wait at least that long before you retry. Do not cache a 429, and do not treat it as empty data. A 403 from a high-volume source can mean our network firewall blocked it. Back off for a few minutes. If one server IP will send a lot of traffic, tell us before you launch. To stay under the limits:
  • Use the orderbook socket instead of polling order books.
  • Debounce typeahead before calling GET /search?mode=instant.
  • Route reads that fan out for many users through your backend, with an API key.
Before retrying a write, read Errors, retries & idempotency.