Azure Cosmos DB pricing

Fast NoSQL database with open APIs for any scale

Quickly and easily develop apps at any scale with fully managed NoSQL database service offering guaranteed speed and availability, automatic and instant scalability, and open source APIs. Azure Cosmos DB offers cost-effective pricing models for apps of any size, from dev/test to production.

Explore pricing options

Apply filters to customize pricing options to your needs.

The cost of all database operations is normalized and expressed as request units (RU). Azure Cosmos DB offers two database operations models:

  • Provisioned Throughput is measured in request units per second (RU/s) and billed per hour. It offers single-digit millisecond reads and writes and 99.999-percent availability worldwide, backed by SLAs. It is ideal for large, critical workloads requiring guaranteed low-latency and high-availability. You can choose between two capacity management options: Standard Provisioned Throughput and Autoscale Provisioned Throughput.
  • Serverless bills for the request units (RU) used for each database operation. Serverless makes it easy to run spiky workloads that don’t have sustained traffic. It can handle traffic bursts on demand, without resource planning or management.

Storage is billed as GBs consumed by SSD-backed data and index across all the Azure regions your database is distributed to. Two backup copies are provided free, with additional copies billed as total GBs of data stored. Backup storage is available as either periodic or continuous.

  • Periodic backup is enabled by default, with two backup copies provided free, and additional copies billed as total GBs of data stored.
  • Continuous backup Preview, if enabled, is billed as GBs stored across all selected Azure regions and point-in-time restore is billed as GBs of data restored per instance.

Provisioned Throughput

Provisioned Throughput offers single-digit millisecond reads and writes and 99.999-percent availability worldwide, backed by SLAs. It is ideal for large, critical workloads requiring guaranteed low-latency and high-availability. New accounts are eligible to receive 400 request units per second (RU/s) throughput and 5 GBs storage per month with Azure Cosmos DB free tier.

There are two capacity management options for provisioned throughput: autoscale provisioned throughput and standard provisioned throughput. The one you choose will depend on the predictability of your workload and whether you wish to manually manage capacity.

Standard (manual) provisioned throughput

Directly manage capacity with standard provisioned throughput. This option is ideal for large, critical workloads with predictable traffic patterns.

Starting at a minimum 400 request units per second (RU/s), standard provisioned throughput can be manually configured on your container or database using Azure portal or programmatically using an API. You will be billed an hourly rate for the RU/s provisioned on your container or database.

Standard Provisioned Throughput Total RU/s per hour Price per 100 RU/s
Single-region write account 100 RU/s x 1 region $-
Single-region write account distributed across N regions (excluding availability zones*) 100 RU/s x N regions $-
Single-region write account, with regions using availability zones 100 RU/s x 1.25 x N zones $-
Multi-region write (formerly "multi-master") account with N regions* (with or without availability zones) 100 RU/s x N regions $-
Standard data transfer rates apply.

A minimum of 400 RU/s throughput must be provisioned for Azure Cosmos DB containers and databases.

* See "Availability Zone" section below for more details.

** The price for multi-region write accounts created before December 1, 2019 is (N regions + 1) x $-

You can estimate your provisioned throughput needs by using the Azure Cosmos DB capacity planner (RU calculator)

Reserved capacity for standard provisioned throughput

Enjoy cost savings of up to 65-percent, and enhanced availability SLAs, while reducing the burden of capacity planning with Azure Cosmos DB reserved capacity pricing. Reserve standard provisioned throughput, starting at 5,000 RU/s, for one or three years with a one-time payment, and share the reserved provisioned throughput across all regions, APIs, accounts and subscriptions under a given enrollment.

For more information, see the documentation page. The table below is a summary of available reservation sizes and doesn’t reflect all options. Visit the Azure portal to see all reserved capacity options.

One Year term Three Year term
Single region write Multiple region write Single region write Multiple region write
Reserved Capacity request units per second (RU/s) Annual Price Annual Price Annual Price Annual Price
5,000 $3504 $-
$7008 $-
$3504 $-
$7008 $-
20,000 $14016 $-
$28032 $-
$14016 $-
$28032 $-
50,000 $35040 $-
$70080 $-
$35040 $-
$70080 $-
100,000 $70080 $-
$140160 $-
$70080 $-
$140160 $-
300,000 $210240 $-
$420480 $-
$210240 $-
$420480 $-
500,000 $350400 $-
$700800 $-
$350400 $-
$700800 $-
1,000,000 $700800 $-
$1401600 $-
$700800 $-
$1401600 $-
RU/s utilization is determined by the Azure region in which they are used. Refer to the reservation discount per region for specifics. Savings details are displayed in the purchase screen of the Azure portal.

Any provisioned throughput RU/s beyond the reserved capacity amount purchased will be billed at regular provisioned throughput rates.

Provisioned Throughput

Provisioned Throughput offers single-digit millisecond reads and writes and 99.999-percent availability worldwide, backed by SLAs. It is ideal for large, critical workloads requiring guaranteed low-latency and high-availability. New accounts are eligible to receive 400 request units per second (RU/s) throughput and 5 GBs storage per month with Azure Cosmos DB free tier.

There are two capacity management options for provisioned throughput: autoscale provisioned throughput and standard provisioned throughput. The one you choose will depend on the predictability of your workload and whether you wish to manually manage capacity.

Autoscale provisioned throughput

Eliminate the need to manually manage capacity for your large, critical workloads and achieve cost benefits when traffic patterns are unpredictable. You set a custom throughput limit (starting at 4,000 RU/s) either using Azure portal or programmatically using an API. Billing is based on the maximum number of request units per second (RU/s) used each hour, between 10 - 100% of your throughput limit.

Autoscale provisioned throughput Total RU/s per hour Price per 100 RU/s
Single-region write account 100 RU/s x 1.5 x 1 region $-
Single-region write account with data distributed across multiple regions (with or without availability zones*) 100 RU/s x 1.5 x N regions $-
Multi-region write (formerly called multi-master) account distributed across multiple regions 100 RU/s x N regions $-
*Availability zones do not have a separate charge with autoscale provisioned throughput.

Autoscale was previously known as “autopilot”.

A minimum of 4,000 RU/s must be provisioned for autoscale provisioned throughput. For more information, see documentation page.

Serverless Preview

Serverless makes it easy to run workloads with low traffic. It can handle intermittent bursts on demand, without resource planning or management, and bills only for resources used per database operation with no minimum. As a pay-per-request billing model with no minimum operations and request units (RU), serverless is a great option for running small applications that don’t have sustained traffic.

Serverless Total Request Units (RU) Price per 1M RU
Serverless request units (RU) 1,000,000 $-
Serverless request units (RU) with availability zone 1,000,000 x 1.25 $-

Storage

Azure Cosmos DB offers unlimited transactional and analytical storage, billed as GBs of SSD-backed logical storage used by data and indexes across all regions selected for geo-replication. For example, if you replicate an Azure Cosmos DB account across three regions, you will pay for the total storage cost in each of those three regions.

Your data is managed in two distinct storage tiers, transactional and analytical, with workloads operating on the same logical data without interfering with each other. While transactional storage is always enabled by default, you must explicitly enable analytical storage on your Azure Cosmos DB container in order to use Azure Synapse Link to run analytics over data in Azure Cosmos DB.

Provisioned throughput (RU/s) scales relative to the amount of transactional storage at a rate of 10 RU/s for every 1 GB storage. To estimate your storage requirement, use the capacity planner tool, and ensure you’ve provisioned enough throughput to meet your storage needs.

Consumed Storage Total GB Price
Transactional storage (row-oriented) 1 GB $-/month
Analytical storage (column-oriented) 1 GB $-/month

Backup storage

Accounts can select either periodic or continuous backup. By default, periodic backup is activated on all accounts and two backup copies of your data are stored free of charge. Periodic data backups can be configured to be geo, local, or zone resilient. Please see technical documentation for details.

Periodic backup storage Total GB Price per GB
Stored periodic backup data (2 copies) GBs per copy Free/month
Stored periodic backup data (>2 copies) GBs per copy $-/month

Continuous backup (preview) can be activated instead of periodic backups on accounts using either the Core (SQL) API or API for MongoDB. Once activated, backups are charged on a monthly basis based on the total amount of data stored across all selected Azure regions. Point-in-time restoration from the continuous backup data is billed as total GBs of data restored to the primary write region.

Continuous backup storage Total GB Price per GB
Continuous backup Preview data GBs x selected Azure regions $-/month
Point-in-time restore Preview GBs $-/month

Analytical storage transactions

IO (input/output) transactions for analytical storage are billed by quantity of operations.

Transactions Operations Price
Write Operations - analytical storage 10,000 $-
Read Operations - analytical storage 10,000 $-
For a more detailed estimate of analytical storage operations for your workload please use the capacity planner tool and refer to the Azure Cosmos DB analytical store pricing documentation for additional detail.

Note: Transactional storage pricing is not impacted by analytical storage usage.

Multiple regions

Azure Cosmos DB offers guaranteed low-latency and high availability through multi-region reads and multi-region writes (formerly “multi-master”), across any or all Azure regions. You can add and remove regions to your Azure Cosmos DB account at any time. The billing impact of multiple regions is that provisioned throughput and consumed storage are multiplied by every region associated with your account.

Availability zones

You can enable availability zones when selecting regions to associate with your Azure Cosmos DB account in the Azure portal. This provides additional redundancy within a given region by replicating data across multiple zones in that region. The Azure regions eligible to be availability zones are: UK South, Southeast Asia, East US, East US 2, Central US, West Europe, West US 2, Japan East, North Europe, France Central, and Australia East.

The billing impact is:

  • For single-region write accounts using standard provisioned throughput, request units per second (RU/s) are multiplied by a factor of 1.25 in each region designated as an Availability Zone
  • For single-region serverless accounts, request units (RU) are multiplied by a factor of 1.25
  • For multi-region write (formerly “multi-master”) accounts using provisioned throughput, there is no billing impact

Azure pricing and purchasing options

Connect with us directly

Get a walkthrough of Azure pricing. Understand pricing for your cloud solution, learn about cost optimization, and request a custom proposal.

Talk to a sales specialist

See ways to purchase

Purchase Azure services through the Azure website, a Microsoft representative, or an Azure partner.

Explore your options

Additional resources

Azure Cosmos DB details

Learn more about Azure Cosmos DB features and capabilities.

Pricing calculator

Estimate your expected monthly costs for using any combination of Azure products.

SLA

Review the Service Level Agreement for this product.

Documentation

Review technical tutorials, videos, and more Azure Cosmos DB resources.

Frequently asked questions

  • Request units are the currency for database operations in Azure Cosmos DB. Each operation - writes, updates, reads and queries - consumes CPU, memory and IOPs resources. These resources incur charges which are expressed in request units (RU). Provisioned throughput is the total throughput capacity for database operations and is set as request units per second (RU/s). To learn more please visit request units in Azure Cosmos DB page.
  • You’re billed by the hour for the provisioned throughput, expressed in request units per second (RU/s), that you set for your database or container.

    Standard provisioned throughput for an individual container:

    If you create an Azure Cosmos DB database account in East US 2 with two containers with standard provisioned throughput of 500 RU/s and 700 RU/s, respectively, you would have a total provisioned throughput of 1,200 RU/s. You would thus be charged 12 x $- = $-/hour.

    If your throughput needs changed, and you’ve increased each container’s capacity by 500 RU/s while also creating a new container using 20,000 RU/s, your overall provisioned capacity would be 22,200 RU/s (1,000 RU/s + 1,200 RU/s + 20,000RU/s). Your bill would then change to: $- x 222 = $-/hour.

    In a month of 720 hours, if for 500 hours provisioned throughput was 1,200 RU/s and for the remaining 220 hours provisioned throughput was 22,200 RU/s, your monthly bill will show: 500 x $-/hour + 220 x $-/hour = $-/month.

    Provisioned throughput for a database (a set of containers):

    If you create an account in East US 2 with two Cosmos DB databases (with a set of collections under each) with provisioned throughput of 50K RU/s and 70K RU/s, respectively, you would have a total provisioned throughput of 120K RU/s. You would thus be charged 1200 x $- = $-/hour.

    If your throughput needs changed and you increased each database’s provisioned throughput by 10K RU/s each, your overall provisioned capacity would be 140K RU/s (60K RU/s + 80K RU/s). Your bill would then change to: 1400 * $- = $-/hour.

    In a month of 720 hours, if for 500 hours provisioned throughput was 120K RU/s and for the remaining 220 hours provisioned throughput was 140K RU/s, your monthly bill will show: 500 x $-/hour + 220 x $-/hour = $- + $- = $-/month.

  • With autoscale (previously "autopilot"), you set a maximum provisioned throughput limit in RU/s that your database or container can scale to. You are then billed by the hour for RU/s of provisioned throughput used, starting at 400 request units per second (RU/s) or 10% of your maximum. For example, if you set a maximum of 8,000 RU/s Azure Cosmos DB will automatically scale between 800 - 8,000 RU/s based on actual usage.
  • When enabled on a new Azure Cosmos DB account, free tier gives the first 400 RU/s and 5 GB of storage for free for the lifetime of the account. Additionally, when using shared throughput databases, you can create up to 25 containers that share 400 RU/s at the database level (max. 5 shared databases per free tier account). You can have a maximum of one free tier account per Azure subscription and must opt in when creating the account.
  • In free tier accounts, you will receive the first 400 RU/s provisioned throughput and 5 GB of storage free each month. Any provisioned throughput and storage beyond 400 RU/s and 5 GB will be billed at the regular Azure Cosmos DB rates. The 400 RU/s applies to standard provisioned throughput, autoscale provisioned throughput, and multi-region writes (multi-master). Free tier is not applicable to serverless.

    The free tier discount is applied at the account level. For example, if in one month, an account had a total of 400 RU/s and three regions, with 5 GB in each region, the account would be billed for 800 RU/s (400 RU/s x 3 regions – 400 RU/s) and 10 GB of storage (5 GB x 3 regions – 5 GB) for each hour in the month. If the regions have different rates for RU/s and storage, the discount will reflect the rates of the region the account was created in.

  • When you choose to make an Azure Cosmos DB account (with databases and containers) span across geographic regions, you are billed for the throughput and storage for each container in every region and the data transfer between regions. As an example, let’s assume you have a container in West US provisioned with throughput 10K RU/s and store 1TB of data this month. Let’s assume you add 3 regions: East US, North Europe, and East Asia, each with the same storage and throughput. Your total monthly bill will be (assuming 31 days in a month):

    Item Usage (Month) Rate Monthly Cost
    Throughput bill for container in West US 10K RU/s * 24 * 31 $- per 100 RU/s per hour $-
    Throughput bill for 3 additional regions - East US, North Europe, and East Asia 3 * 10K RU/s * 24 * 31 $- per 100 RU/s per hour $-
    Storage bill for container in West US 1 TB $-/GB $-
    Storage bill for 3 additional regions - East US, North Europe, and East Asia 3 * 1TB $-/GB $-
    Total $-

    Let’s also assume that you egress 100GB of data every month from the container in West US to replicate data into East US, North Europe and East Asia. You are billed for egress as per data transfer rates.

  • When you choose to operate containers that span across multiple geographic regions, you are billed for the provisioned throughput and storage for each container in every region and the data transfer between regions. You will be billed for the provisioned throughput.
  • Storage capacity is billed in units of the maximum hourly amount of data stored, in GB, over a monthly period. For example, if you utilized 100 GB of storage for half of the month and 50 GB for the second half of the month, you would be billed for an equivalent of 75 GB of storage during that month.

  • You're billed for each hour the container or database exists, regardless of usage or if the container or database is active for less than an hour. For example, if you create a container or database and delete it 5 minutes later, your bill will reflect a 1 hour.

  • You are charged for the maximum provisioned throughput for any given hour.

    For instance, if you increase provisioned throughput at 9:30 AM from 400 RU/s to 1,000 RU/s and then lower provisioned throughput at 10:45 AM back to 400 RU/s, you will be charged for two hours of 1,000 RU/s.

    If you increase provisioned throughput for a container or a set of containers at 9:30 AM from 100K RU/s to 200K RU/s and then lower provisioned throughput at 10:45 AM back to 100K RU/s, you will be charged for two hours of 200K RU/s.

  • You can scale up or scale down the provisioned throughput (i.e., Request Units per second) for each container or a database by using the Azure Portal, one of the supported SDKs, ARM template, PowerShell, Azure CLI or the REST API.

  • Azure Cosmos DB reserved capacity helps you save money by offering a discount if you prepay for one year or three years of provisioned throughput. Reserved capacity provides a billing discount and does not affect the runtime state of your resources. You can buy a reserved capacity for Azure Cosmos DB in the Azure portal. To learn more about reserved capacity, read the Azure Cosmos DB documentation.

Talk to a sales specialist for a walk-through of Azure pricing. Understand pricing for your cloud solution.

Get free cloud services and a $200 credit to explore Azure for 30 days.