What S3 Glacier retrieval really costs (2026)

Akal Cloud Updated 11 min read

Quick answer

Three charges, not one. In US East (N. Virginia) an S3 Glacier retrieval bills a per-GB fee ($0.03 Instant Retrieval, $0.01 Flexible Retrieval Standard, $0.02 Deep Archive Standard, $0.0025 Deep Archive Bulk), a restore request fee of up to $10.00 per 1,000, and a temporary copy charged at the S3 Standard rate for the days you keep it. Restoring 10 TB from Deep Archive costs about $268, or 2.2 times a year of storing it.

Getting data back out of S3 Glacier is three charges, not one. There is a per-GB retrieval charge, a per-request restore charge, and the temporary copy that the restore creates, billed as S3 Standard storage for as long as you hold it. On US East (N. Virginia) rates, pulling 10 TB back from S3 Glacier Flexible Retrieval with Expedited retrieval costs about $1,181, which is 2.67 times what those same 10 TB cost to store there for a year.

How much does it cost to retrieve data from S3 Glacier?

The Amazon S3 pricing page puts all three charges in one sentence: "When you restore an archive, you are paying for both the archive (charged at the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive rate) and a copy, accessible with GET using the same object key, that you restored temporarily (charged at the S3 Standard storage rate for a duration of time you choose)."

The user guide says it from the other direction. To read an archived object you must restore it first: "you must restore a temporary copy of the object to its S3 bucket for a specified duration (number of days)". And working with archived objects adds: "you pay for both the archived object and the copy that you restored temporarily."

So a restore is never only the per-GB number people quote. It is bytes, plus requests, plus a second copy of everything you asked for, sitting at S3 Standard rates until it expires.

What are the S3 Glacier retrieval rates for Expedited, Standard and Bulk?

Rates below are US East (N. Virginia), taken from the AWS Price List offer file for Amazon S3 stamped 2026-09-11, which is the same data the pricing page renders. Restore times are the ones published in the archive retrieval options table, for restores that do not use S3 Batch Operations.

Storage class and tierTypical restore timeRetrieval, per GBRestore requests, per 1,000Storage, per GB-month
Glacier Instant Retrieval (no restore step)milliseconds$0.03$0.01 per 1,000 GET$0.004
Glacier Flexible Retrieval, Expedited1 to 5 minutes$0.03$10.00$0.0036
Glacier Flexible Retrieval, Standard3 to 5 hours$0.01$0.05$0.0036
Glacier Flexible Retrieval, Bulk5 to 12 hours$0.00$0.00$0.0036
Glacier Deep Archive, Standardwithin 12 hours$0.02$0.10$0.00099
Glacier Deep Archive, Bulkwithin 48 hours$0.0025$0.025$0.00099

Expedited is not offered for Deep Archive at all: the retrieval options table lists it as "Not available" for that class. Bulk is genuinely free on Flexible Retrieval, which AWS states twice. The user guide says "Bulk retrievals are free for objects that are stored in the S3 Glacier Flexible Retrieval or S3 Intelligent-Tiering storage classes", and the S3 FAQ says "Bulk Retrievals from S3 Glacier Flexible Retrieval are free." Deep Archive Bulk is cheap but not free.

Set retrieval against storage and the ratio nobody publishes appears. Deep Archive Standard retrieval is $0.02 per GB against $0.00099 per GB-month of storage, so retrieving an object once costs 20.2 months of storing it. Expedited from Flexible Retrieval costs 8.33 months of storage per GB, before the $10.00 per 1,000 restore requests.

Does S3 Glacier Instant Retrieval charge for a restore request?

No, because there is no restore step to charge for. The archived objects page is explicit: "Objects stored in the S3 Glacier Instant Retrieval storage class are not archived. S3 Glacier Instant Retrieval provides real-time access with millisecond retrieval latency and does not require a restore operation."

That removes two of the three charges. A read is an ordinary GET at $0.01 per 1,000 requests plus $0.03 per GB, and no temporary copy is created, so it is the only Glacier class where the headline per-GB number is close to the whole bill. It is also the most expensive of the three to store, at $0.004 per GB-month, and it carries a 128 KB minimum billable object size, covered in when a cheap S3 storage class costs more.

What does it cost to restore 10 TB from S3 Glacier Deep Archive?

The figures below are hypothetical and computed from the rates above, not measured from a bill. Assume 10 TB, counted as 10,240 GB, held as 81,920 objects of 128 MB each, restored once, with the temporary copy kept for seven days. The copy is charged at the S3 Standard first-50-TB rate of $0.023 per GB-month, prorated as seven thirtieths of a month. The requests column covers restore requests plus one GET per object; columns are rounded to the cent and totals computed unrounded.

Restore of 10 TB (hypothetical)BytesRequests7-day copyTotalvs one year of storage
Glacier Instant Retrieval, GET$307.20$0.82none$308.020.63x of $491.52
Flexible Retrieval, Expedited$307.20$819.23$54.95$1,181.392.67x of $442.37
Flexible Retrieval, Standard$102.40$4.13$54.95$161.480.37x of $442.37
Flexible Retrieval, Bulk$0.00$0.03$54.95$54.990.12x of $442.37
Deep Archive, Standard$204.80$8.22$54.95$267.982.20x of $121.65
Deep Archive, Bulk$25.60$2.08$54.95$82.640.68x of $121.65

Two rows deserve a second look. A full Expedited restore from Flexible Retrieval costs 2.67 times a year of storing the data, and its restore requests alone cost more than the bytes. A full Standard restore from Deep Archive costs 2.20 times a year of Deep Archive storage. Deep Archive is the cheapest place in AWS to put data and one of the most expensive to empty in a hurry.

The free-retrieval row is the other one. Flexible Retrieval Bulk charges nothing for the bytes and nothing for the restore requests, and the job still costs $54.99, all of it the temporary copy. Free bulk retrieval is free of retrieval charges, not free.

Does the restored copy cost more than the S3 Glacier retrieval itself?

It does, sooner than most people expect. At $0.023 per GB-month, 10,240 GB of restored copy costs $7.85 a day. Compare that with each tier's retrieval and request charges and you get a break-even in days:

Tier, 10 TB restored (hypothetical)Retrieval plus requestsDays before the copy costs more
Deep Archive, Bulk$27.653.5 days
Flexible Retrieval, Standard$106.5013.6 days
Deep Archive, Standard$212.9927.1 days
Flexible Retrieval, Expedited$1,126.40143.5 days
Flexible Retrieval, Bulk$0.00immediately

The restore duration is therefore a price, not a convenience setting. And the duration you ask for is not the duration you get. AWS rounds the expiry up: "Amazon S3 then rounds the resulting time to the next day at midnight Universal Coordinated Time (UTC)." Its own example has a copy created "on October 15, 2012, at 10:30 AM UTC, and the restoration period was specified as 3 days. In this case, the restored copy expires on October 19, 2012, at 00:00 UTC". That is 3.5625 days of storage for a 3-day request, 18.75% more than asked for. On this 10 TB example the rounding alone is $4.42.

Extending is cheap, so ask small and top up. The RestoreObject API reference says a reissued request means "Amazon S3 updates the restoration period relative to the current time and charges only for the request". Letting the copy lapse is the expensive mistake: restoring with S3 Batch Operations warns that "After this temporary copy is deleted, you must submit an additional restore request to access the object", at the full per-GB rate again.

One thing to know before you go looking for that copy: two AWS pages disagree about where it lives. The S3 FAQ says "The Restore creates a temporary copy of your data in the S3 Standard storage class while leaving the archived data intact in S3 Glacier Deep Archive." The user guide says the opposite: "When a temporary copy of the restored object is created, the object's storage class remains the same", and a HeadObject call still reports the Glacier class. You are billed S3 Standard rates for storage the API will not show you as S3 Standard.

When does an S3 Glacier restore request cost more than the data it returns?

Whenever the objects are small. The FAQ states the structure plainly: "Expedited and Standard have a per-GB retrieval fee and per-request fee". Divide one by the other and each tier has an object size below which the request is the larger charge.

TierPer requestPer GBRequest equals bytes at
Flexible Retrieval, Expedited$0.01$0.03341.3 MB
Deep Archive, Bulk$0.000025$0.002510.2 MB
Deep Archive, Standard$0.0001$0.025.1 MB
Flexible Retrieval, Standard$0.00005$0.015.1 MB

Expedited is the outlier by two orders of magnitude. Restore a 10 MB object with Expedited and you pay $0.0003 for the bytes and $0.01 for the request, so the request is 34 times the data charge. The user guide flags the pricing without quantifying it: "Expedited retrievals are a premium feature and are charged at the Expedited request and retrieval rate." Expedited is priced for a handful of large objects, and AWS says as much when it scopes the tier to "occasional urgent requests for up to hundreds of objects".

What does S3 Glacier provisioned capacity cost for Expedited retrievals?

$100 per provisioned capacity unit, and there is a hard ceiling of two. The Purchase Provisioned Capacity API reference, which is the API the S3 console calls, states: "There is a limit of two provisioned capacity units per AWS account." A unit is not a subscription: "A provisioned capacity unit lasts for one month starting at the date and time of purchase, which is the start date."

What it buys is admission, not speed: "Without provisioned capacity, Expedited retrievals might not be accepted during periods of high demand." One unit covers at least three Expedited retrievals every five minutes, or 25,920 across a 30-day month, which on demand at $0.01 each would be $259.20. A unit breaks even at 10,000 Expedited requests in the month. No AWS page we could find says whether a provisioned retrieval still incurs the $0.01 request charge on top of the $100, so treat the $100 as a floor rather than a cap.

And here AWS contradicts itself about what a unit delivers. The pricing page footnote says "Each provisioned capacity unit can provide at least three expedited retrievals every five minutes and up to 150 MB/s of retrieval throughput", and the S3 FAQ repeats the same 150 MB/s. The S3 user guide says: "Each unit of capacity provides that at least three Expedited retrievals can be performed every 5 minutes, and it provides up to 300 megabytes per second of retrieval throughput." Two pages sell the same $100 unit with a factor of two between them. Size a restore window on 150 MB/s and treat 300 as upside.

Which usage types show S3 Glacier retrieval charges on an AWS bill?

Retrieval does not appear as one line. The S3 usage report reference splits it across several usage types, and one of them is badly overloaded. Requests-Tier3 is documented as "The number of lifecycle requests to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive and standard S3 Glacier Flexible Retrieval restore requests". Archiving and un-archiving share a usage type. In the AWS Price List offer file for S3 those same three meanings carry three different rates, separated only by the operation field: RestoreObject at $0.050 per 1,000, S3-GlacierTransition at $0.03 per 1,000 and S3-GDATransition at $0.05 per 1,000. Group your CUR by usage type alone and a restore is indistinguishable from a lifecycle transition.

The unambiguous ones are worth knowing: Requests-Tier6 is "The number of Expedited S3 Glacier Flexible Retrieval restore requests", Requests-GDA-Tier3 is "The number of S3 Glacier Deep Archive standard restore requests", and the bytes land in Expedited-Retrieval-Bytes, Standard-Retrieval-Bytes, Bulk-Retrieval-Bytes and Retrieval-GIR. That same reference lists no usage type for the restored temporary copy, so it is absorbed into ordinary S3 Standard storage and cannot be attributed to the restore that caused it.

Deep Archive adds a reporting wrinkle. Per the FAQ, "S3 Glacier Deep Archive usage and cost will show up as an independent service line item on your monthly AWS bill, separate from your Amazon S3 usage and costs", while the cost management tools fold it back under Amazon S3. Two views, two answers, the general problem in Cost Explorer versus the CUR.

How do you keep an S3 Glacier restore from costing more than it needs to?

Four levers, in order of how much they move. Pick the slowest tier the deadline allows: Deep Archive Bulk is one eighth the per-GB rate of Deep Archive Standard, and AWS describes it as retrieval that "Typically restores the object within 48 hours at a fraction of the cost of the Standard retrieval tier". Ask for the shortest restore duration you can work with, then extend it. Restore fewer, larger objects, because Expedited's per-request charge dominates anything under 341 MB. And use S3 Batch Operations for large jobs, remembering that its Restore operation offers the Standard and Bulk tiers only, so an Expedited restore of a million objects is not a thing you can schedule.

The same page also recommends Deep Archive for data "you can wait up to 72 hours to retrieve", which is not the 48 hours its own Bulk tier entry promises further down. If a quarterly audit is the real access pattern, Glacier Instant Retrieval at $0.004 per GB-month with no restore step can beat Deep Archive plus four restores a year.

Three neighbouring costs sit just outside this one. Early deletion before the 90-day or 180-day minimum is in when a cheap S3 storage class costs more. Replication pays retrieval charges on the source side, in what S3 replication costs. Multipart uploads into Glacier are billed as staging storage at S3 Standard rates until the upload completes, the same trap as incomplete multipart uploads. And if the archive is really a backup, the restore economics differ again in what AWS Backup costs.

Share LinkedIn X Hacker News Reddit

See this on your own bill

Akal Cloud connects in about two minutes and shows the same numbers against your real AWS accounts.

Get started on AWS Marketplace

Related reading