News

The Hidden Cost of Backup: Egress, API Calls, and Restore-Time Pricing

Most backup price comparisons stop at the cost per gigabyte stored, but the bill that matters arrives the day you restore. We priced a full 5 TB restore across AWS, Azure, Google Cloud, Backblaze, Wasabi and Duplicati's own storage, and the answer ranges from $0 to $815.

Most backup storage comparisons stop at the price per gigabyte stored. That number is real, but it is the smallest line on the bill the day you actually need your backups. A full restore pulls every byte back out of the provider, and on most clouds that outbound traffic, the API calls to fetch it, and sometimes the act of retrieving it from a cold tier are each billed separately.

The result is a cost curve that is nearly flat for years and then spikes on the worst day of your year. A business storing 5 TB might pay a few hundred dollars a month to keep it, and then face a four-figure invoice for getting it back. That invoice lands on top of the outage, the lost productivity, and whatever caused the incident in the first place.

This article walks through the four charges that comparisons usually skip, what each major provider bills for them as of October 2026, what a full restore of 5 TB works out to on each, and how to estimate your own number before you need it. It ends with where Duplicati's own storage fits in.

The four charges the $/GB number hides

A restore is billed on four meters that rarely show up in a storage-price comparison. Which ones apply depends on the provider and the storage tier you chose when you set the backup up, often years before the restore.

1. Egress (data transfer out). Every byte that leaves the provider's network for the internet is metered. On the three hyperscalers this runs roughly $0.08 to $0.12 per GB after a small free allowance, and it applies to every tier, hot or cold. For a full restore it is usually the largest single line.

2. API request fees. Object storage bills per operation: GET to download a file, LIST to enumerate a bucket, PUT to upload. Backup tools store data as many files, not one, so a restore is tens or hundreds of thousands of GETs. On hot tiers this is cents; on archive tiers the per-request rate can be a hundred times higher.

3. Retrieval fees on cold tiers. Infrequent-access and archive tiers trade a lower monthly rate for a per-GB charge every time you read the data back. That charge is separate from egress and is billed even if the data never leaves the provider. Archive tiers add a wait of hours before the data is readable at all, and some charge extra to skip the queue.

4. Minimum storage duration. Cold tiers bill every object for at least 30, 90, 180 or 365 days, whether or not it still exists. Backup software that rewrites or compacts its remote files triggers early-deletion charges on every object it replaces.

The pattern is consistent: the cheaper the tier is to sit in, the more it costs to leave. A backup is data you hope never to read, which makes cold tiers look attractive until the one day you have to read all of it at once.

What each provider charges to get data back

The table lists the meters that matter for a restore, taken from each provider's public price list in October 2026. Prices are for a US or EU region, single-region redundancy, and the first volume tier. Providers bill in binary gigabytes (1 TB = 1,024 GB), so real invoices run about 2% above the decimal figures used here.

Provider / tier

Storage ($/GB/mo)

Egress to internet ($/GB)

Read requests

Retrieval ($/GB)

Min. duration

AWS S3 Standard

0.023

0.09 after 100 GB free; 0.085 above 10 TB

$0.0004 / 1,000 GET

none

none

AWS S3 Standard-IA

0.0125

same

$0.001 / 1,000

0.01

30 days

AWS S3 Glacier Instant

0.004

same

$0.01 / 1,000

0.03

90 days

AWS S3 Glacier Flexible

0.0036

same

$0.05 / 1,000 restore req. (standard); $10 / 1,000 (expedited)

0.01 standard (3-5 h); 0.03 expedited; bulk free (5-12 h)

90 days

AWS S3 Glacier Deep Archive

0.00099

same

$0.10 / 1,000 restore req.

0.02 standard (12 h); 0.0025 bulk (48 h)

180 days

Azure Blob Hot (LRS)

0.018

0.087 after 100 GB free; 0.083 above 10 TB

$0.0004 / 10,000

none

none

Azure Blob Cool

0.010

same

$0.01 / 10,000

0.01

30 days

Azure Blob Cold

0.0045

same

$0.10 / 10,000

0.03

90 days

Azure Blob Archive

0.00099

same

$5.50 / 10,000

0.02 standard (up to 15 h)

180 days

Google Cloud Storage Standard

0.020

0.12 first 1 TB; 0.11 to 10 TB; 0.08 above

$0.0004 / 1,000

none

none

GCS Nearline

0.010

same

$0.001 / 1,000

0.01

30 days

GCS Coldline

0.004

same

$0.005 / 1,000

0.02

90 days

GCS Archive

0.0012

same

$0.05 / 1,000

0.05

365 days

Backblaze B2

0.00695 ($6.95/TB)

free up to 3x average monthly storage, then 0.01

free

none

none

Wasabi (pay-as-you-go)

0.0078 ($7.99/TB, 1 TB minimum)

no published rate; free while monthly egress stays at or below stored volume, otherwise account may be limited

free

none

90 days

Duplicati Integrated Storage

0.006 ($0.60 per 100 GB)

none; acceptable use applies

none

none

none

Three things stand out. The hyperscalers charge egress on every tier, so moving to a cheaper tier never reduces the restore bill; it only adds retrieval fees on top. Archive tiers on Azure and AWS multiply the per-request price by 100 to 10,000, which matters for backup software that writes many small files. And the flat-rate providers remove the meters entirely, with Wasabi's free egress being a policy rather than a price, so a second full restore in the same month has no published cost.

Worked example: restoring 5 TB after an incident

A full restore of 5 TB costs between $0 and about $815 depending only on where the backup sits, and on the hyperscalers the cheapest tier to store in is the most expensive to restore from. The example below assumes 5,000 GB of backup data stored as 100,000 remote volumes of 50 MB (Duplicati's default), restored once to a machine outside the provider's network, with the standard retrieval option where one exists. Minimum-duration and early-deletion charges are left out; they depend on how long the data has been there.

Provider / tier

Storage per month

Egress

Requests

Retrieval

Restore total

Equals months of storage

AWS S3 Standard

$115

$441

$0.04

$0

$441

4

AWS S3 Standard-IA

$63

$441

$0.10

$50

$491

8

AWS S3 Glacier Instant

$20

$441

$1

$150

$592

30

AWS S3 Glacier Flexible (standard, 3-5 h)

$18

$441

$5

$50

$496

28

AWS S3 Glacier Deep Archive (standard, 12 h)

$5

$441

$10

$100

$551

111

Azure Blob Hot

$90

$426

$0.00

$0

$426

5

Azure Blob Cool

$50

$426

$0.10

$50

$476

10

Azure Blob Cold

$23

$426

$1

$150

$577

26

Azure Blob Archive (standard, up to 15 h)

$5

$426

$55

$100

$581

117

GCS Standard

$100

$560

$0.04

$0

$560

6

GCS Nearline

$50

$560

$0.10

$50

$610

12

GCS Coldline

$20

$560

$0.50

$100

$661

33

GCS Archive

$6

$560

$5

$250

$815

136

Backblaze B2

$35

$0

$0

$0

$0

0

Wasabi

$40

$0 (policy)

$0

$0

$0

0

Duplicati Integrated Storage

$30

$0

$0

$0

$0

0

The last column is the one to show a finance team. On S3 Standard one restore costs about four months of storage, which is tolerable. On Deep Archive it costs over nine years of storage, which means the "cheap" tier only pays off if you never restore. For a backup whose entire purpose is to be restored, that is the wrong bet unless the data is a long-term compliance copy you expect to leave untouched.

Two variations change the hyperscaler numbers a lot. Choosing the fastest retrieval option is expensive: an expedited Glacier Flexible restore of the same 100,000 volumes costs $10 per 1,000 requests, so the request line alone becomes $1,000 and the total about $1,590. Choosing the slowest is cheap: a bulk Deep Archive restore brings retrieval and requests down to $15, but you wait up to 48 hours before the first byte is readable, and egress is still $441.

The flat-rate providers reach $0 by different routes. Backblaze's free egress covers up to three times your average monthly storage, so one restore uses a third of the allowance. Wasabi's covers one times stored volume, so a single full restore uses all of it; a second restore in the same month, or restoring the same backup to two sites, falls outside the policy with no published price. Duplicati Integrated Storage has no egress meter to run down.

How to estimate your own restore bill before you need it

Your restore cost is one formula with four inputs, all of which you can read off your current backup and your provider's price page in ten minutes.

where S is the size of the backup on the remote in GB, v is the remote volume size in GB (Duplicati's default is 0.05), and the three prices are the provider's egress, retrieval and per-request rates for the tier you actually use. Subtract the free egress allowance from S if there is one, and use 1,024 GB per TB if you want to match the invoice.

For a Duplicati backup the inputs come from the backup's own screen: the remote size is shown as "backend size" on the backup page, and the volume size is the dblock-size option. Divide one by the other for the file count, or count the dblock files on the remote directly.

A few checks worth doing while you have the price page open:

  • Confirm which tier your objects are actually in. Lifecycle rules may have moved them to a colder tier than the bucket was created with, and the retrieval price follows the object, not the bucket.

  • Note the retrieval wait for that tier. If a restore cannot start for 12 hours, the cost of the outage dwarfs the storage bill.

  • Check whether the restore target is inside the provider's network. Restoring to a VM in the same region is usually free of egress; restoring to your office is not.

  • Price the restore twice: once for the whole backup, once for the largest single system you would need back in a hurry.

  • Run the number past whoever approves spend, now, so the invoice is not a surprise during an incident.

  • Put the result in the disaster-recovery plan next to the recovery-time objective it supports.

If the answer makes you wince, the fix is cheap: restore the largest system from the backup once a year as a drill, and budget the real cost as part of the backup, not as a surprise.

How the backup tool changes the bill

The provider sets the prices, but the backup software decides how many times each meter ticks. Four settings matter, and all of them are visible in Duplicati's options.

Remote volume size. Duplicati packs deduplicated blocks into remote volumes (dblock-size, default 50 MB). The volume size sets the file count, and the file count drives request fees and any per-request restore charge on archive tiers. At 50 MB, 5 TB is 100,000 files; at 500 MB it is 10,000. On a hot tier the difference is cents. On an expedited Glacier restore it is the difference between $100 and $1,000 in request fees alone. Larger volumes cost more bandwidth when a single file is restored, because the whole volume is fetched to extract one block, so the right size depends on whether you expect many small restores or one large one.

Verification downloads. Duplicati downloads and checks a sample of remote volumes after each backup (backup-test-samples). This is steady, low-level egress that shows up every month rather than only during a restore. On a hot tier at $0.09 per GB it is pennies; on an archive tier the sampled files must be rehydrated first and the test fails until they are, which is one reason archive tiers are a poor fit for an active backup.

Listing. Each run lists the remote folder to reconcile its local database with what is actually there. LIST calls are billed at PUT rates on S3 ($0.005 per 1,000, 1,000 keys per call), so 100,000 files is 100 calls and half a cent. It is negligible unless something is listing far more often than it backs up.

Compaction and retention. When old versions expire, Duplicati rewrites partially-used volumes into full ones: download, repack, upload, delete. On a hot tier this costs egress on the downloaded portion. On a tier with a minimum duration it also triggers early-deletion charges on every volume deleted before day 30, 90, 180 or 365. Backups with short retention and high churn on a cold tier can pay more in early-deletion fees than they save in storage. Lengthening the compaction threshold (threshold) or retention reduces churn; moving to a tier without a minimum removes the problem.

Restore shape. A full restore reads every volume. A single-file restore reads the file list, the index files, and only the volumes that hold that file's blocks, so it is cheap on any tier where the data is readable. On an archive tier even a single file waits for rehydration, which is the hidden operational cost no price list shows.

Where Duplicati Integrated Storage fits

Duplicati Integrated Storage has one price: $0.60 per 100 GB per month, billed yearly, with 100 GB included for every Pro or Enterprise machine. There is no egress meter, no per-request meter, no retrieval tier and no minimum duration, so the number on the pricing page is the number on the invoice, in the quiet months and in the month you restore everything.

That is a deliberate choice about transparency rather than a claim to be the cheapest per gigabyte. At $6 per TB it sits in the same range as Backblaze B2 and Wasabi, and above an archive tier that you never read from. The difference is that the price is the whole price. A 5 TB backup costs $30 a month to keep and $30 a month in the month it is restored, to one machine or to ten.

It is also zero-configuration: there is no bucket to create, no access key to store on each client, no lifecycle rule that quietly moves your backup somewhere expensive to read. The storage is active as soon as a machine is connected to the console. Data is encrypted on the client before it is uploaded, so the storage holds only ciphertext and the key stays with you.

It is not the right answer for everything. If you already run workloads inside AWS, Azure or Google Cloud and would restore into the same region, their egress is free and a native tier may be cheaper end-to-end. If you have a compliance copy you expect to keep for seven years and never touch, an archive tier wins on storage. And Duplicati still backs up to all of those destinations, including several at once, so the choice is not exclusive: a common pattern is Integrated Storage as the primary, fast-restore copy and an archive tier as the long-term one.

For the backup you actually expect to restore from, the question to ask any provider is simple: what does it cost to get all of it back, today, to a machine that is not yours? If the answer needs a calculator, the pricing is not transparent.

Takeaways

  • Price a backup by what it costs to restore, not what it costs to store. On the hyperscalers one full restore of 5 TB is $425 to $815, before any premium for speed.

  • Colder tiers reduce the monthly bill and raise the restore bill. On Deep Archive, GCS Archive or Azure Archive a single restore costs the equivalent of nine to eleven years of storage.

  • Egress is charged on every hyperscaler tier; retrieval fees and request fees stack on top of it on the cold ones.

  • Remote volume size, verification sampling, compaction and retention all change how often the meters tick. Check them before choosing a tier with per-request or minimum-duration pricing.

  • Run the formula above for your own backup and put the result in the recovery plan now.

  • Flat-rate storage, including Duplicati Integrated Storage, removes the meters, so the restore costs what the storage costs.

Sources

Prices checked on 9 October 2026. Rates change; confirm against the provider page before relying on a figure.

Get started for free

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

  • Example image