Spokes.wiki Search About
Web API source ↗ source url updated Mon Aug 10 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Azure Retail Prices API — what a hyperscaler VM actually costs

Microsoft publishes every Azure retail price through an unauthenticated JSON REST API. No key, no account, no scraping: filter by service, region, SKU and price type and it returns the live meter list. That makes it the first source in this spoke that prices a hyperscaler with first-party data you can re-run rather than a marketing page. T1 (vendor’s own billing data, machine-readable).

It exists because the human-facing pricing page can’t be read: azure.com/pricing/details/ virtual-machines/linux/ renders its price table in JavaScript, so a fetch returns the surrounding copy and no numbers. The API is the way in.

GET https://prices.azure.com/api/retail/prices
    ?$filter=serviceName eq 'Virtual Machines'
      and armRegionName eq 'eastus'
      and armSkuName eq 'Standard_D2s_v5'

The reference VM, priced (2026-08-10, eastus, Linux)

Standard_D2s_v5 — 2 vCPU, 8 GB — is the general-purpose baseline the rest of this spoke can be measured against.

Purchase modelPriceEffective per vCPU-monthDiscount vs on-demand
Pay-as-you-go$0.096 / hour$35.04
Reserved, 1 year$519 / year$21.6338%
Reserved, 3 years$997 / 3 years$13.8560%
Spot$0.020266 / hour$7.4079%

At 730 hours a month, pay-as-you-go is $70.08/month. Windows images carry a separate, higher meter (the same SKU quotes $0.0752/hr Low Priority on the Windows product versus $0.0192 on Linux), which is the OS licence, not the hardware.

What the numbers say

The list price is the price nobody informed pays. The same 2-vCPU machine costs anywhere from $13.85 to $35.04 per vCPU-month depending only on how you buy it — a 2.5× spread with no technical difference at all, and 5× if you can tolerate eviction. This spoke’s thesis has treated the tiers as differing in architecture (raw IaaS vs managed PaaS vs edge); the hyperscaler tier also differs from the others in having a purchase-model axis that Hetzner and the PaaS vendors simply don’t have. A quoted hyperscaler price without a commitment term attached is not a comparable number.

Against the rest of the spoke. Azure on-demand at $35.04/vCPU-month sits above railway‘s metered $20.02/vCPU-month, and both are far above hetzner-cloud‘s fixed per-core pricing. Three-year reserved ($13.85) is the first hyperscaler figure that lands in Hetzner’s neighbourhood — bought with a three-year commitment.

Coverage note

This closes half of the spoke’s hyperscaler-pricing gap. google-cloud remains unpriced: its pricing pages are JS-rendered like Azure’s, the legacy public pricelist.json now returns 404, and the Cloud Billing Catalog API requires an API key. AWS publishes a bulk Price List JSON, but the EC2 file is hundreds of megabytes — impractical on this device. Recorded as an open edge rather than filled with a secondary source.

azure · aws · google-cloud · hetzner-cloud · railway · fly-io · vpsbenchmarks-docean-hetzner · synthesis