# Cloud Cost Data

> A public JSON API that prices AWS, Azure and GCP resources from each provider's published list prices and compares the three clouds like for like. One request shape for all three clouds; free API key.

Base URL: https://api.cloudcostdata.com. Send the key in an `X-API-Key` header (create one at https://cloudcostdata.com/signup, no payment). Bodies are JSON. Prices are USD list prices, monthly = hourly × 730, refreshed nightly from the AWS Price List API, the Azure Retail Prices API and the GCP Cloud Billing Catalog. No discounts, free tiers or negotiated rates are applied unless a request asks for a `commitment_term` or describes commitments. Usage-based charges are priced only when the request gives the quantity; what it leaves out is named in `unpriced`, never counted as zero.

Resource types are named for their cloud: `aws.ec2_instance`, `azure.vm`, `gcp.compute_instance`. Regions use each provider's own codes (`us-east-1`, `eastus`, `us-central1`).

## API

- [Full reference](https://cloudcostdata.com/llms-full.txt): every endpoint with request and response shapes, and every resource type with its attributes and usage keys, as Markdown.
- [POST /api/v1/estimate](https://cloudcostdata.com/#api): price one resource or up to 500 in `{"resources": [...]}`; each has `resource_type`, `region`, `attributes` (one normalized vocabulary: `size`, `count`, `os`, `purchase_model`, ...; or the provider's own record as `raw`) and optional `usage`. Returns monthly and hourly totals, per-resource components and the price-list version each came from.
- [POST /api/v1/compare](https://cloudcostdata.com/#compare): requirements (e.g. 4 vCPU, 16 GiB, spot) plus a region per provider or a `region_set`; returns each cloud's cheapest matching options. Categories: vm, block_storage, object_storage, data_transfer_out, kubernetes_control_plane, serverless_functions, relational_database, nat_gateway.
- [POST /api/v1/price-request](https://cloudcostdata.com/#api): resources plus AWS Reserved Instances and Savings Plans, returning effective cost and coverage.
- [GET /api/v1/resource-types](https://api.cloudcostdata.com/api/v1/resource-types): JSON list of every priceable type with its attributes and usage keys. No key needed.
- [GET /api/v1/compare/categories](https://api.cloudcostdata.com/api/v1/compare/categories): the compare categories and the requirements each takes. No key needed.
- [POST /api/v1/try/compare](https://cloudcostdata.com/#api): a fixed-shape VM comparison (vcpus, memory_gib, os, commitment_term, region_set of us/eu/asia) with no key, 30 calls per 15 minutes per address.

## Pages

- [VM prices](https://cloudcostdata.com/vm): every AWS, Azure and GCP VM type, each with a page of prices by region (`/vm/aws/m5.large`, `/vm/azure/Standard_D2s_v3`, `/vm/gcp/n2-standard-4`).
- [Compare by size](https://cloudcostdata.com/compare): the cheapest VM per cloud at each size (`/compare/4-vcpu-16-gb`, with `/eu` and `/asia` variants) and head-to-head pages (`/compare/m5.large-vs-Standard_D2s_v3-vs-n2-standard-4`).
- [Sitemap](https://cloudcostdata.com/sitemap.xml): every page.

## Optional

- [Dashboard](https://cloudcostdata.com/dashboard): create, rename and revoke API keys (needs an account).
- [Status page](https://dashboard.absoluteops.com/s/cloudcostdata/): uptime and incidents.
