AWS Price List Service
amazonaws · Cloud
Amazon Web Services Price List API is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The Amazon Web Services Price List uses standardized product attributes such as Location , Storage Class , and Operating System , and provides prices at the SKU level. You can use the Amazon Web Services Price List to build cost control and scenario planning tools, reconcile billing data, forec
Authentication
Sample Requests
Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as AmazonEC2 , to get information specific to that service, such as the attribute names available f
Hover any highlighted part to learn what it does
| X-Amz-Target | AWSPriceListService.DescribeServices |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AWSPriceListService.DescribeServices"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AWSPriceListService.DescribeServices"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AWSPriceListService.DescribeServices'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AWSPriceListService.DescribeServices")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSPriceListService.DescribeServices"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.DescribeServices?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AWSPriceListService.DescribeServices"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a list of available attributes, see Offer File Definitions in the <a href="https://d
Hover any highlighted part to learn what it does
| X-Amz-Target | AWSPriceListService.GetAttributeValues |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AWSPriceListService.GetAttributeValues"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AWSPriceListService.GetAttributeValues"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AWSPriceListService.GetAttributeValues'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AWSPriceListService.GetAttributeValues")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSPriceListService.GetAttributeValues"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetAttributeValues?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AWSPriceListService.GetAttributeValues"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a list of all products that match the filter criteria.
Hover any highlighted part to learn what it does
| X-Amz-Target | AWSPriceListService.GetProducts |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AWSPriceListService.GetProducts"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AWSPriceListService.GetProducts"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AWSPriceListService.GetProducts'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AWSPriceListService.GetProducts")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSPriceListService.GetProducts"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/pricing/2017-10-15/#X-Amz-Target=AWSPriceListService.GetProducts?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AWSPriceListService.GetProducts"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with AWS Price List Service?
AWS Price List Service is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS Price List Service is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?