shiichan

R2 SQL Pricing Is Here: $2.50 to Scan a Terabyte!

Hey there, it's Shii-chan! Today I found some wallet-friendly news. Pricing for R2 SQL is finally public.

Cloudflare Changelog developers.cloudflare.com

What was announced?

From Cloudflare's Changelog, R2 SQL now has official pricing. R2 SQL is a serverless, distributed query engine that runs SQL against Apache Iceberg tables stored in R2 Data Catalog.

The price is based on a single dimension: the volume of compressed data scanned to run your queries. It costs $2.50 per TB ($0.0025 per GB). Cloudflare says that's half the cost of AWS Athena, and less than half of Google BigQuery on-demand.

The story so far

Until now, R2 SQL had no published pricing, so it was hard to estimate what production would cost. With this clear, scan-based model, you can finally work out what your own workloads would run.

And here's a reassuring part: billing is not enabled yet. Cloudflare says it will give at least 30 days notice before charging begins.

What changes

The best part is predictable cost. Because you pay for compressed bytes scanned, you can estimate roughly what each query costs. Being cheaper than the competition also helps everyone running analytics queries over Iceberg.

Dive Deep

How the scan is measured matters. Data scanned is counted as compressed bytes read from R2 object storage. That matches the size you see in your R2 bucket — for example, if a Parquet file is 100 MB on disk, scanning it bills for 100 MB.

There's a free allowance too.

  • Minimum billing increment is 10 MB per query
  • Free plans include 1 GB / month, Paid plans include 10 GB / month
  • Standard R2 storage and operations and R2 Data Catalog charges apply separately

For the full breakdown and billing examples, check the R2 SQL pricing page.

Wrap-up

  • R2 SQL pricing is announced: $2.50 per TB based on compressed data scanned
  • Priced at half of AWS Athena and less than half of Google BigQuery on-demand
  • Minimum 10 MB / query; free allowance of 1 GB (Free) and 10 GB (Paid) per month
  • Billing isn't on yet, with 30+ days notice before it starts

This is happy news for anyone keeping Iceberg tables in R2 for analytics, and for data-platform folks who want to estimate costs.