Azure Cosmos DB pricing

Fast NoSQL database with open APIs for any scale

Start your Azure free account and get a $200 credit for 30 days, plus get 12 months of free access to Azure Cosmos DB.

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.

Pricing

Azure Cosmos DB bills for provisioned throughput and consumed storage by the hour.

Provisioned Throughput offers single-digit millisecond reads and writes and 99.999-per cent 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.

  • Standard (manual) is recommended for predictable workloads and when direct planning and management of throughput capacity is desired. Throughput can be manually scaled up or down as needed, with billing based on total request units per second (RU/s) provisioned each hour, starting at 400 RU/s.
  • Autoscale is recommended for unpredictable workloads, or when managing capacity isn’t desired or possible. Set a custom throughput limit and be billed for the number of RU/s used each hour, starting at 400 RU/s or 10% of your custom throughput limit.

Storage is billed as GBs consumed by SSD-backed data and index across all of the Azure regions your database is distributed through.

Provisioned throughput

Provisioned Throughput offers single-digit millisecond reads and writes and 99.999-per cent availability worldwide, backed by SLAs. There are two provisioned throughput models: standard and autoscale.

Standard (manual) provisioned throughput

Ideal for large, critical workloads with predictable traffic patterns. With provisioned throughput, resources are dedicated to your workloads and SLA-backed single-digit millisecond latency and 99.999-per cent availability are guaranteed.

Provisioned throughput can be manually configured on your Cosmos container or database either using Azure portal or programmatically using an API. You will be billed an hourly rate for the maximum request units per second (RU/s) provisioned on your container or database.

Provisioned Throughput – Unit (100 RU/s per hour) Price
100 RU/s single-region account 1 x $-
100 RU/s multi-region, single master account with N > 1 regions N regions x $-
100 RU/s multi-region, multi-master account with N > 1 regions* N x $-

Standard data transfer rates apply. Monthly price estimates are based on 730 hours per month.

Cosmos containers and databases require a minimum provisioned throughput of 400 RU/s.

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

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

Autoscale provisioned throughput

Ideal for large, critical workloads with unpredictable traffic patterns. With autoscale (previously known as autopilot), your workloads receive SLA-backed single-digit millisecond latency and 99.999-per cent availability guaranteed. You set a custom throughput limit and billing is based on the number of request units per second (RU/s) used each hour with a minimum of 400 RU/s or 10% of your throughput limit.

Autoscale provisioned throughput – Unit (100 RU/s per hour) Price
100 Autoscale RU/s, single-region account $-
100 Autoscale RU/s, multi-region, single master account with N regions N regions x $-, where N > 1
100 RU/s multi-region, multi-master account with N regions N regions x $-, where N > 1

For more information, see documentation page.

Reserved capacity for standard provisioned throughput

Enjoy cost savings of up to 65 per cent, and enhanced availability SLAs, while reducing the burden of capacity planning with Azure Cosmos DB reserved capacity pricing. Reserve standard provisioned throughput for one or three years with a one-off payment, and share the reserved provisioned throughput across all regions, APIs, accounts and subscriptions under a given enrolment. For more information, see the documentation page.

1-year reservation 3-year reservation
Throughput Single region write Multiple region write Single region write Multiple region write
Price/Savings Price per 100 RU/s
(savings over PAYG)
Price per 100 RU/s
(savings over PAYG)
Price per 100 RU/s
(savings over PAYG)
Price per 100 RU/s
(savings over PAYG)
First 50k RU/s $- $- $- $- $- $- $- $-
Next 450K RU/s $- $- $- $- $- $- $- $-
Next 2.5M RU/s $- $- $- $- $- $- $- $-
Over 3M RU/s $- $- $- $- $- $- $- $-

Any throughput that you provision in excess of your reserved capacity is billed at standard provisioned throughput rates.

Consumed storage

Azure Cosmos DB offers unlimited transactional and analytical (preview) 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 (preview) – 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 (preview) storage on your Cosmos container.

To estimate your storage requirement, use the capacity planner tool.

Consumed storage Price
1 GB of consumed transactional storage (row-oriented) $-/month
1 GB of consumed analytical storage (column-oriented) – preview $-/month

For transactional storage, there is no additional charge for IOPS (input/output operations per second). For analytical storage (preview), storage transactions are billed as below:

Analytical storage transactions Preview

Transactions Price
Write Operations (per 10,000 operations) $-
Read Operations (per 10,000 operations) $-

Multiple regions and availability zones

Azure Cosmos DB is a fully managed database service with turnkey global distribution and transparent multi-master replication. You can add and remove regions from your Azure Cosmos DB account at any time. The throughput that you configure for various databases and containers is reserved in each region associated with your account.

In addition to multi-region configuration, you can now enable zone redundancy when selecting a region to associate with your Azure Cosmos database. Zone redundancy provides additional redundancy within a given region by replicating data across multiple zones in that region. Availability zones redundancy is available for single-region accounts, and multi-region accounts with multi-region writes enabled.

Try Azure Cosmos DB for Free

There are a variety of ways for you to get started for free with Azure Cosmos DB

Azure Cosmos DB free tier. Develop and test applications, or run small production workloads for free within the Azure environment. Get started: Enable free tier on a new account to receive 400 RU/s throughput and 5 GB of storage for free each month for the life of your account.
Azure free account. New to Azure? Develop and test a pre-production application with Azure Cosmos DB and other Azure services. Get started: Try Azure Cosmos DB and other Azure services as part of a 12-month Azure free account. Get $200 credit for 30 days and enjoy 400 RU/s of provisioned throughput and 5 GBs of storage per month for a year.)
30 days for free. Run a non-production Azure Cosmos DB database for a limited time. Get started: Enjoy a time-limited, globally distributed Azure Cosmos DB experience free of charge and without an Azure subscription with Try Azure Cosmos DB for Free. You can renew any number of times.
Azure Cosmos DB Local Emulator. Test applications from your local machine without creating an Azure subscription or incurring any cost. Get started: Download the free Azure Cosmos DB emulator from your local Windows machine. Once you’re satisfied with your database, you can deploy it by pointing to an Azure Cosmos DB instance in the cloud.

Support and SLA

  • Technical support is available through Azure Support, starting at $29/month. Billing and subscription management support is provided at no cost.
  • Azure Cosmos DB is available in all Azure regions including public, government and DoD clouds. To learn more, please visit the Azure services availability by region page.
  • SLA – Azure Cosmos DB guarantees at least 99.99-per cent availability for single-region databases and 99.999-per cent availability for multi-region databases, along with comprehensive SLAs covering latency, throughput and consistency. Learn more.

FAQ

  • 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, your overall provisioned capacity would be 140K RU/s (60K RU/s + 80K RU/s). Your bill would then change to: 1,400 * $- = $-/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 and 5 GB of storage for 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-master (multi-region writes).

    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 a Cosmos 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 of 10K RU/s and you store 1 TB of data this month. Let’s assume that you add three 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 100 GB 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 utilised 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 that the container or database exists, regardless of usage or whether the container or database is active for less than an hour. For example, if you create a container or database and delete it five minutes later, your bill will reflect one hour.

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

    For instance, if you increase provisioned throughput at 09:30 from 400 RU/s to 1,000 RU/s and then lower provisioned throughput at 10:45 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 the provisioned throughput back to 100K RU/s at 10:45 AM, 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 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.

Resources

Estimate your monthly costs for Azure services

Review Azure pricing frequently asked questions

Learn more about Azure Cosmos DB

Review technical tutorials, videos and more resources

Added to estimate. Press 'v' to view on calculator

Learn and build with $200 in credit, and keep going for free