Azure Cosmos DB bills provisioned throughput in request units per second (RU/s) by the hour, serverless accounts by the million RUs consumed, storage per GB and month in every region of the account, backup copies beyond the included ones and every restore, so Cosmos DB pricing for an account is the sum of those lines across all its regions. Provisioned throughput almost always dominates the bill, because it is charged around the clock and per region, whether or not the application consumes it.

Pricing dimensions

The table uses the terms Microsoft uses on the pricing page and in the billing documentation. How a request turns into RUs is covered by the cross-provider page on managed databases; this page is about what ends up on the bill.

DimensionUnitWhat drives itOptional
Standard (manual) throughput100 RU/s per hour, billed on the highest value provisioned in that hourThe RU/s set per container or database; entry point 400 RU/sStandard or autoscale
Autoscale throughput100 RU/s per hour at 1.5 times the standard rate, billed on the highest value the system scaled to in that hourThe maximum Tmax; the system scales between 10 and 100 percent of it; entry point 1,000 RU/s, steps of 1,000 RU/sYes
Serverless1 million RUs consumedNumber and weight of requests; one region per accountSeparate account type
Additional regionsThroughput and storage are charged again in every regionNumber of regions N: the account's throughput T becomes T × N; multiple write regions pay the higher rate per 100 RU/sYes
StorageGB per month per region, on the highest hourly value in the monthData plus indexes; the analytical store has its own rateNo
Periodic backupGB per month per additional copy, in LRS, ZRS or RA-GRSInterval and retention beyond the two included copiesDefault mode
Continuous backupGB per month per region on the 30-day and 35-day tiers; restore per GBData size times regions; the 7-day tier has no backup storage charge, every restore is chargedYes
Purchase optionReserved capacity in units of 100 RU/s, one or three yearsSteady throughput; see reserved capacity for managed servicesYes

Provisioned throughput is billed per started wall-clock hour: a container deleted five minutes after creation costs a full hour, and scaling from 400 to 1,000 RU/s at 9:30 and back at 10:45 is billed as two hours at 1,000 RU/s. Storage follows the same logic with the highest hourly value, so 100 GB for half the month and 50 GB for the other half bills as 75 GB.

Autoscale bills each hour at the highest RU/s the system scaled to, never below 10 percent of Tmax, and the rate per 100 RU/s is 1.5 times the standard rate. Microsoft gives the threshold: a workload that uses the full value for 66 percent of the hours in a month or more is cheaper on standard throughput, one that uses it less often is cheaper on autoscale. On accounts with multiple write regions and more than one region, standard and autoscale share the same rate, so autoscale carries no premium there. Accounts created after 25 September 2024 scale per region and per physical partition (dynamic scaling), which lowers the billed RU/s under uneven load.

Serverless accounts have no provisioned throughput: the bill is the consumed RUs per million plus storage, with no minimum. A serverless account runs in a single region, each physical partition serves up to 5,000 RU/s, and Microsoft recommends the mode for intermittent traffic with an average-to-peak ratio below 10 percent. Reserved capacity and the free tier do not apply to serverless.

Every region counts twice: the throughput provisioned across all containers and databases is reserved and billed in each region of the account, and so is storage. With multiple write regions the higher multi-master rate per 100 RU/s applies on top; in Germany West Central it is about double the single-write rate. Replication between regions also produces outbound data transfer at the usual bandwidth prices.

Backups depend on the mode. Periodic mode takes a full backup every four hours and keeps the latest two copies by default; those two are included, and every further copy produced by a longer interval or retention is charged as backup storage per GB and month. Continuous mode backs up in every region of the account; the 7-day tier has no backup storage charge, the 30-day and 35-day tiers are charged per GB of data per region and month, and each restore call is charged once per GB restored.

The free tier gives one account per subscription its first 1,000 RU/s and 25 GB at no charge for the lifetime of the account, on standard and autoscale throughput, with single or multiple write regions; it has to be chosen at creation and shows on the bill not as a line but as a reduction of the billed throughput and storage. Reserved capacity exists for provisioned throughput in units of 100 RU/s, at a 20 percent discount for one year and 30 percent for three years on that unit, rising to 63 percent on reservations of one million RU/s and more; it covers neither storage nor networking, and autoscale throughput consumes a reservation at the factor 1.5. The mechanics of a reservation are covered under Azure reservations.

How it appears in your billing data

In the cost export every line of the service carries MeterCategory Azure Cosmos DB; the resource is the database account (Microsoft.DocumentDB/databaseAccounts), not the container, so which container caused the throughput is visible only in the Provisioned Throughput metric. The quantity on a throughput line is the number of 100 RU/s units times hours: 1,000 RU/s over 720 hours shows as 7,200 units. The Retail Prices API lists the same meters; its serviceName, productName and meterName are the export's MeterCategory, ProductName and MeterName.

Provisioned throughputon a container or databaseUnits of 100 RU/s times hours:a thousand RU/s over a monthas 7,200 unitsThe resource: the databaseaccount, never the containerWhich container caused it: onlythe Provisioned Throughput metricStorage, backup and thededicated gateway
Throughput is billed in units of a hundred RU/s per hour on the database account, and which container caused it shows only in the metric
ProductNameMeterNameWhat it is
Azure Cosmos DB100 RU/sStandard throughput, single write region, per hour
Azure Cosmos DB100 Multi-master RU/sThroughput with multiple write regions, per hour
Azure Cosmos DB autoscaleAP1 100 RUs to AP4 100 RUsAutoscale throughput, per hour
Azure Cosmos DB serverless1M RUsRUs consumed by a serverless account
Azure Cosmos DBData StoredTransactional storage, GB per month, per region
Azure Cosmos DB Analytics StorageStandard Data StoredAnalytical store
Azure Cosmos DB - PITRCont 30D Bckp Continuous Backup, Cont 30D Bckp Data RestoreContinuous backup and restore per GB; Cont 7D Bkup Continuous Backup is listed at zero
Azure Cosmos DB SnapshotPeriodic Backup - LRS Data Stored, - ZRS, - RA-GRSAdditional periodic copies
Azure Cosmos DB Dedicated GatewayD4s, E8s and othersHours of a dedicated gateway

The free tier appears as meters priced at zero, and the billed quantity is already reduced by 1,000 RU/s and 25 GB. Three things do not land under Cosmos DB: the outbound data transfer of replication between regions, which sits on the bandwidth meters (Azure bandwidth and networking pricing), private endpoints, which Private Link bills, and a vaulted backup of the account set up through Azure Backup, which appears as Cosmos DB Protected Instance under MeterCategory Backup (Azure Backup and Site Recovery pricing).

In the FOCUS export of the same data the rows carry ServiceName Azure Cosmos DB, ServiceCategory Databases and ChargeCategory Usage; x_SkuMeterCategory and SkuMeter repeat the meter category and meter name. A reservation purchase is a row with ChargeCategory Purchase, and the throughput hours it covers carry its CommitmentDiscountId. Setting up the export is covered under Azure cost exports, the columns under FOCUS columns and the providers' mapping.

Levers

Configuration:

yesnoNormalized RU Consumption:the hourly maximum, averagedBelow 66 percent?Autoscale: paid for the hour'speak, at the factor 1.5against a reservationStandard throughput, withreserved capacity forthe baselineIntermittent load: development,test, rarely used applicationsServerless: only theconsumed RUs, a new accountin a single region
Autoscale below two thirds of hourly peak use, standard throughput above it, serverless for intermittent load, and a reservation for the baseline
  • Set throughput from the metric. Normalized RU Consumption shows per hour how much of the provisioned throughput was consumed; if the hourly maximum averages below 66 percent, autoscale pays off, above it standard throughput does. That is rightsizing for this service.
  • Choose the backup tier. The continuous 7-day tier has no backup storage charge; the 30-day and 35-day tiers are charged per GB and region. In periodic mode, interval and retention decide how many copies exist beyond the two included ones.
  • Put the free tier on the right account. One account per subscription, selectable only at creation; 1,000 RU/s and 25 GB cover a small production workload or the development environment.

Purchase option:

  • Reserved capacity for the baseline. Reservations in 100 RU/s units apply across all regions and APIs in scope; autoscale consumes them at the factor 1.5, serverless not at all. How much baseline a commitment should cover is the subject of commitment strategy.

Architecture:

  • Count regions. Every read region doubles throughput and storage, and a second write region moves the whole account to the multi-master rate; dynamic scaling lets a passive secondary region scale down on its own. Whether a second location buys the availability it costs belongs in architecture choices and cost.
  • Serverless for intermittent load. Development, test and rarely used applications pay only consumed RUs on serverless; the switch requires a new account in a single region.
  • Delete empty containers. A container with dedicated throughput bills its RU/s with no data and no requests; idle and orphaned resources describes how to find them.
  • Share database throughput with care. Up to 25 containers can share one autoscale range, after which one container's burst takes capacity from the others; Microsoft recommends throughput per container. Further patterns are collected under database optimisation.

Where it goes wrong

  • Throughput stays up after the load test. Symptom: throughput lines rise and do not come back down. Cause: standard throughput changes only by hand, and every hour is billed at the highest value provisioned in it, even one that lasted minutes.
  • The second region doubles the bill. Symptom: after a region is added the throughput line grows by the full amount, more with multiple write regions. Cause: T × N per region, storage per region, and the multi-master rate for every region once more than one writes.
  • Autoscale costs more than manual. Symptom: an evenly loaded container costs 1.5 times as much after the switch to autoscale. Cause: with average hourly utilisation above 66 percent, the higher rate outweighs the saving of the quiet hours.
  • Empty containers cost money. Symptom: an account without data generates throughput cost. Cause: every container with dedicated throughput and every shared-throughput database bills its RU/s from creation, one full hour at least.
  • Backup cost without a restore. Symptom: a new Continuous Backup line per region. Cause: the 30-day or 35-day tier is charged per GB in every region of the account; the 7-day tier is not. Every restore adds a charge per GB.
  • The free tier does not apply. Symptom: a second account pays from the first RU/s. Cause: one free-tier account per subscription, selectable only at creation, and never on serverless.

Example

Germany West Central, list prices in EUR from the Azure Retail Prices API, read on 2026-10-21: standard throughput EUR 0.007 per 100 RU/s and hour, autoscale EUR 0.0106, throughput with multiple write regions EUR 0.0141; serverless EUR 0.2684 per million RUs; storage EUR 0.22 per GB and month; continuous backup on the 30-day tier EUR 0.176 per GB and month, restore EUR 0.132 per GB; additional periodic copies EUR 0.103 (LRS), EUR 0.1285 (ZRS) and EUR 0.205 (RA-GRS) per GB and month. A container with 1,000 RU/s of standard throughput costs 10 × 0.007 × 730 = EUR 51.10 over 730 hours; in two regions with one write region EUR 102.20; with two write regions 10 × 0.0141 × 730 × 2 = EUR 205.86. The number of regions and the write mode weigh more than any price difference between standard and autoscale.

Sources

Read on 2026-10-21. Microsoft: Azure Cosmos DB pricing, Understanding your Azure Cosmos DB bill, Create containers and databases with autoscale throughput, How to choose between manual and autoscale, Azure Cosmos DB serverless, Compare provisioned throughput and serverless, Continuous backup with point-in-time restore, Periodic backup and restore, Azure Cosmos DB lifetime free tier, Pricing and discounts with reserved capacity, Optimize cost for multi-region deployments. Billing data: Understand cost details fields, FOCUS cost and usage details file schema, Azure Retail Prices REST API. Prices: Retail Prices query for Azure Cosmos DB in Germany West Central in EUR.