With on-demand capacity mode, you pay per request for the data reads and writes your application performs on your tables. You do not need to specify how much read and write throughput you expect your application to perform, as DynamoDB instantly accommodates your workloads as they ramp up or down. This page details how DynamoDB charges for the core and optional features of DynamoDB. For pricing in AWS China Regions, see the AWS China Regions pricing page.

Key terms

Read request unit: API calls to read data from your table are billed in read request units. DynamoDB read requests can be either strongly consistent, eventually consistent, or transactional. A strongly consistent read request of up to 4 KB requires one read request unit. For items larger than 4 KB, additional read request units are required. For items up to 4 KB in size, an eventually consistent read request requires one-half read request unit, and a transactional read request requires two read request units. For example, a strongly consistent read request of an 8 KB item requires two read request units, an eventually consistent read of an 8 KB item requires one read request unit, and a transactional read of an 8 KB item requires four read request units. See Read Consistency for more details.

Write request unit: API calls to write data to your table are billed in write request units. A standard write request unit can write an item up to 1 KB. For items larger than 1 KB, additional write request units are required. A transactional write requires two write request units. For example, a write request of a 1 KB item requires one write request unit, a write request of a 3 KB item requires three write request units, and a transactional write request of a 3 KB item requires six write request units.

Replicated write request unit: When using DynamoDB global tables, your data is written automatically to multiple AWS Regions of your choice. Each write occurs in the local Region as well as the replicated Regions.

Streams read request unit: Each GetRecords API call to DynamoDB Streams is a streams read request unit. Each streams read request unit can return up to 1 MB of data.

Transactional read/write requests: In DynamoDB, a transactional read or write differs from a standard read or write because it guarantees all operations contained in a single transaction set succeed or fail as a set.

Change data capture units: DynamoDB can capture item-level changes in your DynamoDB tables and replicate them to other AWS services such as Amazon Kinesis Data Streams and AWS Glue Elastic Views. DynamoDB captures these changes as delegated operations, which means DynamoDB performs the replication on your behalf so that you don’t have to manage throughput capacity. DynamoDB charges one change data capture unit for each write to your table (up to 1 KB). For items larger than 1 KB, additional change data capture units are required.

DynamoDB table classes: DynamoDB offers two table classes designed to help you optimize for cost. The DynamoDB Standard table class is the default and recommended for the vast majority of workloads. The DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class is optimized for tables that store data that is accessed infrequently, where storage is the dominant cost. Each table class offers different pricing for data storage as well as read and write requests. You can select the most cost-effective table class based on your table’s storage requirements and data access patterns. Learn more about DynamoDB table classes in the DynamoDB Developer Guide.

DynamoDB features and billing overview


What it does

Billing unit

Core features


Write request

Writes data to your table

Write request unit


Read request

Reads data from your table

Read request unit

Optional features


Continuous backup

Takes continuous backups for the preceding 35 days



On-demand backup

Takes snapshot backups at specified points in time



Restore from backup

Restores a table to a specific snapshot or time



Global tables

Replicates data to create a multi-Region, multi-active table

Replicated write request unit
  Change data capture for Amazon Kinesis Data Streams Captures item-level data changes on a table and replicates them to Kinesis Data Streams Change data capture unit
  Change data capture for AWS Glue Elastic Views Captures item-level data changes on a table and replicates them to AWS Glue Elastic Views Change data capture unit
  Data export to Amazon S3 Exports DynamoDB table backups from a specific point in time to Amazon S3 GB
  Data import from Amazon S3 Migrate and load data from Amazon S3 to new DynamoDB tables GB


DynamoDB Accelerator (DAX)

Reduces latency through in-memory cache



DynamoDB Streams

Provides a time-ordered sequence of item-level changes on a table

Streams read request unit


Data transfer out

Transfers data to other AWS Regions


DynamoDB detailed feature pricing

DynamoDB free tier

The AWS Free Tier enables you to gain free, hands-on experience with AWS services. The following DynamoDB benefits are included as part of the AWS Free Tier. Each benefit is calculated monthly on a per-Region, per-payer account basis.

  • 25 GB of data storage for tables using the DynamoDB Standard table class
  • 2.5 million stream read requests from DynamoDB Streams
  • 100 GB of data transfer out to the internet, aggregated across all AWS Services and Regions (except China and GovCloud)

DynamoDB pricing examples

Additional pricing resources

AWS Pricing Calculator

Easily calculate your monthly costs with AWS

Get pricing assistance

Contact AWS specialists to get a personalized quote

Webpage image
Learn how to get started

Review tutorials and videos, and sign up for training.

Learn more 
Account-signup image
Sign up for a free account

Instantly get access to the AWS Free Tier. 

Sign up 
Toolbox image
Start building on the console

Get started building with Amazon DynamoDB on the AWS Management Console.

Sign in