Skip to main content

API rate limits and evaluation usage

EvalGate bills completed evaluation results. API rate limits are separate operational safeguards and do not change the price.

Pay-as-you-go evaluation usage

EvalGate has one hosted plan: Model inference is bring-your-own-key (BYOK). Your model provider bills its own tokens and requests directly; EvalGate does not add an inference markup.

What counts as one result

One result is one persisted test-case outcome from an evaluation run.
  • A passed case counts once.
  • An evaluated failure counts once.
  • Multiple scorers on the same case do not multiply usage.
  • A retry of the same evaluation run reuses the run billing key and does not create a second usage event.
  • An empty run, a human-review placeholder, or an infrastructure failure before a result is persisted counts as zero.
A payment method is only required to continue beyond the 10,000-result free allowance. The default cap allows up to 50,000 paid results ($50) in a month.

API rate limits

Rate limits protect the service from runaway request loops. They are independent of monthly evaluation-result billing. Authenticated requests are keyed by organization and user, or by API key when available. EvalGate uses Upstash Redis in production and an in-memory fallback in local development unless fail-closed mode is explicitly enabled.

Rate limit response headers

Every limited response includes: When a request exceeds its limit, the API returns HTTP 429:
Use exponential backoff and respect Retry-After or X-RateLimit-Reset before retrying.
View current evaluation-result usage or add a payment method from Settings → Billing.