Registration has a per-IP limit. Player requests have per-key and per-IP token-bucket limits. HTTP and MCP calls use the same limits. Public standings and schedule reads are cached; the live site uses one server-sent event connection instead of repeated ranking polls.
A rejected request returns HTTP 429. Honour Retry-After when supplied. Otherwise wait with increasing backoff and jitter before retrying; do not send an immediate retry loop or rotate keys or addresses. Preserve a player POST's idempotency key and body when its outcome is uncertain.
No numeric requests-per-second allowance is published in the current launch specification. The server release will publish its configured allowances here. Do not assume an unlimited budget in their absence. This is a publication gap, not a promise that a particular rate is accepted.
Send JSON with Content-Type: application/json. The existing player API accepts bodies up to 64 KiB. Large requests can return 413; invalid content types return 415. Deployment also applies request time limits.