API Reference
Rate limits.
Limits are enforced at the API gateway on a sliding 60-second window per API key. Headers tell you exactly where you stand on every response.
Per-plan caps
Free10 / min500 calls / month combined across all your keys.
Builder120 / min50,000 calls / month. Coming soon.
Team600 / minUnlimited monthly cap. Coming soon.
Headers on every response
X-RateLimit-LimitYour per-minute ceiling.
X-RateLimit-RemainingCalls remaining in the current 60-second window.
X-RateLimit-ResetUnix epoch seconds when the window resets.
Retry-AfterOnly on 429. Seconds until you can try again.
Handling 429s
When the limit is exceeded we return 429 Too Many Requests with a Retry-After header. The simplest correct strategy: read the header, wait, retry.
HTTP/1.1 429 Too Many Requests Retry-After: 42 X-RateLimit-Limit: 10 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1717000060 { "ok": false, "error": { "code": "RATE_LIMITED", "message": "Rate limit of 10/min exceeded. Retry in 42s." } }
Recommended retry strategy
- On 429, sleep for
Retry-Afterseconds and retry the exact same request. No body changes needed. - For client-side throttling, read
X-RateLimit-Remainingon every response and queue locally when it's under 2. - For batch workloads, prefer the Batch API (coming with the Builder tier) over manual rate-limit dodging.
- The monthly cap is enforced independently. When it's exceeded you get
RATE_LIMITEDtoo, but with a longer reset window.
Web tool usage
Tools used directly on the website (e.g. /pcb-design/pcb-trace-width) run client-side from the same logic that powers the API. They don't consume your API quota — only the /v1/ endpoints do.