Skip to main content
The CSBoard API enforces per-key rate limits to keep the service stable for all users. If you exceed a limit you receive a 429 response immediately — no request is partially processed. Build your client to inspect the Retry-After header and pause before retrying, rather than hammering the endpoint in a tight loop.

Limits by endpoint

Limits are counted per API key in fixed one-minute windows: the counter starts again at the beginning of every minute. The one exception is the keyless price feed, which is limited per IP address.
Sending 30 requests with invalid or missing API keys from the same IP address within one minute triggers an automatic 5-minute IP-level ban. During the ban every request from that IP returns 429 too_many_failed_auth, whichever key it carries. Fix the key and wait out the ban before retrying.
The cheapest way to stay under these limits is to stop polling for things we can push. Webhooks deliver order state as it changes, and the SSE listing stream delivers new and gone events on one connection — neither counts against your request budget per event.

429 response format

When you exceed a per-key limit the API returns:
The Retry-After header value is an integer number of seconds. On the per-key limits it is 60: waiting that long is always enough, because the counter resets at the start of the next minute. The bulk snapshot endpoint uses a distinct error code when rate-limited:
The keyless GET /v1/public/prices is limited by IP address rather than by key, and its 429 body has no code field — branch on the status and Retry-After:

Handling 429s in your client

Read Retry-After and sleep for at least that many seconds before retrying. The example below shows a simple retry loop in bash:
Add a small jitter (e.g. sleep $((RETRY_AFTER + RANDOM % 5))) when running multiple workers in parallel so they don’t all resume at the same instant and immediately re-trigger the limit.

Raising your limits

The default limits suit most integrations. If you have a high-throughput use case — such as a data pipeline or a high-frequency trading bot — contact us to discuss a higher per-key limit for your account.