Methods noteGPU and neocloud pricing

Reading GPU prices from cloud pricing APIs

The GPU pricing APIs of AWS, Azure, Google Cloud, Oracle and Lambda differ in access, units and coverage, so each needs its own conversion to dollars per GPU-hour.

Cover of the full report: Reading GPU prices from cloud pricing APIs
The research behind this article, with every source listed. 21 pages.

Key points

From the Summary of the full report

  1. AWS, Microsoft Azure, Google Cloud, Oracle Cloud Infrastructure and Lambda publish GPU prices through a cloud pricing API. Access ranges from none (Azure, Oracle) to an API key (Google Cloud, Lambda) to IAM permission (AWS) [1, 17, 22, 27, 29].
  2. No single API covers every pricing type. The AWS price list leaves out Spot, its Query API leaves out Savings Plans and its Capacity Block SKUs read $0.00, so one AWS GPU instance needs four APIs and a pricing page [1, 9, 10, 13].
  3. Units differ. AWS returns instance-hours plus upfront fees, Azure returns reservations as term totals labelled "1 Hour", Google Cloud returns units plus nanos per resource, Lambda returns US cents per instance-hour and Oracle returns a price per GPU-hour [13, 18, 22, 27, 30].

AWS, Microsoft Azure, Google Cloud, Oracle and Lambda all publish GPU prices through a cloud pricing API. Each API returns a SKU's price in the provider's own unit, term and currency, so the numbers do not compare until they are converted. AWS spreads one GPU instance's prices across four APIs [1, 7, 8, 9]. Azure returns each reservation as one total for the whole term [18, 19]. Google Cloud prices GPU machines by resource [26], Lambda prices whole instances in US cents [27] and Oracle prices each GPU by the hour with no region [30].

This note reads each API as it stood on 24 October 2026. Live responses from AWS, Azure and Oracle supply the examples. Google Cloud and Lambda require a key, so they are described from their documentation [22, 27]. Prices below are listings as published that day unless dated otherwise, in U.S. dollars, Linux where it applies. Per-GPU figures are arithmetic from them.

Which cloud GPU pricing APIs exist

Provider and API Access Price as returned Leaves out
AWS Price List Query API (GetProducts) and Bulk API IAM permission [1] USD per instance-hour, upfront fees as a quantity [13] Spot, Savings Plans in the Query API, Capacity Block fees [1, 13]
Azure Retail Prices API, prices.azure.com/api/retail/prices None [17] Hourly rates, and reservations as term totals [18] Savings plans before api-version 2023-01-01-preview [17]
Google Cloud Billing Catalog API v1 (services.skus.list) and Pricing API API key [22, 24] Units plus nanos per resource unit [22] Contract prices without a billing account [24]
Lambda Cloud API, GET /api/v1/instance-types Account API key [27] US cents per instance-hour [27] Term, pricing type and timestamp [27]
Oracle list price API, cetools/api/v1/products None [29] Price per GPU-hour by part number [30] Region, node size and term [30]

Check each API's terms of use before automating calls.

AWS Price List API and GPU instances

The Query API returns prices by SKU, and the Bulk API serves the same catalog as JSON and CSV files [1]. AWS treats both as informational: "If there's a difference between the price list file and a service pricing page, AWS charges the prices on the service pricing page" [1].

A GetProducts call for p5.48xlarge in US East (N. Virginia), Linux, shared tenancy, returned six SKUs on 24 October 2026 [13]. The on-demand rate of $55.04 per instance-hour sits on the SKU with capacitystatus "Used" and market option OnDemand. An UnusedCapacityReservation SKU repeats it, and the other four read $0.00, including all three Capacity Block SKUs [13]. A filter that skips capacitystatus and marketoption collects those zeros and the duplicate.

The catalog "doesn't include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances", and the Query API "doesn't support Savings Plan prices" [1]. Those come from DescribeSpotPriceHistory [7] and DescribeSavingsPlansOfferingRates [8]. Capacity Block fees come from DescribeCapacityBlockOfferings [9] and the Capacity Blocks pricing page [10].

p5.48xlarge (8 H100), US East (N. Virginia) Per instance-hour Per GPU-hour
On-demand $55.04 $6.88
Capacity Block $47.757 $5.970
Spot, six Availability Zones $23.74 to $37.38 $2.97 to $4.67
Compute Savings Plan, 1 year, no upfront $43.344 $5.418
EC2 Instance Savings Plan, 3 years, all upfront $20.695 $2.587

Sources: [10, 13, 14, 15]. Captured 24 October 2026.

Spot history: DescribeSpotPriceHistory and its 90 days

StartTime reaches back "up to the past 90 days", and the response includes "the last price change before the start time, which is the effective price as of the start time" [7]. A one-minute window therefore returns the price in force in each Availability Zone [15]. A request for 100 to 120 days back returned no records and no error [15]. What research shows about training on spot GPUs covers what those prices save.

Azure Retail Prices API for GPU VMs

Microsoft describes the API as "an unauthenticated experience to get retail rates for all Azure services" [17]. Savings plan rates appear only with api-version 2023-01-01-preview, and from that version filter values are case sensitive [17]. In a test on 24 October 2026, a lowercase SKU name also returned zero rows under the older 2021-10-01-preview [18]. Match armSkuName casing exactly. Each call returns at most 1,000 records [17].

For Standard_ND96isr_H100_v5 in East US, the Linux consumption row is $98.32 per hour [18]. The reservation rows read 551,221 for 1 Year, 1,134,310 for 3 Years and 1,722,566 for 5 Years, and their unitOfMeasure still says "1 Hour" [18]. Each is a total for the whole term, as a Microsoft skill reference for its Fabric service also states [19].

Spot meters carry "Spot" in meterName and skuName [20], and the ND H100 v5 Spot row was $18.17 per hour [18]. GPU counts come from the size page: eight H100 GPUs for ND96isr H100 v5 [21].

Google Cloud Billing Catalog API and SKU prices

"Calling the Cloud Billing Catalog API requires an API Key" [22]. It lists public SKUs at up to 5,000 per page, with usage types such as OnDemand, Preemptible, Commit1Mo and Commit1Yr [22]. A price arrives as units plus nanos, so $1.75 is units=1 and nanos=750,000,000 [22]. Without a time range the latest pricing is "up to 12 hours old at most", and a historical range must fall within one calendar month [23].

The Pricing API is in Preview, at v1beta and v2beta, under Google's Pre-GA terms [24]. Public calls return listPrice. Calls for a billing account add contractPrice and effectiveDiscountPercent [24].

Compute Engine bills A3 instances "for their attached GPUs, predefined vCPUs, memory, and bundled Local SSD disks" [26], so a machine rate is the sum of those SKUs. A3 Ultra has no on-demand option [26].

Lambda API instance types and Oracle list prices

Lambda's GET /api/v1/instance-types returns instance types with specifications, pricing and regions with capacity [27]. It needs an API key [27]. Its price_cents_per_hour field is "The price of the instance type in US cents per hour" [27]. On 24 October 2026 the pricing page stated prices per GPU that vary with node size: H100 SXM at $3.99 per GPU-hour in an 8-GPU instance and $4.29 in a 1-GPU instance, plus applicable sales tax [28]. On 7 November 2026 it listed $4.59 and $4.89, taking effect on 16 November 2026 [37].

Oracle's endpoint needs no key [29]. GPU lines use the metric "GPU Per Hour": H100 at $10, B200 at $14 and MI300X at $6 [30]. The live response nests prices under "currencyCodeLocalizations" with numeric values, which matches neither the documented sample nor the documented schema [29, 30]. NVIDIA AI Enterprise software lines also use "GPU Per Hour" [30], so a filter on that metric alone mixes software with hardware.

How to normalize GPU prices per GPU-hour

Step Example from 24 October 2026
Take the GPU model and count from a second source AWS price attributes give gpu "8" with no model. DescribeInstanceTypes returns H100, count 8 [12, 13, 15]
Handle fractional GPUs g6f.large reports Count 0 and GpuPartitionSize 0.125, so $0.202 / 0.125 = $1.616 per full GPU-hour [12, 13, 15]
Spread upfront fees over the term AWS defines three years as 94,608,000 seconds [11]. 543,866 / 26,280 = $20.695, the matching Savings Plan rate [13, 14]
State the hours behind term totals Microsoft states no hour count. At 8,760 a year, 551,221 / 8,760 / 8 = $7.87 per GPU-hour [18]
Keep variant and node size H100 SXM and NVL differ in memory and NVLink bandwidth [36]. Lambda's per-GPU price changes with node size [28]

The H100 on-demand listings read this way on 24 October 2026 ran from $3.99 per GPU-hour (Lambda, 8-GPU instance, pricing page) to $12.29 (Azure ND96isr H100 v5) [18, 28]. They describe different hosts, networks and terms.

FOCUS 1.4, the FinOps billing data specification, defines List Unit Price as the provider-published unit price "exclusive of any discounts" [32], and its Pricing Category values Standard, Dynamic and Committed fit on-demand, spot and committed prices [33]. Those terms are defined for billed charges [35], so using them for list prices aligns vocabulary only.

Record capture time and the raw response

AWS price list files carry a publicationDate and a version [5]. The EC2 version index listed 123 versions on 24 October 2026, one per month in 2026 [16], although the files "can change anytime" [6]. Azure rows carry an effectiveStartDate [17]. Oracle gives one lastUpdated for the whole list [30], and Lambda's instance types carry no timestamp [27].

The time of the call is the one timestamp all five share, so store it in UTC beside the unchanged response. The proposed FOCUS SKU Price dataset, in final review for the 1.5 release, builds history the same way, from effective dates and "from keeping successive snapshots where a provider does not deliver past prices" [35]. What posted GPU cloud prices tell you and Datasets that state their limits cover what a listing shows and what a record should carry.

Rillor's GPU and neocloud pricing method reads official provider pricing APIs and published pricing pages within each source's terms. The method records each observation's UTC capture time, keeps the raw response unchanged with a link from each observation to it, and converts each price to U.S. dollars per GPU-hour.

Read the full report

The full report adds the request behind each live call, the full AWS and Azure price tables, the gaps in each API and 37 numbered sources.

The full report

Reading GPU prices from cloud pricing APIs

The research behind this article, with every source listed. 21 pages.

  1. Summary
  2. Background
  3. Method
  4. Findings
  5. Implications
  6. Limits of this analysis
  7. Sources

Sources

  1. Calling AWS services and prices using the AWS Price List, AWS Billing and Cost Management User Guide. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html
  2. Reading the service price list file for an AWS service, AWS Billing User Guide. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/reading-service-price-list-file-for-services.html
  3. Setting up price update notifications, AWS Billing User Guide. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-notification.html
  4. DescribeSpotPriceHistory, Amazon EC2 API Reference. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSpotPriceHistory.html
  5. DescribeSavingsPlansOfferingRates, Savings Plans API Reference. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/savingsplans/latest/APIReference/API_DescribeSavingsPlansOfferingRates.html
  6. DescribeCapacityBlockOfferings, Amazon EC2 API Reference. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCapacityBlockOfferings.html
  7. Amazon EC2 Capacity Blocks for ML pricing. Amazon Web Services, viewed 24 October 2026. https://aws.amazon.com/ec2/capacityblocks/pricing/
  8. Reserved Instances for Amazon EC2 overview, Amazon EC2 User Guide. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-reserved-instances.html
  9. GpuDeviceInfo, Amazon EC2 API Reference. Amazon Web Services, viewed 24 October 2026. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GpuDeviceInfo.html
  10. AWS Price List Query API, GetProducts responses for p5.48xlarge and g6f.large in us-east-1 (AmazonEC2, Linux, shared tenancy, price list version 20261023221355), read-only requests. Amazon Web Services, retrieved 24 October 2026, 18:05 UTC. https://api.pricing.us-east-1.amazonaws.com
  11. Savings Plans API, DescribeSavingsPlansOfferingRates response for p5.48xlarge in us-east-1 (Linux/UNIX, shared tenancy), read-only request. Amazon Web Services, retrieved 24 October 2026, 18:05 UTC. https://savingsplans.amazonaws.com
  12. Amazon EC2 API, DescribeSpotPriceHistory response for p5.48xlarge (Linux/UNIX) and DescribeInstanceTypes responses for p5.48xlarge, p6-b200.48xlarge and g6f.large in us-east-1, read-only requests. Amazon Web Services, retrieved 24 October 2026, 18:05 UTC. https://ec2.us-east-1.amazonaws.com
  13. AWS Price List Bulk API files for Amazon EC2: service version index, current region index and current us-east-1 price list file. Amazon Web Services, retrieved 24 October 2026. https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/index.json
  14. Azure Retail Prices overview, Cost Management REST API. Microsoft Learn, updated 7 August 2024, viewed 24 October 2026. https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices
  15. Azure Retail Prices API responses for Standard_ND96isr_H100_v5 and Standard_NC24ads_A100_v4 in East US (api-version 2023-01-01-preview), with a filter case test under 2021-10-01-preview. Microsoft, retrieved 24 October 2026, 18:05 UTC. https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&$filter=armRegionName%20eq%20%27eastus%27%20and%20armSkuName%20eq%20%27Standard_ND96isr_H100_v5%27
  16. Azure Pricing API Reference, e2e-fabric-cost-estimation skill, microsoft/skills-for-fabric. Microsoft on GitHub, last changed 30 July 2026, viewed 24 October 2026. https://github.com/microsoft/skills-for-fabric/blob/main/skills/e2e-fabric-cost-estimation/resources/pricing-api-reference.md
  17. About Azure Spot Virtual Machines. Microsoft Learn, updated 6 February 2026, viewed 24 October 2026. https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms
  18. ND-H100-v5 size series. Microsoft Learn, updated 25 September 2026, viewed 24 October 2026. https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/ndh100v5-series
  19. Get publicly available Google Cloud pricing information (Cloud Billing Catalog API). Google Cloud documentation, updated 22 October 2026, viewed 24 October 2026. https://docs.cloud.google.com/billing/v1/how-tos/catalog-api
  20. Method: services.skus.list, Cloud Billing Catalog API v1 reference. Google Cloud documentation, viewed 24 October 2026. https://docs.cloud.google.com/billing/docs/reference/rest/v1/services.skus/list
  21. Get Google Cloud pricing information (Pricing API). Google Cloud documentation, updated 22 October 2026, viewed 24 October 2026. https://docs.cloud.google.com/billing/docs/how-to/get-pricing-information-api
  22. GPU machines in accelerator-optimized machine family, Compute Engine documentation. Google Cloud documentation, updated 22 October 2026, viewed 24 October 2026. https://docs.cloud.google.com/compute/docs/accelerator-optimized-machines
  23. Lambda Cloud API OpenAPI specification, version 1.10.0. Lambda, viewed 24 October 2026. https://docs.lambda.ai/api/cloud/spec.json
  24. GPU cloud pricing, archived capture of 25 October 2026 showing the rates viewed on 24 October 2026. Lambda, via the Internet Archive Wayback Machine, viewed 7 November 2026. https://web.archive.org/web/20261025040216/https://lambda.ai/pricing
  25. Estimating Monthly Costs: Accessing List Pricing for OCI Products. Oracle Cloud Infrastructure documentation, viewed 24 October 2026. https://docs.oracle.com/en-us/iaas/Content/Billing/Tasks/signingup_topic-Estimating_Costs.htm
  26. Oracle list price API response, all products in USD, with a single-part request for B98415 in all currencies. Oracle, retrieved 24 October 2026, 18:03 UTC. https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?currencyCode=USD
  27. FOCUS Specification v1.4, List Unit Price. FinOps Open Cost and Usage Specification, viewed 24 October 2026. https://focus.finops.org/docs/specification/v1-4/columns/cost-and-usage/list-unit-price/
  28. FOCUS Specification v1.4, Pricing Category. FinOps Open Cost and Usage Specification, viewed 24 October 2026. https://focus.finops.org/docs/specification/v1-4/columns/cost-and-usage/pricing-category/
  29. FOCUS 1.5 Release Scope: Confirmed, In Review and Deferred. FOCUS Working Group, viewed 24 October 2026. https://focus.finops.org/focus-1-5-release-scope/
  30. NVIDIA H100 GPU, product specifications. NVIDIA Corporation, viewed 24 October 2026. https://www.nvidia.com/en-us/data-center/h100/
  31. AI cloud pricing. Lambda, viewed 7 November 2026. https://lambda.ai/pricing

Notices

Rillor is not a registered investment adviser or commodity trading advisor and does not provide investment or trading advice. Research, forecasts, data and software described on this site are for research and engineering use. Nothing here is an offer or recommendation to buy or sell any security, commodity interest or digital asset. Past or simulated results do not indicate future results.

NVIDIA, AMD, Ceph, Kubernetes and related product names are trademarks of their owners and are used only to identify products. No affiliation or endorsement is implied.

Tell us which GPU classes you track.

Send the GPU classes, regions and pricing types you need, and how often you need them.

Request pricing data