PayAPIKey
Back to guides
Limits10 min read

How to Set API Usage Limits for Free and Paid Users

Design fair API quotas and rate limits for free, paid, and enterprise plans using cost, capacity, and abuse assumptions.

Begin with the purpose of each plan

A free limit should let a legitimate developer evaluate the API without creating an inexpensive target for automated abuse. A paid limit should support the promised workload at a sustainable margin. An enterprise limit should reflect negotiated throughput, governance, and operational support.

Define the activation experience before choosing a number. Ask what a new user must accomplish to understand the product. If one realistic test needs 200 requests, a free quota of 50 is not a trial; it is a blocked onboarding flow.

Translate cost budget into a quota

Estimate average cost per successful request or job, including retries and supporting calls. Divide the cost budget for the plan by that amount, then apply a reserve for variance. For AI APIs, use token distributions rather than a single maximum or minimum prompt size.

Free usage is a customer-acquisition expense. Set a monthly budget for the entire free tier as well as a per-account quota so a burst of signups cannot silently create an unlimited liability.

Initial plan quota = plan usage-cost budget / estimated cost per successful unit x (1 - variance reserve)

Layer limits instead of relying on one number

A monthly quota alone does not stop a customer from consuming it in seconds. Combine a period quota with RPM, TPM, concurrency, maximum payload size, and output caps. Apply stricter limits to unauthenticated or newly created accounts until trust signals improve.

PlanQuota behaviorThroughput behavior
FreeHard monthly capLow RPM, low concurrency, strict abuse controls
StarterIncluded quota with upgrade promptUseful production baseline
GrowthHigher quota or opt-in overageHigher sustained and burst capacity
EnterpriseContracted usage and alertsNegotiated or dedicated capacity

Make exhaustion predictable

Show usage in the dashboard and send notifications before the limit is reached. Return a clear error with the reset time and upgrade or support path. For background jobs, consider pausing queued work rather than repeatedly retrying requests that cannot succeed until reset.

Customers should know whether unused quota rolls over, whether overage is automatic, and which activity counts. Keep marketing pages, documentation, API headers, and invoices consistent.

  • Notify account owners at multiple usage thresholds.
  • Offer project-level and key-level caps below the account maximum.
  • Provide a test environment with separate, lower limits when possible.
  • Require explicit consent before enabling paid overage.

Review limits with real distributions

After launch, compare the median, high percentile, and extreme usage for each plan. Averages can hide a small group that consumes most capacity. Separate valuable power users from automation loops, leaked keys, and account farming before changing the limits.

Adjust limits when provider capacity, unit cost, customer behavior, or product value changes. Announce material reductions in advance and preserve contract commitments. Use the estimator and rate-limit calculator to model the change before applying it to production accounts.