API rate limits and evaluation usage
EvalGate bills completed evaluation results. API rate limits are separate operational safeguards and do not change the price.
Evaluation usage plans
Choose the monthly allowance that fits your evaluation volume:
Organizations above 5 million monthly results, rolling EvalGate out across
multiple organizations, or requiring procurement and centralized invoicing can
use a Strategic Enterprise agreement with a custom annual commitment and
negotiated volume schedule.
Every plan continues beyond its included allowance at $1 per 1,000 additional
results. Paid usage is uncapped by default: there is no fixed dollar or result
ceiling. Users, projects, datasets, and runs are unlimited on every 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.
Developer does not require a payment method for its included allowance. A
payment method is required to continue beyond that allowance or to subscribe
to Team, Scale, or Business. Every tier uses the same uncapped $1 per 1,000
overage rate.
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:RateLimit-Policy and RateLimit follow the current IETF HTTPAPI structured
field draft. The X-RateLimit-* fields remain available for compatibility with
existing clients. These quota hints are operational controls, not an SLA or a
guarantee that a later request will be served.
When a request exceeds its limit, the API returns HTTP 429:
Retry-After, the t parameter in
RateLimit, or X-RateLimit-Reset before retrying. Retry-After takes
precedence when it is present.