Backup Storage Prices

Checked

Meter

What API requests cost when your backup tool talks to object storage

Request pricing follows operations rather than bytes. Writes, lists, multipart parts, reads, metadata checks, and maintenance calls can put two equally sized backups on very different Class A and Class B totals.

Put your own numbers through the calculator to see what this meter does to a normal month and to the day you restore.

Class A changes or enumerates state; Class B reads it

Class A and Class B are billing groups, not universal API standards. On Cloudflare R2, Class A contains writes and higher-overhead calls such as PutObject, ListObjects, CopyObject, multipart creation and parts, and lifecycle transitions. Class B contains reads and metadata calls such as GetObject, HeadObject, and bucket-location lookups. [1]

Provider mappings differ. Amazon S3 prices request types by storage class, Google Cloud publishes Class A and B schedules, Azure groups write, read, list, and other transactions, and Oracle publishes one request meter rather than a directly comparable A/B split. The operation map must be checked before multiplying a request count by a rate. [2] [3] [4] [5]

Class A changes or enumerates state; Class B reads it
Operation patternR2 billing classBackup implicationSource ref
PutObject, CopyObject, ListObjectsClass ABackups pay for new objects and listings even when the bytes are deduplicated [1][1]
CreateMultipartUpload, UploadPart, CompleteMultipartUploadClass AOne large logical file can create several billable operations [1][1]
GetObject and HeadObjectClass BRestores, integrity checks, and metadata probes can scale with object count [1][1]
DeleteObject and AbortMultipartUploadFree operation on R2The request is free, but deleting an Infrequent Access object early can still leave a minimum-duration storage charge [1][1]

Cloudflare subtracts two different monthly allowances

Cloudflare R2 Standard includes 1 million Class A operations and 10 million Class B operations each month. Standard then charges $4.50 per million Class A and $0.36 per million Class B. R2 rounds usage to the next billing unit. [1]

Infrequent Access does not receive the Standard free tier. Its published rates are $9.00 per million Class A and $0.90 per million Class B, plus $0.01 per GB retrieved and a 30-day minimum duration. Free egress does not make those other meters disappear. [1]

Cloudflare subtracts two different monthly allowances
R2 storage classClass AClass BOther restore metersSource ref
Standard$4.50 per million after 1 million free monthly$0.36 per million after 10 million free monthlyRetrieval: not charged; egress: not charged[1]
Infrequent Access$9.00 per million; Standard free allowance does not apply$0.90 per million; Standard free allowance does not apply$0.01/GB retrieval; egress: not charged; 30-day minimum[1]

Backup layout determines the operation profile

Backup software does not send one request per terabyte. It creates objects, packs, indexes, metadata, multipart parts, listings, and verification reads according to its repository design and settings. Capacity alone therefore cannot predict the request bill. [6] [7] [8] [10]

Smaller objects and parts generally raise request counts, while larger packs can reduce PUT and GET counts but increase the amount read or rewritten for maintenance and small restores. Deduplication, retention pruning, immutability, concurrency, and integrity checks change the mix again. The safe input is a measured operation log from the intended tool and workload, not a generic requests-per-TB constant. [7] [9] [10]

Backup layout determines the operation profile
ToolPublished storage behaviorLikely request-shape consequenceSource ref
resticRepository pack files contain one or more encrypted data or tree blobs; indexes and snapshots are separate repository files [6]Packing can make object count much lower than source-file count, while backup, check, restore, and prune still read indexes and touch pack files[6]
rcloneFiles map to objects; large files can use multipart uploads, and the S3 backend performs a HEAD after upload by default [7]Many small files create many PUT and metadata operations; large multipart files add create, part, complete, and verification calls[7]
KopiaContent is split into blocks and smaller blocks are combined into roughly 20 to 40 MB packs, with separate metadata and index blobs [8]Pack writes reduce the number of payload objects, while indexes, metadata, compaction, and maintenance create their own read, write, list, and delete profile[8] [9]
VeeamVeeam documents that smaller blocks create extra object-storage I/O, while larger blocks can make incremental backups larger [10]Block-size and job-design choices trade request pressure against incremental size; product, job type, immutability, and maintenance prevent one universal request ratio[10] [11]

A request-heavy R2 month can cost more than expected

Suppose an R2 Standard repository records 3 million Class A operations and 12 million Class B operations in one month. The 1 million Class A and 10 million Class B allowances are applied independently. [1]

The arithmetic produces $9.72 in operation charges before storage. Egress remains not charged, but that does not offset the paid requests. The same counts on R2 Infrequent Access would use different rates and receive no Standard free allowances. [1]

A request-heavy R2 month can cost more than expected
LineArithmeticChargeSource ref
Class A billable operations3 million - 1 million free = 2 million2 x $4.50 = $9.00[1]
Class B billable operations12 million - 10 million free = 2 million2 x $0.36 = $0.72[1]
Operation total$9.00 + $0.72$9.72[1]
Internet egressnot charged on R2$0.00[1]

Published request rules span rates, allowances, and states

The comparison keeps all 18 vendors visible. A number is shown only when the official source publishes a rule for the representative offer; otherwise the cell uses not published or not comparable. Rates tied to a class or region stay labeled. [2] [1]

Class names are not perfectly portable. Backblaze adds Class C and D, Azure uses transaction groups, and Oracle's single request rate is not comparable to a distinct A/B schedule. A backup estimate must map actual calls to the selected vendor's categories. [13] [4] [5]

Published request rules span rates, allowances, and states18 rows
Published request rules span rates, allowances, and states
ProviderPublished operation ruleSource ref
Amazon S3S3 Standard us-east-1: Class A-style PUT/COPY/POST/LIST $0.005 per 1,000; Class B-style GET/SELECT/other $0.0004 per 1,000; monthly free allowance 0. Rates rise for several cold classes [2][2]
Azure Blob StorageHot LRS East US representative rates: writes $0.005 per 1,000 and reads $0.0004 per 1,000; monthly free allowance 0. Rates vary by tier, region, redundancy, and operation group [12][12]
Google Cloud StorageStandard us-east1: Class A $0.005 per 1,000 after 5,000 free monthly; Class B $0.0004 per 1,000 after 50,000 free monthly. Cold-class rates are higher [3][3]
Cloudflare R2Standard: Class A $4.50 per million after 1 million free monthly; Class B $0.36 per million after 10 million free monthly. Infrequent Access: $9.00 and $0.90 per million with no Standard free tier [1][1]
Backblaze B2Class A and Class B: not charged. Backblaze also publishes Class C as free and a separate paid Class D schedule, so its taxonomy extends beyond A/B [13][13]
Wasabiconditional: API requests are metered at $0, but Wasabi's free API request policy permits limiting or suspending inefficient, unreasonable non-validated application use; no per-request overage rate is published [14][14]
IDrive e2not charged; IDrive states it imposes no additional API-call charge [15][15]
DigitalOcean SpacesClass A rate: not published. Class B rate: not published [16][16]
Scaleway Object Storagenot charged for the operation classes in the captured offer [17][17]
OVHcloud Object Storagenot charged for the operation classes in the captured offer [18][18]
Hetzner Object Storagenot charged for S3 operations such as PUT, GET, and DELETE; egress remains separate [19][19]
Akamai Cloud Object Storagenot charged as of the capture. Published future schedule, no earlier than 2026-10-01: Class A $0.005 per 1,000 after 1 million free monthly; Class B $0.0004 per 1,000 after 12.5 million free monthly [20][20]
Vultr Object StorageClass A rate: not published. Class B rate: not published [21][21]
Storjnot charged for the captured Class A and Class B meters [22][22]
Oracle OCI Object Storagenot comparable to distinct A/B classes: one Object Storage request rate of $0.00034 per 1,000 after 50,000 free monthly [5][5]
TigrisClass A $0.005 per 1,000 after 10,000 free monthly; Class B $0.0005 per 1,000 after 100,000 free monthly [23][23]
FilebaseClass A $4.50 per million after 1 million free monthly; Class B $0.36 per million after 10 million free monthly [24][24]
Telnyx Cloud StorageUS: Class A $0.50 per million after 1 million free monthly; Class B $0.04 per million after 10 million free monthly. EU: state-change $5.00 per million and reads $0.40 per million with no published free allowance [25][25]

Sources

Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a machine-readable feed and the rest are re-checked by hand, which is why the dates are not uniform.

The source ledger25 sources
  1. 1Cloudflare developer docs: R2 pricingdevelopers.cloudflare.com · checked 2026-07-26
  2. 2Amazon Web Services: S3 pricingaws.amazon.com · checked 2026-07-26
  3. 3Google Cloud: Storage pricingcloud.google.com · checked 2026-07-26
  4. 4Microsoft Azure: Blobsazure.microsoft.com · checked 2026-07-26
  5. 5Oraclewww.oracle.com · checked 2026-07-25
  6. 6restic documentation: Designrestic.readthedocs.io · checked 2026-07-26
  7. 7rclone: S3rclone.org · checked 2026-07-26
  8. 8Kopia: Architecturekopia.io · checked 2026-07-26
  9. 9Kopia: Storage tierskopia.io · checked 2026-07-26
  10. 10Veeam help centre: General limitationshelpcenter.veeam.com · checked 2026-07-26
  11. 11Veeam help centre: Object storage repositoryhelpcenter.veeam.com · checked 2026-07-26
  12. 12Azure Retail Prices API: Retail pricesprices.azure.com · checked 2026-07-25
  13. 13Backblaze: Transaction pricingwww.backblaze.com · checked 2026-07-26
  14. 14Wasabi: Faqwasabi.com · checked 2026-07-26
  15. 15IDrive: S3 storage e2 pricingwww.idrive.com · checked 2026-07-26
  16. 16DigitalOcean: Spaces object storagewww.digitalocean.com · checked 2026-07-26
  17. 17Scaleway: Storagewww.scaleway.com · checked 2026-07-25
  18. 18OVHcloud: Public cloud priceswww.ovhcloud.com · checked 2026-07-25
  19. 19Hetzner documentation: Object storage overviewdocs.hetzner.com · checked 2026-07-26
  20. 20Akamai techdocs: Object storage pricingtechdocs.akamai.com · checked 2026-07-26
  21. 21Vultr documentation: How is object storage billeddocs.vultr.com · checked 2026-07-26
  22. 22Storj: Pricingwww.storj.io · checked 2026-07-26
  23. 23Tigris: Pricingwww.tigrisdata.com · checked 2026-07-26
  24. 24Filebase: Account pricingfilebase.com · checked 2026-07-26
  25. 25Telnyx developer docs: Billingdevelopers.telnyx.com · checked 2026-07-26