spotfloor

You picked the GPU. This tells you where to rent it. Spot and on-demand prices for every EC2 instance type, compared across every region, with 7-day history — and every price names the availability zone it came from, because you launch into a zone, not into a region.

  1. One row = one instance type in one region, priced at its cheapest zone. AZ spread is how much that regional number hid.
  2. Compare the rows, not the columns. The same H100 in two regions costs different amounts; that gap is the thing worth acting on.
  3. Tick rows to chart them, to plot one type across every region.

Still deciding which instance you need? → EC2 Instance Advisor weighs vCPU, memory, GPU and network against your priorities. This page picks up where that one leaves off.

availability: unknown AWS publishes no availability, so no row here claims any. This compares price only. Why — and what “price moves” is instead

Data fetched 2026-07-31 02:24 UTC · 15,277 rows · 17 regions · 1,345 instance types (59 with GPUs) · static snapshot

This is a snapshot, not a live view. These prices were read at 2026-07-31 02:24 UTC and written to a static page. Spot prices move continuously, so read every number as “what was true then”. Nothing here updates by itself.

For live data, clone the repo and run it against your own AWS account — uv run python scripts/serve.py --backfill.

Why “spot floor”?

AWS will not sell you a spot instance for less than a tenth of its on-demand price. Bid theory says a spot price should fall until demand meets supply. It doesn't. It falls to 10% of list and stops dead — no matter how idle the capacity, how unfashionable the instance, or how empty the region. That wall is the spot floor, and it is what this tool is named after.

It is not a rule AWS publishes. It is one you can see, which is why the numbers beside this paragraph are measured on the 15,277 rows currently in the table rather than quoted from anywhere:

  • 0.0995× is the cheapest spot price anyone here gets, as a fraction of on-demand — against a theoretical floor of 0.10×. Not one row of 15,277 goes below it.
  • 772 rows (5.1%) are pinned exactly to it — priced at the floor because there is nowhere further down to go.
  • 1.0000× is the most anyone pays. Spot is capped at the on-demand price too, so the whole market lives inside a band one order of magnitude wide.

Why it matters when you are picking a GPU. A row at the floor is at its structural minimum: waiting will not make it cheaper, and the only way to pay less is to launch the same hardware somewhere else. A row well above the floor has room to fall — and room to rise. Sort by Saves to see which is which.

Where the floor binds hardest
sa-east-1 21% 154/741
ap-northeast-3 13% 53/420
ap-northeast-2 10% 74/750
ap-south-1 9% 72/793
eu-west-3 7% 47/660

The floor applies at every price point — even p5.48xlarge in ap-south-1: $6.60/hr against $66.05 list.

Why availability is unknown, and what “price moves” measures

AWS does not publish spot availability. The nearest thing, Spot Placement Score, is computed against the calling account's quota and history — so a score fetched with this app's credentials describes that account, not your odds of getting capacity. spotfloor does not call that API and reports unknown rather than inventing a number. This is a price comparator; it does not claim to know what you can get.

“Price moves” is not availability either. It counts how many times the price changed in the window — a real fact from AWS's published history and a fair hint that a zone is contended. It is not a fulfillment probability.

17 AWS regions are not enabled on this account, so they cannot be priced and are absent from the table — not because they have no capacity, but because we were never able to ask: af-south-1, ap-east-1, ap-east-2, ap-south-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-6, ap-southeast-7, ca-west-1, eu-central-2, eu-south-1, eu-south-2, il-central-1, me-central-1, me-south-1, mx-central-1. Opting a region in is an account-level change, made in the AWS console under Account → AWS Regions.

Instance types
Regions
 

Price over 7 days — $/hr

Click rows below to plot them, to compare one instance across every region. Any sparkline opens the full chart.
Plot Instance Region $/hr? Cheapest zone? On-demand? Saves? AZ spread? Spec? $ per GPU? Price moves? Last 7d?

Price history

7 days, hourly buckets, cheapest zone per bucket. A break in a line is a bucket with no observation — never a zero.