Documentation
Rate Limits & Usage
Per-tier ceilings, the X-RateLimit-* headers, a backoff pattern for 429s, and how the dashboard's Usage page tracks consumption.
Per-tier limits
- Free — 300 requests per minute per API key.
- Pro — 1,000 requests per minute per API key.
- Enterprise — Custom limits negotiated under MSA.
Limits apply per-key, not per-account. Multiple keys on the same account each get their own bucket — which is one reason to issue per-environment keys (see API Keys).
Rate-limit headers
Every response — success or rate-limited — carries:
X-RateLimit-Limit— your ceiling per minute.X-RateLimit-Remaining— calls left in the current window.X-RateLimit-Reset— epoch seconds at which the window resets.
On a 429, X-RateLimit-Remaining will be 0; sleep until X-RateLimit-Reset before retrying.
Backoff pattern
When you hit a 429, don't immediately retry. Read X-RateLimit-Reset, sleep until that epoch, then proceed:
async function fetchWithBackoff(url: string, key: string) {
for (let attempt = 0; attempt < 3; attempt++) {
const res = await fetch(url, {
headers: { Authorization: `Bearer ${key}` },
});
if (res.status !== 429) return res;
const reset = Number(res.headers.get("X-RateLimit-Reset"));
const waitMs = Math.max(0, reset * 1000 - Date.now()) + 250;
await new Promise((r) => setTimeout(r, waitMs));
}
throw new Error("Rate-limited after 3 attempts");
}Tracking usage in the dashboard
Your /dashboard/usage page shows per-key request counts over the last 24 hours, 7 days, and 30 days. Useful for verifying a rotation (new key picking up traffic) or spotting anomalies (a leaked key serving unexpected volume).
What counts toward the limit
- Every authenticated request — successful or not — consumes one unit.
- 4xx responses (validation errors, not_found, etc.) do consume a unit.
- 429 responses themselves do not consume an additional unit beyond the one that triggered them.
- Webhook deliveries from Verdict to your server do not count.
Need higher throughput?
Email support@verdict.finance about Enterprise. Enterprise customers get custom rate-limit ceilings negotiated under MSA.