How does Amazon S3 calculate bandwidth used?

by Steve

Streaming a LoveFilm film

This is our second post in a series on how to decipher the byzantine Amazon S3 pricing Schedule.  In our last post we covered S3 pricing for storage, and how it was calculated.  This post will delve into the bandwidth calculations for Amazon S3 storage in hopes that you can avoid that surprise bill that we read about from time to time.

The bandwidth charges for S3 are fairly straightforward but we need to get our terms straight before getting into details about the pricing.  First there is bandwidth in (into Amazon S3) and bandwidth out (data transferred out of Amazon S3).

Bandwidth in represents the bandwidth you use when transferring files into an S3 account.  I would call this uploading files into your account.  This is extremely straightforward.

Bandwidth out represents the bandwidth used whenever anyone transfers a file from, or out of, your S3 account.

So – In simple terms if you are just using S3 to hold your own files your bandwidth in and bandwidth out will be fairly easy to monitor.  But, and this is what gets people, if you’re using Amazon to share files with others, each time a file is downloaded you’re going to be charged for the bandwidth.

Here is the actual pricing and then we’ll work through an example:

Data Transfer In

  • All Data transfer in is now free priced at .10 (ten cents) per GB

Data  Transfer Out

  • First 1 GB / Monthly is free
  • Up to to 10 TB /Monthly  $.12 15 (fifteen twelve cents) per GB
  • Next 40 TB / Monthly $.09.11 (eleven nine cents) per GB
  • Next 100 TB/ Monthly $.07 09 (nine seven cents) per GB
  • Over 350 150 TB/ Monthly $..0508 (eight five cents) per GB

Now let’s move onto an example.  Let’s say you’re a creator of animated videos and you decide to upload a 700 MB movie into your account to share.  You’ve done a great job and you want as many people to see it as possible.

The cost to upload that particular file would be only around free seven cents.  So far, no problem.  Let’s say you email 10 of your friends about the video and they all download and watch it.  The cost to you is again no problem, only around a dollar.  But let’s say that one of your friends tweets the link and it goes viral.  Hey, that’s great right?  You want as many people as possible to see your work.  But, keep in mind that each person that sees it is costing you around  11 8.4 cents.  So, if 1,000 people watch your video your bill will be $84.   Now let’s say that 10,000 people see your video suddenly your cost is over $1,000 $800 for the month.

The moral of the story is that if you’re going to share large files on Amazon S3 you need to keep track of your bandwidth used and be prepared to remove the file sharing on the file if you exceed a certain threshold.

You can check your bandwidth used by logging into your S3 account, and clicking “usage reports.”  I download my data into a CSV file, then sort by usage type and summarize the bandwidth out data to get this information.



{ 9 comments… read them below or add one }

Leah September 15, 2012 at 12:32 am

very interesting and well broken down information. Thank you I found this very informative


Jay November 22, 2012 at 10:15 am

Thanks for this post. I am not a technical guy but this may seem expensive at some point. I plan to have a few videos on my website. The problem is, they are about 13 gig .
And just a few from my list will have these videos distributed to probably a few thousand..This will result in a high bill from what I see.

Is there any other option? which would be better? I also have one video selling my program but am unsure what would be the right solution.

Any help would be much appreciated.

Many thanks once again fro a great post..



Steve November 22, 2012 at 10:30 am

Wow – those are big videos. HD Movies from iTunes are much smaller than 13 GB. Would it be possible to encode them differently to make them smaller? Would streaming be an option for you?


Sean December 17, 2012 at 9:03 am

Hi Steve!
S3 is quite confusing to be honest. Hoping you could confirm my thoughts, 10GB transferred a day, every day for the entire month shouldn’t be in the $100′s? I have 3GB hosted content and 30000 get requests.


Steve December 17, 2012 at 10:42 am

The get requests and the storage costs would be negligible in your example but the data transfer costs, as I calculate them would be 30 (days) times 10 GB or 300 GB of data transfer each month. So the calculation should be 300 x 12 cents per GB or $36.00 per month. Is your bill higher than that?


Sean December 17, 2012 at 3:46 pm

Still in my first month :P , I am getting the same price you said on the amazon calculator which is promising. I am using to monitor it. So I think I should be right then(?). Thanks for confirming that for me!


waqas February 12, 2013 at 11:48 am

Will i be charged if i embed video on my site and users only view it not download it. So will i be charged if people only stream my videos?



Steve February 12, 2013 at 2:18 pm

Yes. Streaming the video uses essentially the same amount of bandwidth as downloading would. The exception would be if people only stream a small portion of the video.


Budi July 5, 2013 at 10:29 am

WOW. Amazon could have written this, but they didn’t!! Thanks a ton!!!. WHat about the put/get/post fee? you know anything ?


Leave a Comment

Previous post:

Next post: