Back to Docs

Documentation

Rate Limits & Usage

All tiers

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:

Node.js
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.