AWS bill line item: TimedStorage-ByteHrs

TimedStorage-ByteHrs: what your S3 Standard storage line measures

TimedStorage-ByteHrs is the amount of data you kept in the S3 Standard storage class, averaged over the month. AWS's S3 guide describes it as "the number of GB-months that data was stored in S3 Standard storage" [s3-usage-types]. In US East (N. Virginia) it costs $0.023 per GB-month for the first 50 TB [price-list-s3].

What TimedStorage-ByteHrs means

S3 measures how many bytes you store each hour and adds them up. On the bill this becomes GB-months: AWS takes the total GB-hours for the month and divides by the number of hours in the month [s3-usage-types]. Storing 2,000 GB for the first half of a month and nothing for the second half is about 1,000 GB-months, the same as storing 1,000 GB all month.

Only the S3 Standard class is on this line. The other storage classes have their own usage types, such as TimedStorage-SIA-ByteHrs for S3 Standard-IA and TimedStorage-INT-FA-ByteHrs for the Frequent Access tier of S3 Intelligent-Tiering [s3-usage-types].

The current US East (N. Virginia) tiers, per GB-month [price-list-s3]:

  • $0.023 for the first 50 TB
  • $0.022 for the next 450 TB
  • $0.021 above 500 TB

So 1,000 GB kept all month in the first tier is $23.00. In US East (N. Virginia) the usage type has no region prefix; in other regions it does, for example USE2-TimedStorage-ByteHrs in US East (Ohio) [s3-usage-types] [region-codes].

How to find it in Cost Explorer or your Cost and Usage Report

Cost Explorer. Filter Service to Amazon Simple Storage Service and group by Usage type. The usage quantity is in GB-months, so a rising line is data being added faster than it is removed.

Cost and Usage Report (CUR). Storage is reported per bucket:

SELECT line_item_resource_id         AS bucket,
       SUM(line_item_usage_amount)   AS gb_months,
       SUM(line_item_unblended_cost) AS cost
FROM   cur
WHERE  line_item_usage_type LIKE '%TimedStorage-ByteHrs'
  AND  line_item_product_code = 'AmazonS3'
GROUP  BY 1
ORDER  BY cost DESC;

The LIKE pattern also matches S3 Tables and annotation storage (Tables-TimedStorage-ByteHrs, Annotation-TimedStorage-ByteHrs) [s3-usage-types], so check the usage types it returns. Your table and column names depend on how the export was set up.

Inside S3. S3 Storage Lens and S3 Inventory show what is inside a bucket (prefixes, storage classes, object versions), which the bill cannot.

Typical causes of a growing line

  • Old versions in versioned buckets. Every version is stored and billed as a whole object, not a diff: "if you have three versions of an object stored, you are charged for three objects" [s3-versioning]. Overwrites and deletes in a versioned bucket keep the old copies until a lifecycle rule removes them.
  • Incomplete multipart uploads. Uploaded parts of an upload that never finished stay in the bucket. AWS recommends a lifecycle rule with AbortIncompleteMultipartUpload "to minimize your storage costs" [s3-mpu].
  • Logs, backups and exports with no expiry. Access logs, database exports, build artifacts and data lake staging areas tend to grow every day and are rarely read again.
  • Data that never moves to a cheaper class. Objects nobody reads still pay the Standard rate until a lifecycle rule or Intelligent-Tiering moves them.
  • Replication or copies into another bucket that also stores them in S3 Standard.

Price history

CostPulse's price history (every version of the AWS Price List since 2015) has 38 like-for-like On-Demand price changes for TimedStorage-ByteHrs in Amazon Simple Storage Service, shown below.

The only like-for-like changes on record are cuts, all in one publication of December 12, 2016, effective December 2016. In US East (N. Virginia), US East (Ohio), US West (Oregon) and EU (Ireland) the first tier went from $0.03 to $0.023, a 23.33% cut. AWS redrew the tiers in the same publication: its descriptions show the first tier changing from the first 1 TB to the first 50 TB, so the new first-tier price covered far more data than the old one. No like-for-like change to it appears after that.

PublishedEffectiveRegionAWS descriptionOldNewChange
2016-12-12Dec 2016Asia Pacific (Mumbai) and 1 more$0.025 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0300 per GB - first 1 TB / month of storage used
$0.03$0.025−16.67%
2016-12-12Dec 2016Asia Pacific (Seoul)$0.025 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0314 per GB - first 1 TB / month of storage
$0.0314$0.025−20.38%
2016-12-12Dec 2016Asia Pacific (Sydney) and 1 more$0.025 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0330 per GB - first 1 TB / month of storage used
$0.033$0.025−24.24%
2016-12-12Dec 2016EU (Frankfurt)$0.0245 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0324 per GB - first 1 TB / month of storage used
$0.0324$0.0245−24.38%
2016-12-12Dec 2016South America (Sao Paulo)$0.0405 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0408 per GB - first 1 TB / month of storage used
$0.0408$0.0405−0.74%
2016-12-12Dec 2016US East (N. Virginia) and 3 more$0.023 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0300 per GB - first 1 TB / month of storage used
$0.03$0.023−23.33%
2016-12-12Dec 2016US West (N. California)$0.026 per GB - first 50 TB / month of storage used (tier from 0 GB-Mo)
was: $0.0330 per GB - first 1 TB / month of storage used
$0.033$0.026−21.21%
2016-12-12Dec 2016AWS GovCloud (US)$0.037 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0377 per GB - next 450 TB / month of storage used
$0.0377$0.037−1.86%
2016-12-12Dec 2016Asia Pacific (Mumbai) and 1 more$0.024 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0290 per GB - next 450 TB / month of storage used
$0.029$0.024−17.24%
2016-12-12Dec 2016Asia Pacific (Seoul)$0.024 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0303 per GB - next 450 TB / month of storage used
$0.0303$0.024−20.79%
2016-12-12Dec 2016Asia Pacific (Sydney) and 1 more$0.024 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0319 per GB - next 450 TB / month of storage used
$0.0319$0.024−24.76%
2016-12-12Dec 2016EU (Frankfurt)$0.0235 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0314 per GB - next 450 TB / month of storage used
$0.0314$0.0235−25.16%
2016-12-12Dec 2016South America (Sao Paulo)$0.039 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0394 per GB - next 450 TB / month of storage used
$0.0394$0.039−1.02%
2016-12-12Dec 2016US East (N. Virginia) and 3 more$0.022 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0290 per GB - next 450 TB / month of storage used
$0.029$0.022−24.14%
2016-12-12Dec 2016US West (N. California)$0.025 per GB - next 450 TB / month of storage used (tier from 51200 GB-Mo)
was: $0.0319 per GB - next 450 TB / month of storage used
$0.0319$0.025−21.63%
2016-12-12Dec 2016AWS GovCloud (US)$0.0355 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0370 per GB - next 500 TB / month of storage used
$0.037$0.0355−4.05%
2016-12-12Dec 2016Asia Pacific (Mumbai) and 1 more$0.023 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0285 per GB - next 500 TB / month of storage used
$0.0285$0.023−19.30%
2016-12-12Dec 2016Asia Pacific (Seoul)$0.023 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0297 per GB - next 500 TB / month of storage used
$0.0297$0.023−22.56%
2016-12-12Dec 2016Asia Pacific (Sydney) and 1 more$0.023 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0313 per GB - next 500 TB / month of storage used
$0.0313$0.023−26.52%
2016-12-12Dec 2016EU (Frankfurt)$0.0225 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0308 per GB - next 500 TB / month of storage used
$0.0308$0.0225−26.95%
2016-12-12Dec 2016South America (Sao Paulo)$0.037 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0387 per GB - next 500 TB / month of storage used
$0.0387$0.037−4.39%
2016-12-12Dec 2016US East (N. Virginia) and 3 more$0.021 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0285 per GB - next 500 TB / month of storage used
$0.0285$0.021−26.32%
2016-12-12Dec 2016US West (N. California)$0.024 per GB - storage used / month over 500 TB (tier from 512000 GB-Mo)
was: $0.0313 per GB - next 500 TB / month of storage used
$0.0313$0.024−23.32%

One row per publication, price and tier; regions that got the same old and new price are grouped. Each published date links to that publication's page in the AWS price change tracker. Published vs effective dates.

The history also has 6 rows for these usage types that are not like-for-like price changes, so they are not shown as cuts or increases: published 2016-10-15 (6: 6 where the unit or description was reworded at the same price).

What to do about it

  1. Find the bucket with the CUR query above, then the prefix with S3 Storage Lens or S3 Inventory.
  2. Add noncurrent version expiration to versioned buckets, keeping as many old versions or days as you actually need [s3-versioning].
  3. Abort incomplete multipart uploads after a few days with a lifecycle rule [s3-mpu].
  4. Expire or transition what you do not read: logs after their retention period, staging data after the job. The S3 lifecycle article on the CostPulse blog covers the rules and their minimum-duration charges.
  5. Watch the trend daily, not monthly. Storage rarely spikes; it climbs. A daily view of this line per bucket shows a new writer within days.

Sources

Page last reviewed 2026-10-13. Prices quoted as "current" are from the AWS Price List version named next to them and can change; the AWS pricing pages are authoritative.

Catch the next one the day it starts

CostPulse reads your AWS billing data every day and alerts Slack, Microsoft Teams or email when a service's spend rises above its 7-day baseline, so a new line like this shows up in a channel instead of on the monthly invoice.

Start a free trial See the live demo

Want to check your own bill? CostPulse Bill X-Ray reads a billing export in your browser and lists the AWS list-price changes that touch the usage types you pay for, and which spikes were usage, your rate or an AWS price. Free, no signup, and the file never leaves your browser.

Source for price history: AWS Price List API, all historical versions since 2015, normalized by CostPulse. Price history data built 2026-10-11. Current prices and product behavior are quoted from the AWS pages listed under Sources on each page.

CostPulse is not affiliated with or endorsed by Amazon Web Services. Prices are list prices in USD as AWS published them and do not include discounts, credits, Savings Plans or taxes. Check the AWS pricing pages before making a decision.