Many AWS customers and partners have been asking for a programmatic way to access prices for AWS services. This information can be used in several ways. Some potential customers are evaluating the feasibility and cost-effectiveness of moving their on-premises workloads to the cloud and want to “do the math.” Current customers and partners would like to make sure that their budgeting, forecasting, and analytics tools are able to analyze AWS prices without having to resort to scraping our web site. Our Managed Services Partners create and supervise tens or thousands of linked AWS accounts (grouped together via Consolidated Billing) and need to make sure the bills presented to their customers reflect the cost of each resource.

New AWS Price List API

In order to meet the needs of these customers and to foster the development of even more tools that focus on cost management, budgeting, and the like, we are launching the AWS Price List API. This API provides you with access to prices in JSON and CSV form. You can download and process this information on an as-needed basis. You can also elect to receive notification via Amazon Simple Notification Service (SNS) each time we make a price change.

Pricing information can be accessed by URLs, each structured as follows:

https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/{offer_code}/current/index.{format}

where format can be either “json” or “csv.”

You can find the offer code and URLs for all supported services by accessing the Offer Index (https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/index.json). It begins like this (the currentVersionUrl values are all relative to https://pricing.us-east-1.amazonaws.com ):

{ "formatVersion" : "v1.0", "disclaimer" : "This pricing list is for informational purposes only. All prices are subject to the additional terms included in the pricing pages on http://aws.amazon.com. All Free Tier prices are also subject to the terms included at https://aws.amazon.com/free/", "publicationDate" : "2015-11-19T02:10:02Z", "offers" : { "AmazonS3" : { "offerCode" : "AmazonS3", "currentVersionUrl" : "/offers/v1.0/aws/AmazonS3/current/index.json" }, "AmazonRedshift" : { "offerCode" : "AmazonRedshift", "currentVersionUrl" : "/offers/v1.0/aws/AmazonRedshift/current/index.json" }, "AmazonEC2" : { "offerCode" : "AmazonEC2", "currentVersionUrl" : "/offers/v1.0/aws/AmazonEC2/current/index.json" }, "AmazonCloudWatch" : { "offerCode" : "AmazonCloudWatch", "currentVersionUrl" : "/offers/v1.0/aws/AmazonCloudWatch/current/index.json" } } }

Each API response contains two sections: product information and pricing information. Here’s a sample of the product information:

{ "formatVersion" : "v1.0", "disclaimer" : "This pricing list is for informational purposes only. All prices are subject to the additional terms included in the pricing pages on http://aws.amazon.com. All Free Tier prices are also subject to the terms included at https://aws.amazon.com/free/", "offerCode" : "AmazonRDS", "version" : "20151001000000", "publicationDate" : "2015-11-15T04:02:20Z", "products" : { "FNR4GZ675EW5UXJW" : { "sku" : "FNR4GZ675EW5UXJW", "productFamily" : "Database Instance", "attributes" : { "servicecode" : "AmazonRDS", "location" : "US West (Oregon)", "locationType" : "AWS Region", "instanceType" : "db.t2.small", "currentGeneration" : "Yes", "instanceClass" : "Burstable performance instances", "vcpu" : "1", "memory" : "2", "piopsOptimized" : "No", "networkPerformance" : "Low", "engineCode" : "10", "databaseEngine" : "SQL Server", "databaseEdition" : "Express", "deploymentOption" : "Single-AZ", "usagetype" : "USW2-InstanceUsage:db.t2.small", "operation" : "CreateDBInstance:0010" } },

We’ve added product attributes to all our products. You can use these product attributes to find the SKU that you need prices for. To help you find prices faster, pricing information is also indexed by SKU.

Here is the pricing information associated with the product information above:

"FNR4GZ675EW5UXJW" : { "FNR4GZ675EW5UXJW.JRTCKXETXF" : { "offerTermCode" : "JRTCKXETXF", "sku" : "FNR4GZ675EW5UXJW", "effectiveDate" : "2015-10-01T00:00:00Z", "priceDimensions" : { "FNR4GZ675EW5UXJW.JRTCKXETXF.6YS6EN2CT7" : { "rateCode" : "FNR4GZ675EW5UXJW.JRTCKXETXF.6YS6EN2CT7", "rateType" : "Fixed", "description" : "$0.044 per RDS T2 Small Instance hour (or partial hour) running SQL Server EX - LI", "beginRange" : "0", "endRange" : "Inf", "unit" : "Hrs", "pricePerUnit" : { "USD" : "0.0440000000" }, "appliesTo" : [ ] } }, "termAttributes" : { } } },

Available Now

This information is available now and you can start to make use of it today. It is available for all public AWS regions except China (Beijing). Information is not provided for Free Tier pricing, Spot Instances, or for products in the AWS Marketplace.

To learn more, read Using the Price List API.

— Jeff;