
Upstash's complete Free, Pay as You Go and selected Fixed 250MB pricing cards, captured from its official Redis pricing page on November 9, 2026. All three cards include their limits and Start Now buttons. Only the Pay as You Go command charge is modeled here; the other cards provide comparison context.
This is a command-charge-only example in USD, not a reproduction of an entire Upstash invoice. It covers ordinary billable Redis commands and pipelines on one Pay as You Go database. It excludes storage, bandwidth, additional-database fees, read-region replication, transactions, Lua scripts, Prod Pack, budgets and rate limiting, plan changes, the Free and Fixed plans, Enterprise terms, other Upstash products, credits, discounts and taxes. Configuration names below are examples, not Upstash resource identifiers.
Pricing profile
These labels describe only the Redis Pay as You Go command component modeled here, not every Upstash product or plan.Redis Pay as You Go command pricing
The pricing page and billing documentation establish the selected rate and what is counted.
The denominator is a display unit, not a requirement to buy blocks of 100,000 commands. Upstash documents per-command billing and gives a worked example charging 72,000 commands. Keep the meter in raw billable commands; do not round each record up to 100,000.
The Pay as You Go card’s Unlimited bandwidth and command rows do not mean all usage is free. The pricing documentation separately lists $0.25/GB per month for storage after the first 1 GB**, **$0.03/GB for bandwidth beyond 200 GB/month, and $0.50 per month for each database after the first ten. These are separate dimensions and are not configured or included in this worked charge. A complete implementation needs verified storage measurement, bandwidth allowances and account-level database aggregation in addition to this command meter.
Design takeaways
- Measure the billable operation, not its transport envelope. Upstash’s pipeline example shows that one HTTP batch can contain many charged commands, while one
MGETcan retrieve many keys as a single command. A normalized command quantity and SUM aggregation preserve that distinction; counting HTTP requests or keys would change the bill. - A free plan is not automatically a paid-plan allowance. The paid-database FAQ explicitly excludes the Free plan’s initial command grant after upgrading. Do not add a zero-priced first tier or subtract 500,000 commands from this paid meter.
- Billing and service controls need separate implementations. Upstash’s monthly budget rate-limits the database when reached. A usage price alone does not enforce that behavior. This configuration deliberately leaves budget enforcement out rather than claiming that a monetary threshold automatically stops Redis traffic.
How Upstash’s pricing maps to Flexprice
This example uses monthly usage billing in arrears in Flexprice to illustrate the command component of a gross bill. That cadence is an implementation choice, not a claim about Upstash’s invoice dates or payment collection. Storage, bandwidth and other excluded charges would need their own configuration before calling this a complete bill.
Create the command feature and meter
Create a feature named Upstash Redis billable commands. Use SUM, not COUNT: one event can carry the billable commands from a whole pipeline or a non-overlapping usage interval.database_primary_example with the integration’s stable identifier for the selected database and use the same value on its events. The offering label is integration metadata, not an Upstash API parameter. Leave reporting conversion unset: usage and price both use raw commands, so dividing the quantity by 100,000 again would undercharge.
Configure the usage-only plan
Create a plan for this command component:FLAT_FEE means one constant usage rate, not a fixed monthly subscription fee. Omit package transforms, tiers and minimum quantities. Keep the amount as a decimal string with all six decimal places; rounding it to cents before applying usage would erase the charge.
Add an unlimited metered entitlement for this feature, then create a customer and a subscription to the example plan with quantity 1. The entitlement’s billing-period reset is not a recurring free-command grant. Do not add the Free plan’s 500K allowance or a separate recurring charge.
Send normalized billable commands
Normalize usage on your server before sending Flexprice usage events. For the ordinary commands in this example:
This is an illustrative Flexprice event for a pipeline containing three billable commands, not an Upstash API response:
event_id and timestamp when retrying delivery of the same usage record. Flexprice deduplication requires both to match. A separately billable Redis execution is a new usage record, even if the application requested it as a retry.
Verify a worked command charge
Suppose one billing period contains 1,750,250 billable commands from ordinary standalone commands and 1,000,000 billable commands delivered in pipelines. These are command quantities after excluding unbilled operational commands, not HTTP-request totals.
Aggregate usage before rounding the monetary total. As boundary checks, 100,000 commands cost $0.20** and **500,000 commands cost $1.00 on this paid plan. The latter must not become free simply because the Free card shows 500K monthly commands.
Before relying on the command total, verify that:
- Only the selected database’s Pay as You Go usage matches the meter filters.
- A pipeline of three billable commands adds three units, while one
MGETadds one. - Operational commands and duplicate usage deliveries do not add charged units.
- The unit amount remains
"0.000002", with no package rounding or second 100,000-unit conversion. - Storage, bandwidth and any other applicable fees are accounted for separately before presenting a complete invoice.
Pricing sources
- Upstash Redis pricing cards, rate details and paid-database FAQ
- Upstash Redis pricing and billing rules
- Upstash’s pipeline versus MGET explanation and cost example
- Upstash Redis product overview

