Skip to main content
Free academy website with paid plans.

Working with the API

Rate limits

Per-key, per-academy and per-route limits, the RateLimit headers, and what a 429 looks like.

Updated

Browse the developer docs

Steps

  1. Plan for three limits checked on every request: 120 requests per minute per key, 600 per minute per academy across all its keys, and, for each key on each route, 120 per minute for reads or 60 per minute for writes.
  2. Read RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (in seconds) on successful responses. They describe whichever limit has the fewest requests left.
  3. On 429 rate_limited, wait for the number of seconds in the Retry-After header before you retry.

Notes

  • The per-route limit is shared across ids, so all GET /v1/webhook_endpoints/{id}/deliveries calls count against one bucket.
  • Tool runs through MCP and /v1/tools use the same limits, counted as reads or writes.

Still need help?

Email hello@chesscore.io. Using ChessCore day to day? Visit the Help centre.