upAPI Docs

Plans and trials

What each tier includes, and how the free trial is bounded.

View as Markdown

Every number on this page is read at build time from @upapi/plans, the same module the pricing page and the billing system use. It cannot drift from what you are actually charged.

Tiers

PlanPrice / monthUnits / monthRequests / minuteTrial units
FreeUSD 01,00010—
StarterUSD 29100,0006010,000
ProUSD 99500,00030050,000
ScaleUSD 4995,000,0001,000500,000

"Units" are weighted — see Rate limits for what an individual call costs. Quota is pooled across every key in your organization and resets at the start of each UTC calendar month.

You only pay for calls we actually ran: requests we reject before running them, throttled calls, idempotent replays and cache hits all cost zero units. What you are charged for is the exact table.

Plans also govern how many operations and products you may configure, and whether hosted functions are available.

Trials

Every paid tier starts with a 14-day free trial. A trial is limited in time and in volume: it includes 10% of the tier’s monthly units for the whole trial, not per month.

That second limit is the one to plan around. A trial is not simply "the paid plan for two weeks" — it is a bounded evaluation budget, sized so you can test the platform end to end before you are billed for anything. When either limit is reached the trial stops: time runs out, or the units do.

A trial takes a card; the free tier does not

Starting a trial means completing checkout, and checkout collects a payment method — the card is validated with a zero-amount authorisation and charged only when the trial converts. If you want to try upAPI without entering card details at all, use the Free tier above: it is a real, permanent plan with its own monthly units and no payment method on file.

While a trial is live, X-Trial-Units-Limit and X-Trial-Units-Remaining appear on every gateway response and a trial block appears in /api/usage. Both disappear once the trial ends.

Spending the trial's units returns 429 QUOTA_EXCEEDED, with Retry-After set to the time remaining until the trial ends. It is deliberately not RATE_LIMITED: no window refills here, so a client backing off on the burst code would retry until the trial expired.

One trial per organization

The trial budget belongs to the organization, and an organization can only trial once. Switching tiers mid-trial does not restart the clock or top up the units — the original end date and the cumulative budget both carry over, and the switch itself is free.

Changing plan

Billing lives at Dashboard → Billing. Plan changes take effect immediately for rate limits and quota; you do not need to re-issue keys.

You will get a notification when consumption crosses 70% and 90% of your monthly quota, so a plan change is a decision rather than a surprise.