AWS S3 Pricing Explained: How to Calculate Storage, Egress, and API Request Costs
Quick Answer (BLUF): AWS S3 pricing is composed of four distinct billing vectors: At-Rest Storage ($0.023/GB/month in
us-east-1for Standard), Data Transfer Out / Egress ($0.09/GB after the first 100 GB/month), API Request Charges ($0.005 per 1,000 Tier-1 PUT/LIST requests and $0.0004 per 1,000 Tier-2 GET requests), and Data Management/Retrieval Fees. For high-bandwidth or high-request workloads, egress and API fees routinely exceed storage charges by 2× to 4×.🇮🇳 Based in India? Avoid volatile USD forex markups and get 18% GST input credit with Indian Rupee (₹) billing on QuixiCloud India M-S3 Pricing.
Why AWS S3 Invoices Are So Hard to Predict
Amazon Simple Storage Service (AWS S3) does not charge a single flat subscription fee. Instead, AWS employs an unbundled, utility-based pricing algorithm with multiple moving variables.
Engineering teams migrating workloads to S3 often budget exclusively for at-rest storage (e.g. “10 TB of storage will cost $230 per month”), only to receive a production invoice exceeding $700 to $1,000 per month.
To forecast and control your cloud storage expenditures, you must understand the four core components of the AWS S3 billing formula.
The 4 Core Components of AWS S3 Pricing
graph TD
A["AWS S3 Total Monthly Bill"] --> B["1. At-Rest Storage Fee<br/>($0.023/GB/mo)"]
A --> C["2. Internet Egress Bandwidth<br/>($0.09/GB after 100GB)"]
A --> D["3. API Operation Requests<br/>(PUT/LIST: $0.005/1K, GET: $0.0004/1K)"]
A --> E["4. Lifecycle & Retrieval Fees<br/>(Glacier restores, transition requests)"]
1. At-Rest Storage Pricing (Per GB/Month)
At-rest storage is the price you pay simply to retain bytes on AWS disk drives. It varies depending on the AWS region and the storage class chosen:
| S3 Storage Class | us-east-1 (N. Virginia) | ap-south-1 (Mumbai) | eu-central-1 (Frankfurt) | Minimum Retention | Retrieval Fee / GB |
| :--- | :--- | :--- | :--- | :--- | :--- |
| S3 Standard (Hot Data) | $0.023 / GB ($23/TB) | $0.025 / GB ($25/TB) | $0.0245 / GB | None | $0.00 |
| S3 Intelligent-Tiering | $0.023 / GB (Frequent) | $0.025 / GB (Frequent) | $0.0245 / GB | 30 days | $0.00 ($0.0025/1K monitoring) |
| S3 Standard-IA (Infrequent) | $0.0125 / GB ($12.50/TB) | $0.0135 / GB | $0.0135 / GB | 30 days | $0.01 / GB |
| S3 One Zone-IA | $0.0100 / GB ($10/TB) | $0.0108 / GB | $0.0108 / GB | 30 days | $0.01 / GB |
| S3 Glacier Flexible Retrieval | $0.0036 / GB ($3.60/TB) | $0.0040 / GB | $0.0040 / GB | 90 days | $0.03 / GB (Expedited) |
| S3 Glacier Deep Archive | $0.00099 / GB ($0.99/TB) | $0.0011 / GB | $0.0011 / GB | 180 days | $0.005 / GB |
Volume Tiers for S3 Standard:
- First 50 TB / month: $0.023 / GB
- Next 450 TB / month: $0.022 / GB
- Over 500 TB / month: $0.021 / GB
2. Data Transfer Out (Egress Fees)
Egress is the bandwidth consumed whenever files, video streams, or backups are downloaded from your S3 bucket to the public internet or external cloud networks (e.g. Cloudflare, RunPod, Hetzner, or on-premise servers).
- Inbound Data Transfer (Ingress): Free ($0.00). AWS never charges to upload data into S3.
- Intra-Region Transfer: Free when transferring to Amazon EC2 within the exact same Availability Zone. Transferring between different Availability Zones or across VPC peering connections costs $0.01 to $0.02 / GB.
- Public Internet Egress:
- First 100 GB / month: Free across all AWS accounts.
- Next 9.9 TB / month: $0.09 per GB ($90.00 per TB) in US/Europe, and $0.1093 per GB ($109.30 per TB) in India (
ap-south-1). - Next 40 TB / month: $0.085 per GB ($85.00 per TB).
- Next 100 TB / month: $0.070 per GB ($70.00 per TB).
The Egress Penalty: If your application streams 10 TB of video or app updates to customers monthly, your bandwidth fee on AWS S3 is $891.00, dwarfing the storage cost of the files themselves.
3. API Request Charges (Micro-Transactions)
Every API call made by your application, backup agent, or SDK is metered and billed in batches of 1,000 requests:
| Request Category | Operations Included | Cost (us-east-1) | Cost (ap-south-1) |
| :--- | :--- | :--- | :--- |
| Tier 1 (Write & List) | PUT, COPY, POST, LIST | $0.005 per 1,000 requests ($5.00 / million) | $0.0055 per 1,000 requests ($5.50 / million) |
| Tier 2 (Read) | GET, SELECT, HEAD | $0.0004 per 1,000 requests ($0.40 / million) | $0.00044 per 1,000 requests ($0.44 / million) |
| Delete Operations | DELETE | Free ($0.00) | Free ($0.00) |
Where API Fees Spiral Out of Control:
- Directory Listing Sweeps: Running backup synchronization tools (like
aws s3 syncorrclone) without--fast-listexecutes multiple recursiveLISTcalls per subdirectory. - Microservices & Health Checks: Polling object metadata via continuous
HEADrequests. - Small-File Architectures: Storing millions of 2 KB telemetry or JSON files multiplies Tier 1
PUTcharges rapidly.
4. Hidden S3 Lifecycle & Data Management Fees
AWS offers features to automate data tiering, but each automation carries specific costs:
- Lifecycle Transition Requests: Automatically moving an object from S3 Standard to S3 Standard-IA or Glacier costs $0.01 per 1,000 transition requests ($10.00 per million objects moved).
- Minimum Storage Duration Penalties: If an object moved to S3 Standard-IA is deleted before 30 days, or Glacier before 90 days, AWS bills you for the full 30 or 90 days of storage regardless.
- S3 Inventory & Analytics: Generating a daily CSV list of bucket objects costs $0.0025 per million objects listed.
- Data Retrieval Charges: Restoring 1 TB from S3 Standard-IA costs $10.00 in retrieval fees, while Glacier Expedited retrievals cost $30.00 / TB.
Real-World Workload Cost Simulations
Let's calculate three realistic enterprise production workloads using exact AWS formulas:
Workload A: High-Bandwidth Media Distribution (1 TB Storage, 10 TB Egress)
- Storage: 1,000 GB × $0.023 = $23.00
- Outbound Egress: (10,000 GB - 100 GB Free) × $0.09 = 9,900 GB × $0.09 = $891.00
- API Calls: 500,000 GETs ($0.20) + 10,000 PUTs ($0.05) = $0.25
- Total AWS Invoice: $914.25 / month ($10,971.00 / year).
- Notice: Storage represents only 2.5% of the bill; egress represents 97.4%!
Workload B: Distributed Engineering Backups (10 TB Storage, 5 TB Egress)
- Storage: 10,000 GB × $0.023 = $230.00
- Outbound Egress: (5,000 GB - 100 GB Free) × $0.09 = 4,900 GB × $0.09 = $441.00
- API Calls: 2,000,000 PUT/LIST ($10.00) + 10,000,000 GET ($4.00) = $14.00
- Total AWS Invoice: $685.00 / month ($8,220.00 / year).
Workload C: IoT & Telemetry Ingest (1 TB Storage, 50M API Requests)
- Storage: 1,000 GB × $0.023 = $23.00
- Outbound Egress: Minimal (100 GB = $0.00)
- API Calls: 50,000,000 PUT requests × ($0.005 / 1,000) = $250.00
- Total AWS Invoice: $273.00 / month ($3,276.00 / year).
- Notice: The API request charges are 10× higher than the storage cost!
How to Calculate Your AWS S3 Bill: The Exact Formula
You can model your monthly S3 spend in an Excel sheet or code pipeline using this formula:
Total Monthly Cost = (S × R_storage) + (max(0, E - 100) × R_egress) + ((T_1 / 1000) × R_T1) + ((T_2 / 1000) × R_T2) + M_retrieval
Where:
- S = At-rest storage in GB
- R_storage = Regional storage rate ($0.023 in
us-east-1) - E = Public outbound egress in GB (with 100 GB free tier deducted)
- R_egress = Egress rate ($0.09 / GB)
- T_1 = Tier 1 operations (
PUT,COPY,LIST) - R_T1 = Tier 1 rate ($0.005 per 1,000)
- T_2 = Tier 2 operations (
GET,HEAD) - R_T2 = Tier 2 rate ($0.0004 per 1,000)
- M_retrieval = Data retrieval and lifecycle transition fees
How to Slash AWS S3 Costs by 90% with QuixiCloud M-S3
To eliminate the unpredictable financial exposure of AWS S3, engineering teams are transitioning active datasets to QuixiCloud M-S3:
| Cost Vector | AWS S3 Standard | QuixiCloud M-S3 Team Plan | Your Savings | | :--- | :--- | :--- | :--- | | At-Rest Storage (10 TB) | $230.00 / mo | $59.90 / mo ($5.99 / TB) | 74% Lower | | Outbound Egress (5 TB) | $441.00 / mo | $0.00 (15 TB Bundled Free) | 100% Free | | API Requests (12M ops) | $14.00 / mo | $0.00 (100M Operations Included) | 100% Free | | Egress Overage Rate | $0.09 / GB | $0.004 / GB ($4.00 / TB) | 95.5% Lower | | Total Monthly Spend | $685.00 / mo | $59.90 / mo | 91.2% Net Savings |
Why QuixiCloud Eliminates Invoice Shock:
- Generous Bundled Egress: Team plans include 1.5× your storage capacity in free monthly egress (e.g. 15 TB free egress on a 10 TB allocation).
- Zero API Request Invoicing: You never receive a bill for recursive file scans, GET requests, or background uploads.
- 100% S3 API Parity: Works seamlessly with AWS CLI, Boto3, Terraform, and Node.js SDKs by updating the
endpoint_urltohttps://s3.quixicloud.com. - Multi-Cloud BYOS Federation: Keep compute in AWS EC2 while reading high-throughput data from QuixiCloud M-S3 across global transit POPs.
Frequently Asked Questions
Does AWS charge for uploading files to S3?
No. Inbound data transfer (data transfer in) to Amazon S3 is 100% free. You are only charged for the at-rest storage space the files occupy once stored, and for the PUT API request used to upload them.
What is the cheapest AWS S3 storage class?
S3 Glacier Deep Archive is the cheapest at-rest class at $0.00099 per GB/month ($0.99 per TB). However, it requires a 180-day minimum retention period, takes 12 to 48 hours to retrieve data, and incurs retrieval fees of $0.005/GB.
Why did my AWS S3 bill increase when I didn't add more data?
An unexpected spike in an S3 bill is usually caused by either:
- Increased outbound downloads (egress): External clients or CDN origins downloading more data.
- Runaway API requests: Backup scripts, crawlers, or microservices executing millions of
LISTorHEADoperations. - Cross-AZ data transfer: EC2 instances in one Availability Zone reading data from an S3 bucket in a different zone.
Can I migrate from AWS S3 to QuixiCloud without changing my application code?
Yes. QuixiCloud M-S3 implements the standard Amazon S3 REST API specifications. You only need to update your environment variables or client configuration with the QuixiCloud endpoint (https://s3.quixicloud.com) and your access credentials. Standard SDK commands (putObject, getObject, listObjectsV2) execute identically.
Take Control of Your Object Storage Costs
Stop paying hyperscaler egress penalties and unpredictable API transaction charges. Calculate your savings or deploy production-ready S3 storage today:
Written by QuixiCloud Infrastructure Engineering
The QuixiCloud Engineering Team is dedicated to building secure, scalable, and privacy-first cloud storage solutions.
