GPU EconomyCloud GPU prices, read every hour
Latest read 97 providers tracked14,205 prices read in 24 h
H100 index$3.5334 providersWidestV100 32GB20.3×Mover, 7dV100−14.7%

How GPU Economy collects prices

Every number on this site was read from a page or API the provider publishes, by an automated parser that runs every hour. No price is estimated, averaged in from third parties or filled in by hand; a price listed in another currency is shown as listed, beside its USD figure at a dated official rate; and one figure is modelled, not read - cost per million tokens - and says so (below). This page explains what that means in practice.

These rules change, and a citation outlives the rule it was computed under, so every file carries methodology_version and each change is dated in the methodology changelog.

One unit: US dollars per GPU per hour

Providers quote in different shapes — per GPU, per 8-GPU node, per second, per instance with a bundled CPU. We store the quote exactly as listed, together with how many GPUs it covers, and the database derives the per-GPU-hour rate. Where a rate was divided, the page shows the original quote and the divisor next to it (for example, $49.24/node ÷ 8), so the normalization is auditable rather than silent. Per-second serverless rates are multiplied by 3,600.

Why every figure is one GPU, not one node

A price list mixes shapes: one card, a machine of two, four or eight, a card billed by the second. A median taken over those shapes as listed would put an eight-card node beside a single card and call both “an H100”, and the figure would move with the mix of machine sizes rather than with what a GPU costs. So every figure here is per GPU per hour, and three rules decide what one GPU-hour is:

An example from this build: Bitdeer AI lists 2 * H100 SXM with 2 H100 SXM cards at $4.72 an hour, read . $4.72 ÷ 2 = $2.36 per GPU-hour, the figure in the H100 SXM table and in the index. Anyone can repeat the division from the page the link opens.

What a figure covers: price scope

Providers sell different things under “per GPU-hour”. Every row carries a scope, shown as a tag next to the price wherever it is not a plain instance:

The median printed for a card — on its page, in the cards table, on /spread, /buy-vs-rent and the GPU comparisons — is the median rate card: each provider once, at its cheapest on-demand rate proper, with community capacity and marketplace floors left out, so a provider that lists many regions or tiers still has one vote. A median needs two providers: a card on one provider’s rate card shows that rate card, named, with the cheapest marketplace floor on its own line, and no break-even or median comparison. GPU-only and “from” rates stay in and carry their tag, so you can discount a figure that is not like-for-like. The Price Index excludes marketplace floors and withholds any week with fewer than 8 contributing providers. Where a page says cheapest on-demand or which provider is cheaper, it counts on-demand rates proper: community capacity (RunPod Community Cloud, on third-party hosts) and marketplace floors are listed as on-demand by their sources, but they can be reclaimed or move with supply, so they are shown beside and never decide a comparison or enter the median rate card. The scope is also a field in prices.json.

Every rate carries a risk tag. It answers one question - can the capacity be taken back while a job runs - and it is read off the market the rate is sold on, never off the provider: high for spot and community capacity (RunPod Community Cloud, marketplace floors), which can be reclaimed mid-run; medium for serverless, shared capacity billed by the second with no instance to hold, and for a shared GPU - a card other tenants use too, such as packet.ai’s Dynamic plan, which is never reclaimed but is not yours alone and, like community capacity, counts in no median and no “cheapest” (since September 27, 2026); low for on-demand and for every reserved term, where the capacity stays yours while it runs. What it does not measure: how reliable a provider is, whether a card is in stock, or the financial side of a commitment - a reserved rate is low risk to your run and still billed for hours the GPU sits idle, which is why a commitment's discount is shown against the same provider's on-demand rate rather than on its own. The tag is also a field, risk, in prices.json and prices.csv. It exists so that the cheapest line in a table, which is usually spot or community capacity, is not read as the price of a GPU you can plan a week-long run on.

Beside the median, from four rate cards, the site prints the middle half: the 25th and 75th percentile of the same rate cards, interpolated between neighbouring rates as Postgres percentile_cont does, so the 50th percentile is the median itself. The cheapest and the dearest rate are one quote each and can vanish or be a promotion overnight; the middle half does not move like that, and answers whether a quoted rate is high. It describes the observed rates; it is not a modelled figure. It is on /spread, on each card page, in gpus.json and, for the index quotes, in price-index.json.

Three price types, never mixed

Providers partition prices differently

The “region” column holds whatever the provider itself uses to split prices: a geography, a data center, or a tier such as RunPod's Secure and Community Cloud. Those are never averaged together. For marketplaces (Vast.ai) we record a trimmed floor — the median of the five cheapest verified, rentable, single-GPU offers, so one machine renting out does not move the figure — and label it as such. Multi-GPU machines on the same marketplace are a separate row, labelled “Multi-GPU machines”: a share of a 2-, 4- or 8-GPU machine is not a machine you can rent alone, so it never enters the single-GPU floor. That row shows the machine’s own price and its GPU count, and its per-GPU figure is that price divided by the count, from the machine whose per-GPU ask is the median of the five cheapest.

A floor is only a floor while the offers behind it are a market, so we publish one only when the window can carry it: at least three verified offers, and a median no more than three times the cheapest ask in the same window. Below that we publish nothing for that GPU rather than a number you could not find on the marketplace an hour later — with two offers the median is simply the dearer of the two, and with one it is a single machine. On 11 September 2026 a thinned-out book put an RTX 5090 on this site at $53.34 per GPU-hour for five hours; the guards date from the day after. When a read has no defensible floor for a GPU we already published, the row stays with its last floor and the time it was read, marked thin market and left out of every figure; the next read with a floor makes it live again. A GPU missing from Vast.ai here was never published: we had no defensible floor, which is not the same as an empty marketplace.

What is deliberately not on the site

The one modelled figure

Cost per million output tokens is the only figure we do not read from a page: a listed rate divided by a throughput NVIDIA published for that card, carried with the run that produced it - model, framework, precision, sequence lengths, concurrency and date - and a link to NVIDIA's page. Cards are not comparable on it, because NVIDIA runs each card in its own configuration; read it as a floor, never as a bill. It is published in /token-cost.json and through the MCP server; card pages showed it from the rule's writing until October 10, 2026.

Reading a rate table

Freshness and history

Prices are re-read every hour and stored append-only, so every figure has a capture time and the history is never rewritten. The changelog lists every change between consecutive reads; the Price Index is a weekly series on top of the same data. Each page states when its data was last updated.

When a source goes quiet

A parser that stops finding a price does not delete it: the row keeps the time it was last read successfully, and on its own that looks exactly like a price that has not changed. So every quote carries a status, measured against the newest scrape in the data. A quote read within the last 48 hours is live. After 48 hours without a successful read it is marked unconfirmed beside its price, with the date and time it was last confirmed; after 7 days it is stopped. A quote that is not live stays visible — a price that was real is still evidence — but it is never presented as current: it leaves every figure the site computes, including the Price Index, medians, cheapest rates, spreads, break-even months and comparisons. The status and the time of the last successful read are fields in prices.json, its CSV and its slices. A marketplace floor the parser read and withheld as too thin (see above) is not a quiet source: from that read on it is marked thin market, keeps its last floor with the time that floor was read, and leaves every figure in the same way until a floor is published again. A quote whose provider’s own page for that card answers “not found” in a read is not confirmed by that read: since October 9, 2026 it is marked unconfirmed from that read on, instead of staying live for the rest of the 48 hours, and is live again the moment the page prints a figure. The Price Index is computed in the database at each scrape and keeps its own 48-hour rule for such a quote. Each provider’s state is in the source table at the end of this page.

How old a listed figure is. The other half of the same question: a price can be current because it was read an hour ago and still be a number its provider set months back. Every live rate carries the date its figure was first seen at that value — our own hourly reads only — and as of , 335 of the 995 live rates have carried the same figure for 30 days or more; the middle one has stood 24 days, and the oldest change we have watched happen was on . That age is the provider’s, not ours: we re-read every one of these rates every hour, and a source that stops answering is marked above instead of ageing quietly. For 729 of them the figure has not moved since our first read of it, so the real age may be longer than we can prove — those say “unchanged since first read” beside the price, and the two cases are separate fields in prices.json (listed_since, listed_since_first_read).

How long a price has held

Next to the time a live price was read, every table says since when the provider has listed that exact figure: unchanged since the date of its last change. The comparison is made on the listed figure in the listed currency and the number of GPUs it covers, so an exchange-rate move on a listing in another currency is not a price change. It is computed from our own hourly reads only; the reconstructed SkyPilot history never feeds it. Where a price has not changed since we first read it, the label says unchanged since first read: the provider may have listed it for much longer, and we do not claim a date we did not see. A price that is no longer being confirmed shows when it was last confirmed instead. Both dates are fields in prices.json (listed_since, listed_since_first_read).

Change over seven days

Every live quote also carries its change over seven days: the listed figure now against the same quote’s figure seven days before the newest scrape, taken from its last read at or before that moment and within the 48 hours before it. Like the price age it compares the listed figure per GPU in the listed currency and uses our own hourly reads only. A card’s change is like-for-like: the geometric mean of its rate cards’ own changes, so a provider arriving or leaving does not move it. A marketplace floor is compared only with reads taken since its current estimator began on 8 September 2026, so a change of method is never printed as a change of price. Our own series began on 6 September 2026, so the first values appear on 13 and 14 September; a change over 30 days follows once 30 days of reads exist. The fields are listed_7d_ago, read_7d_ago_at and change_7d_pct in prices.json.

How the index series was made

The series starts with the week of September 7, 2026, the first week published. Every weekly value is computed from reads made in that same week - the newest read of each provider and region, counted only if it was confirmed within 48 hours of the week's last scrape - and published with its receipt, the list of those quotes. No value was entered by hand, reconstructed after the fact or carried over from an earlier week. Closed months are published as they were first published and never recomputed.

price-index-history.csv is a separate series under its own name, rebuilt after the fact from a public price catalog, whose repository is named at https://gpueconomy.com/methodology#second-hand-history, for the weeks before September 2026. It is second-hand, and it is never merged into or back-filled with this one. The same two sentences travel in price-index.json as history_provenance.

Second-hand history: the SkyPilot catalog

Our own scrape began in September 2026. To show what H100 rates did before that, the index page carries a separately named series rebuilt from skypilot-org/skypilot-catalog, a public price catalog committed by bots every few hours since 2022. For each ISO week we take the catalog’s state at the end of the week and record, per provider and GPU, the cheapest per-GPU on-demand instance, with a permalink to the exact commit. That makes every historical number verifiable in the catalog — but it is second-hand: we vouch that the catalog published it on that date, not that the provider’s page did. The series is stored and published apart from our own, under its own name, with its own coverage guard (at least 4 providers), and the two are never merged or back-filled into each other.

Price Index panel rules

The Cloud GPU Price Index is the weekly median of one number per provider and region. The panel is not chosen by hand; a quote is in if it meets every rule:

Entry and exit log, generated from the price history (34 providers in the current panel):

ProviderFirst seenLast seenStatus
RunPodin panel
Vast.aiexcluded: marketplace floor
Amazon Web Servicesin panel
Microsoft Azurein panel
CoreWeavein panel
Cudo Computein panel
Verdain panel
Google Cloudin panel
GMI Clouddropped: listing no longer found
Hyperstackin panel
Jarvislabsin panel
Lambdain panel
Modalin panel
Nebiusin panel
Oracle Cloud (OCI)in panel
Together AIin panel
Paperspacein panel
Scalewayexcluded: listed in EUR
Crusoein panel
Massed Computein panel
Denvr Dataworksin panel
Seewebexcluded: listed in EUR
Atlas Cloudin panel
Canopy Wavein panel
Civoin panel
HexGridin panel
Neysain panel
Gcoreexcluded: listed in EUR
Hyperbolicin panel
Taiga Cloud (Northern Data Group)in panel
Thunder Computein panel
Geoddin panel
GPU.aiin panel
Edgevanadropped: listing no longer found
STACKITexcluded: listed in EUR
Bitdeer AIin panel
TensorPooldropped: listing no longer found
VESSL AIin panel
Elice Cloudin panel
FPT AI Factoryin panel
Barrack AIin panel
HPC-AI.COMin panel
Liumexcluded: marketplace floor

What the index does not measure

Read the index as “what a public H100 rate card says this week”, not as the market-clearing price of H100 capacity.

Why another H100 index prints a different number. Three differences account for most of the gap between two H100 indices for the same week, and none of them makes either figure wrong. First, a posted rate against a transacted price: this index is the median of public on-demand rate cards, each linked to the page it was read from, while a transaction-based index such as Ornn’s OCPI (its methodology) is computed from executed rental prices that an outside reader cannot check one by one. Second, the panel: whether AWS, Azure, Google Cloud and Oracle are counted changes an H100 median on its own, and the index page prints the hyperscaler and specialist-cloud medians side by side. Third, the statistic: a median, as here, against a trimmed, interquartile or volume-weighted mean, which weigh the same quotes differently. Compare two indices by their method before comparing their numbers; this site does not print another index’s figures next to its own.

Indices that settle futures. Two other GPU rental indices are becoming reference prices for exchange-traded contracts. CME Group announced on August 11, 2026 that two cash-settled contracts, Silicon Data H100 Rental Index Futures and Silicon Data B200 Rental Index Futures, are to be listed on NYMEX from October 5, 2026, pending regulatory review, settled against Silicon Data’s hourly rental indices (CME Group’s release). Intercontinental Exchange announced on May 19, 2026 cash-settled GPU compute futures referenced to Ornn’s OCPI, subject to regulatory approval and with no listing date given as of September 19, 2026 (ICE’s release). That makes the difference a difference of subject, not only of method: a settlement index measures the price a contract pays out on; this index measures what providers publicly ask, each rate linked to the page that lists it. This site issues no contract on it (who publishes this). Since October 1, 2026 the index has a specification written for that reading. Settling an instrument on it is free under CC BY 4.0; a settlement licence adds the terms a contract needs and the free series does not bind us to (/data).

Retail prices

Purchase prices come from a server reseller’s own price list (ASA Computers) and from Google Shopping, which carries both stores selling on their own pages and sellers on marketplaces (eBay, Walmart and Newegg marketplace sellers, Alibaba, StockX). Every listing is linked, and every price says what kind of price it is: a store price (a seller’s own price on its own page), a marketplace listing (a seller’s asking price on someone else’s marketplace) or a completed sale (none tracked yet). An asking price is not a sale price, and a store price is not a marketplace ask, so a median is computed inside one kind and never across. A card gets a 30-day median only when three or more sellers carry it; the purchase price a card leads with is the store median where stores carry it, else the marketplace median, each named, and the other kind is printed beside it. Below three sellers the page shows the listings. A listing that disappears from its source drops out after 30 days. Accessory listings and implausible prices are filtered out.

Manufacturer list price

On consumer cards the site shows NVIDIA’s published starting price and the retail median as a share of it. That figure is reference data, not a scraped price: NVIDIA renders it with JavaScript, so it is read by opening the product page in a browser, stored with the URL and the date of that check, and re-checked by hand — it does not change hourly. Datacenter and workstation parts (H100, H200, B200, RTX PRO 6000) carry no published price at all, so no “% of list price” is shown for them; a figure with no verifiable denominator is exactly what this site does not publish.

What a page is made of

This site serves no JavaScript. Every price in every table is in the HTML our server sends, as a plain <table>, so a reader, a screen reader and a crawler that does not run scripts all get the same figures, with the same source link and read time. The only <script> elements on a page are JSON-LD — structured data, not code — and the check we run on every deploy (scripts/site-check.sh) fails if any other appears. The page controls (card, market, hours) are form inputs styled with CSS; the default state is written in the HTML as text. Changes: September 26, 2026 — first stated here; the rule has held since the first page was published.

What a link on this site is, written down before any link earns money, so that it can be held against us later.

Changes: September 11, 2026 — policy published; no referral links in use. September 19, 2026 — the Deploy button goes through a counting redirect of ours (/go/); source links on prices stay direct. The earlier wording, “never route them through a redirect of ours”, still holds for source links, which is what it described. September 25, 2026 — a counted Deploy click also carries the one-day visitor code of What we count about readers; the earlier wording said “nothing about the reader”. September 28, 2026 — the first referral link: Massed Compute, on its provider page, labelled, next to its direct links. Its self-serve programme pays in Massed Compute account credits. No price link and no Deploy button changed. The same day, referral links were added as a separate referral_url field to providers.json; and in the MCP server’s answers a provider we have a referral link for is linked by that link alone, marked as a referral link (the earlier wording, “never in place of it”, still holds for every page and file of the site). September 29, 2026 — the MCP server’s answers no longer mark that link or carry a note about it. Later the same day — the MCP server’s answers carry no referral link and no source link at all, only the GPU Economy page for each price, where the source link and any labelled referral link are; the September 28 exception is withdrawn. October 1, 2026 — the Deploy button (and Reserve on /reserved) goes to the provider’s referral link where we have one, without a mark on the button; the earlier wording read “it is not a referral link and adds nothing to the provider’s URL” and “a referral link appears as its own element … never in place of it”. Price source links are unchanged.

What we count about readers

Since September 25, 2026 this site counts its readers with PostHog (EU cloud), from our server, not from your browser. Changes: September 25, 2026 — first published with a one-day visitor code and no cookie; the same day, two first-party cookies set by the server (below); September 26, 2026 — a page view also carries your browser’s first language (below). September 29, 2026 — a Deploy click stored in our own database also records whether the browser returned our visitor cookie (yes or no, not the code), and only clicks with it are counted. October 1, 2026 — the reserved-quote form sends a view of its own (below). October 11, 2026 — a third cookie, ge_last, and a page-leave event with the time spent on a page (below). Everything collected, both forms and the MCP server included, is gathered in the privacy policy.

Who publishes this, and what it does not do

Before a price is worth citing, the question to put to whoever published it is who benefits from the number being what it is. Written down here, dated, while the answer still costs us nothing.

Changes: September 15, 2026 — section published; the publisher sells no capacity, issues nothing settled on the index, and owns no provider on the panel. October 1, 2026 — the first point, which read “GPU Economy sells, resells and hosts no GPU capacity, brokers none, and takes no commission on anything a reader rents from a provider listed here”, now allows a provider’s fee on a reserved-quote request that becomes a contract, and says how requests are routed. October 3, 2026 — the providers with a referral link of ours are named here, read from the data at each build; before, only their number stood in the link policy above.

Using the data

The Price Index is published under CC BY 4.0, with JSON and CSV downloads; prices.json carries every current quote with its source URL. Attribute as “GPU Economy” and link the page you used.

Sources, as of

99 of 105 listed providers are scraped, covering 79 GPU models; 97 of them confirmed their prices in a read within the last 48 hours of the data.

ProviderSourceStateNotes
Cudo Computepublic API
endpoint
live · 3 rowsPublic machine-types API. gpuPriceHr is the GPU component only - vCPU/RAM/storage billed separately, a runnable instance costs more.
GMI Cloudpricing page (HTML)live · 4 rows—
Nebiuspricing page (HTML)live · 6 rows—
RunPodpublic API
the endpoint answers only this request (schema):
curl -s https://api.runpod.io/graphql -H 'content-type: application/json' -d '{"query":"{ gpuTypes { id securePrice communityPrice } }"}'
live · 65 rows—
Vast.aipublic API
endpoint
live · 57 rowsauction pricing, API only; trimmed floor of the 5 cheapest verified single-GPU offers, withheld when the window cannot carry a floor (fewer than 3 offers, or a median over 3x the cheapest ask)
Hyperstackpricing page (HTML)live · 24 rows—
Jarvislabspricing page (HTML)live · 7 rows—
Lambdapricing page (HTML)live · 10 rowsPricing page lists per-GPU rates for 1x/2x/4x/8x configs (old per-node note is stale). 1-Click Cluster reserved rates are contact-sales, not scraped.
Modalpricing page (HTML)live · 11 rowsper-second serverless
OVHcloudpublic API
endpoint
live · 5 rowsUS catalog in USD (L4/L40S); H100/A100/H200 come from the French catalog in EUR, shown with the ECB rate.
Scalewaypricing page (HTML)live · 9 rowsPrices in EUR (fr-par, pl-waw), read from the pricing page data; shown with the ECB daily rate. Not in the Price Index (USD listings only).
Together AIpricing page (HTML)live · 7 rows—
Verdapublic API
endpoint
live · 24 rows—
Vultrpublic API
endpoint
live · 7 rowsbare-metal plans endpoint /v2/plans-metal (keyless); a rate is published only where the endpoint says the plan can be deployed that way (deploy_ondemand, deploy_preemptible), so eight plans that state an hourly_cost while saying deploy_ondemand:false are not published as on-demand rates; preemptible recorded as spot, and skipped when equal to the plan's own on-demand price (the same figure twice); the fractional cloud GPU plans in /v2/plans are not read
Akamai Cloud (Linode)public API
endpoint
live · 2 rowsGPU plans from api.linode.com/v4/linode/types (keyless): price.hourly per plan and its GPU count; cheapest plan per GPU kept per card, smallest on a tie. The pricing page returns 403 to our client and is not read. No regional GPU prices.
Amazon Web Servicespublic API
endpoint
live · 13 rowsEC2 on-demand, Linux, us-east-1 only; instance price stored per node with GPU count (p5 = 8x H100). Spot needs signed API calls - not recorded.
Atlantic.Netpricing page (HTML)live · 6 rowsplan table: on-demand, 1-year and 3-year, monthly with hourly = monthly / 730
Atlas Cloudpricing page (HTML)live · 2 rowsOn-Demand GPU Pricing cards, per GPU; the page title advertises "H100 from $2.49" which no row prints, and only rows are read.
Bamboozle Web Servicespricing page (HTML)live · 3 rowsStatic WordPress HTML: under "Plans & Pricing / GPU Instances" one tab per card (T4 16 GB, A100 80 GB, H100 80 GB), each a table Flavor | GPUs | vCPU | RAM | Hourly | Monthly with 1x-8x rows, linear in the count. The 1x row is read, per_gpu, gpu_count 1, on_demand, scope instance (vCPU and RAM included), instance the flavor name (GPU_H100_1x). Region "Dubai DX1" read from "All GPU VMs deploy on Dubai DX1". H100 form factor not printed -> h100. H200 "on request", no row. "All prices in USD", no word on VAT
Barrack AIJS-rendered pagelive · 8 rowsSingle-page app: the served HTML is a shell with no figure, so the page is rendered (_render, our user agent) and the "GPU Pricing" card is read with its defaults, USD and Per hour - one "$N/hour" row per GPU. H100-PCIe-80GB and H100-PCIe-NVLink-80GB are both h100-pcie (80 GB); the cheaper is the quote, the row name is the instance. per_gpu, gpu_count 1, scope instance, on_demand, region null; EUR and INR buttons not read; no word on VAT. Card names match Hyperstack flavours - not stated whether it runs on that capacity
Basetenpricing page (HTML)live · 6 rowsdedicated deployments per minute x 60, instance; bare H100 unmapped
Beampricing page (HTML)live · 12 rowson-demand machines "from", serverless GPU per second
Bentauspricing page (HTML)live · 2 rowsAMD only: the MI325X card page, its two priced tiers (On-Demand, Reserved) per GPU-hour. The NVIDIA B300 page prices both tiers as a band and is not read - one end of a band is not a rate. No SKU, term or location is published beside the figures
Bitdeer AIpricing page (HTML)live · 12 rowsNext.js pricing page draws its GPU Model Pricing table from /api/gpu-pricing (code 2000, data[]: model, details[] with cards, price, year1.price, year3.price; USD per hour for the size); read as JSON, not rendered (the page script falls back to a built-in list with other figures); every figure printed "from" -> advertised_from; one quote per card and market at the lowest price per GPU, smaller size on a tie (to the cent); markets on_demand, reserved_1y, reserved_3y; region null; source_check FIGURE_BESIDE_THE_LINK (page loads JSON; commitment figures rounded to the cent on the page)
Canopy Wavepricing page (HTML)live · 2 rowsPrice/Hour/GPU, the same for 2x/4x/8x SXM5 sizes; one per-GPU quote per card, the smallest size named. Get Quote rows (B200, GB200, B300) carry no price.
centronpricing page (HTML)live · 5 rowsStatic GPU table (GPU, VRAM, € per hour*, € per month), columns by header; VRAM cell must equal the mapped card's memory; gpu_only (VM resources vCPU/RAM/SSD priced in a second table); hourly figure as printed, rounded per the page's footnote (month = 720 unrounded hours); EUR net of VAT ("All prices are subject to statutory VAT", businesses only); on_demand, per_gpu, region null (one data centre, Hallstadt)
Cerebriumpricing page (HTML)live · 10 rowsserverless GPU per second x 3600, GPU only; bare H100 unmapped
Civopricing page (HTML)live · 20 rowsOne table per GPU; the 1 x size read (larger sizes are exact multiples); on-demand plus 12- and 36-month commitments, the 6- and 24-month terms not recorded. H100 table headed H100 SXM.
Clore.aipublic API
endpoint
live · 35 rowsmarketplace, keyless feed; trimmed floor of the 5 cheapest verified single-GPU on-demand listings, withheld when the window cannot carry a floor (fewer than 3 listings, or a median over 3x the cheapest ask); the feed prices per day and the renter fee is read from /marketplace/renter_fees each run, so the figure is price * 1.05 / 24; spot bids and multi-GPU machines not read
Cloud.ru Evolutionpricing page (HTML)live · 6 rowsRUB listing, VAT included as printed: the tariff annex prints each hourly rate with VAT, without VAT and the 22% VAT apart, and the with-VAT column is published (owner's decision 2026-09-28). Scope instance - whole GPU virtual machines with their own vCPU and RAM, шт./час. One quote per card, the lowest price per GPU, per node with the count read from the row's name (also the instance label). Region null: the annex names none. Names: "H100 94 GB PCI без NVLink" is h100-nvl, "H100 PCI без NVLink" h100-pcie (the 94 GB card is priced apart and dearer), "H100 NVLink" the neutral h100, "A100 40Гб PCI" a100-40; the memoryless "A100 PCI без NVLink" (11 rows, the cheapest A100s) is reported unmapped, not guessed
CloudRiftpricing page (HTML)live · 18 rowsper-GPU table: on-demand, 1-month and 3-month; "Upon request" on-demand skipped
CoreWeavepricing page (HTML)live · 22 rowsRate card priced per 8-GPU HGX node - parser stores per_node with gpu_count, DB derives per-GPU. GB200 and B300 on-demand are quote-only; B300 spot is published.
Crusoepricing page (HTML)live · 6 rowsBlackwell quote-only
Dataoortspricing page (HTML)live · 6 rowsFour books on one page, each published as its own series in the region column; the figure recorded is the two-decimal one the page prints; Nova spot is exactly half its on-demand rate (the provider's own rule); the X-Series prices no card and the marketplace is behind a login, so neither is read; a book that does not answer is skipped rather than failing the provider
Daytonapricing page (HTML)live · 16 rowsGPU list on the pricing page: Preemptible ($/hour) read as spot, On-demand ($/hour) as on-demand; vCPU, memory and storage billed separately (gpu_only). Bare H100 is the neutral h100; RTX PRO 6000 names no edition.
Deep Infrapricing page (HTML)live · 5 rowsthe "Custom LLMs" GPU-hour table only; the per-token model lists and the contact-sales DGX clusters on the same page are not read; bare H100 80GB is the neutral h100
Denvr Dataworkspricing page (HTML)live · 5 rowsper-GPU table; "Reserved only" rows skipped; on-demand billed by the minute
E2E Networkspricing page (HTML)live · 12 rowsper GPU-hour USD table; raises on a non-USD figure; bare H100 unmapped
EcoHashpricing page (HTML)live · 1 rowGPU Compute table, per GPU-hour, one card on 2026-09-26 (RTX Pro 6000); the rest of the page is per-token model pricing.
Edgevanapricing page (HTML)stopped · 27 rows · last read Fleet index, 72 GPU models, 489+ configurations across 15+ locations; one row per model, so every rate is the cheapest configuration (advertised_from). Nodes, the GPU- naming family, Pre-order rows and rows beyond 3x this site's median are reported, never published; two rows for one card give one quote at the cheaper.
Elice CloudJS-rendered pagelive · 6 rowsRendered ECI pricing page; one drawn table Instance | vRAM | CPU | RAM | Spot | On-demand | Reserved, rows 1x-8x. Each Spot and On-demand cell prints a discount, a struck-through list figure and the charged $N/hr - only the charged figure is read, columns by header name, 1x rows only (larger sizes are the 1x rate times the count). Reserved reads Contact sales, not read. Scope instance (vCPU and RAM in the row); instance = the row id (G-NHHS-80); region null; on_demand and spot, per_gpu; USD as printed on the English page, no word on VAT
EmpirioLabspricing page (HTML)live · 23 rowsGPU Cloud table: one row per card (name, VRAM, availability, $/hr); an "N-GPU node" row is a node price with its count; "0 available" rows are published as listed; bare H100 is the neutral h100. /pricing is per-token and not read.
Envergepricing page (HTML)live · 2 rowsCatalogue on the home page (/pricing is a 404); single-GPU rows only - the DGX Spark GB10 is not a tracked card.
falpricing page (HTML)live · 5 rowsServerless list price per GPU-hour, instance scope; "As low as" column (custom deployments via sales) not read; Compute rates are dashboard-only; bare H100 is the neutral h100
Fireworks AIpricing page (HTML)live · 5 rowsOn-Demand Pricing table only (GPU Type, price per minute, price per hour): the per-hour column is read, the per-minute one cross-checks it within 2% and raises otherwise. H100 and H200 carry the same rate, which is the provider's own choice - each row's two columns agree and the three Blackwell rows differ. Per-million-token lists and the Dedicated Training API, which points at these same rates, are not read.
FPT AI Factorypricing page (HTML)live · 5 rowsStatic pricing page with five service tabs in one document; only the GPU Virtual Machine tab (data-service=gpu-vm, Local and Block Storage groups) is read, the 1x row of each card (sizes 1x-8x are linear). A card in both groups is one quote; the container tab repeats H100/H200 and is not read; inference tabs not read. Caption memory must equal the mapped card; region = the caption's location (Southeast Asia, Japan); scope instance; on_demand, per_gpu; USD as printed, no word on VAT
Gcorepricing page (HTML)live · 9 rowsthree products on one page, each read under its own name in the region column (Bare Metal GPU Clusters, Everywhere Inference, Virtual GPU); prices listed in EUR and converted with the ECB rate, so out of the Price Index; bare 1xH100 names no form factor and is the neutral h100; the GB300 NVL72 column prints no rate and is not read
Geoddpricing page (HTML)live · 7 rowsGPU Clusters catalogue read from the "gpuPricing" array the pricing page carries in its head; the smallest configuration of each card is published and the exact multiples above it are not; the catalogue's two disagreeing 8-GPU H100 rows ($24.00 and $25.00) are both left out by that rule, since the H100 is sold as a single card too; serverless token pricing and the Dedicated Inference tab (the same hourly figures once per model) are not read
Google Cloudpublic API
endpoint needs a key of your own
live · 29 rowsCloud Billing Catalog API (needs GCP_API_KEY). Plain per-GPU-hour SKUs in US regions, cheapest region kept; commitments/reserved/DWS skipped. GPU component only - A3/A2 VMs bill CPU and RAM separately. Some spot SKUs carry usageType OnDemand; type is decided from the description.
GPU.aiJS-rendered pagelive · 21 rowsrendered page (the served HTML prints no figure at all); the "Live platform rates" table only, refused if its footnote or column labels are gone; every rate advertised_from; the tier word beside the card name is the market (community / on_demand), and a community rate equal to the plain one is the same figure twice and dropped; region null - the page names a count of regions, never a place; the catalogue reprices within the hour
Hetznerpublic API
endpoint
live · 1 rowGPU matrix read for the products and their keys, Hetzner's own keyless price endpoint for the hourly figure under each; the composite product key is read from the page, never assembled, and the endpoint answers it as one product; all three datacenters (FSN1, NBG1, HEL1) carry the same figure, so one quote with no region; the one-off setup fee and the monthly price are not read; GEX45's RTX PRO 4000 Blackwell SFF Edition has no id on this site and stays unmapped
HexGridpricing page (HTML)live · 12 rowsSecure Cloud list, one row per card, the GPU-hour rate (not the per-GB-of-VRAM figure beside it); A100 80GB PCIe and SXM one card here, cheaper kept.
Hikubepricing page (HTML)live · 6 rowsConfigurator catalogue in the served page (flight payload), "GPU as a Service" group: per-month CHF price per GPU SKU, published per hour as monthly / 730 (the page states the divisor; owner's decision 2026-10-08, source_check MONTHLY_DIVISOR_STATED); gpu_only; net of VAT; one catalogue for three Swiss DCs, so region null
HivenetJS-rendered pagelive · 1 rowRendered pricing page (cells served as "-", filled by a script from the presets API, which picks one preset per name across locations - france-2 for the RTX 5090); data-price="<n>x-<GPU>" spans, vCPU rows skipped, only the 1 x row read (larger sizes same rate per GPU); scope instance (8 vCPU, 73 GB RAM, 125 GB disk included); on_demand, per_gpu, region null; EUR before tax ("Applicable taxes may still be added")
Hostingerpricing page (HTML)live · 7 rowsSeven GPU cards from the "Find the GPU that fits your workload" section. Each rate is checked against the credits figure beside it (100 credits to the dollar) and each card's stated VRAM against the card it maps to; both raise or drop rather than publish a figure they cannot reconcile. The B200 is two products (ids 6 and 5), so two quotes, the dedicated one labelled in region. RTX PRO 6000 (Server) is the 96 GB Server Edition, not the Max-Q.
Hot Aislepricing page (HTML)live · 1 rowMI300X per GPU: the VM rate as on-demand (billed by the minute). Not read: 8x bare metal (a one-month commitment priced above the VM, a different product) and the grandfathered rate for existing customers
HPC-AI.COMpricing page (HTML)live · 4 rowsNext.js pricing page, every figure in the served HTML; only the On-Demand Cloud GPU table (section cloud-gpu-price-info) is read, the served "Per card" column "From $N /gpu/hour" under the note "we support full-machine rentals with 8 cards only" - per_gpu as printed, instance "<card>, 8-card machine". Reserved reads Contact Sales; Batch Jobs (B200 from $3.50) is a queued service, not read; meta-description figures are not on the page and never read. RTX-4090 printed with 40 GB VRAM -> unmapped. Scope advertised_from; on_demand; region null; USD as printed, no word on VAT
Hugging Facepricing page (HTML)live · 10 rowsInference Endpoints GPU list: the 1-GPU size per card (larger sizes are exact multiples), region = the cloud the row names (aws). The Spaces hardware table repeats the figures and is not read. Bare H100 is the neutral h100.
Hyperbolicpricing page (HTML)live · 3 rowsthe "Starting From (per GPU hour)" rate card only, sliced between its own header and its closing note; every rate is advertised_from; the competitor comparison on the same page prints multiples and no rates and is not read
immers.cloudpricing page (HTML)live · 13 rowsRUB listing; ready-made VMs per card, price includes SSD and external IP (scope instance); one quote per card, the lowest price per GPU, per node with its GPU count; prepayment discounts (10-25%) print no per-row rate and are not read; VAT: the company states it is exempt (art. 145.1 of the Tax Code, FAQ); H100 80 GB names no form factor (neutral h100)
Inferlesspricing page (HTML)live · 3 rowsDedicated rows only - the Shared row of each card is half of it (memory and vCPUs halved); per-second and per-hour columns are the same figure, the hourly one is read; no region printed
Infomaniakpricing page (HTML)live · 4 rowsPrice page draws its tables from a Gatsby static query (page-data.json -> staticQueryHashes -> sq/d/<hash>.json with apiPublicCloudPrices); GPU flavours nvt4/nvl4/nvl40s/nva2, the cheapest flavour per card, instance scope, CHF_excl_tax; nvl42/nvl44 (count not stated) and nva100 (memory not stated) not read; source_check FIGURE_BESIDE_THE_LINK (page loads JSON); region null
Intelion Cloudpricing page (HTML)live · 4 rowsRUB listing, Moscow, VAT included as printed ("price for the card itself, with VAT; vCPU, memory and disk are added"), so scope gpu_only; converted at the Bank of Russia rate of the day; only cards with a configurator link are read - H100 SXM and H200 had none on 2026-09-28 and their own pages printed other figures beside "currently absent"; the 48 GB RTX 4090 is a modified board, unmapped
IONOS Cloudpricing page (HTML)live · 1 rowEUR price list (v2026-09-15), Cloud GPU VM templates; smallest template per card read (the larger ones are exact multiples); "H200 PCIe" = h200-nvl; net of VAT; one list for every data centre, so region null
Koyebpricing page (HTML)live · 9 rowsserverless GPU instances, whole-instance hourly price; bare H100 unmapped
Krutrim Cloudpricing page (HTML)live · 2 rowsGitBook ARIA table "GPU Flavor | GPU Type / Count | RAM | GPU Memory | vCPUs | Unit | On-Demand Price | Monthly Reserved | 6 Month Reserved"; on-demand column only (1- and 6-month terms are no market of ours); AI Pods table not read; whole VM -> instance; cheapest per GPU, smaller flavour on a tie; A100 80GB -> a100-80, H100 (NVLink, 80 GB) -> h100; INR via ECB, the page says nothing about GST; region null
Leafcloudpricing page (HTML)live · 4 rowsEUR listing, Amsterdam, VAT excluded; the hourly per-GPU figures come from the page's GPU comparison table (Leafcloud's own row only), each checked against the monthly rate card over 730 hours and the flavor's card count; commitment discounts are offered but no committed rate is printed, so none is read
Liumpublic API
endpoint
live · 3 rowsmarketplace, keyless public nodes feed (/api/public/v1/nodes, lists only nodes rentable now); trimmed floor of the 5 cheapest verified asks, withheld when the window cannot carry a floor (fewer than 3, or a median over 3x the cheapest); verified = tier secure and reliability_score >= 95 (Lium's 14-day score, owner's rule of 2026-10-17); single-GPU book = nodes taking an order of one GPU, at price_per_gpu_hour; multi-GPU book = nodes of 2+ GPUs taking no order below two, wholly free, at price_per_node_hour; spot tier not read; links the card page named in /pricing.json
Lyceumpricing page (HTML)live · 11 rowsOn-demand VM table only (after "Full root access"); the serverless and endpoint tables are other products at other prices. Bare H100 is the neutral h100.
Massed Computepricing page (HTML)live · 13 rows—
Microsoft Azurepublic API
endpoint
live · 41 rowsRetail Prices API, Linux VMs; cheapest region per SKU kept, region = armRegionName. ND/NC series priced per VM, stored per node with GPU count. Spot recorded; Low Priority skipped.
MimicPCpricing page (HTML)live · 4 rowsStatic HTML: one grid headed "Hardware Configuration", four machines (Medium T4 16 GB, Large and Large-pro "L4•A10" 24 GB, Ultra L40S 48 GB) and two price rows, "Instant Access" (on_demand) and "Bargain Access" (spot: "can be interrupted if market demand rises or your bid is exceeded"), each "$N / h". Only machines naming one card are read; "L4•A10" names two and goes to fetch.unmapped. per_gpu, gpu_count 1, scope instance (machine RAM and app workspace included), instance the tier name, region null. Monthly plans buy credit at the same rates, not read. No word on VAT
Neysapricing page (HTML)live · 4 rowsAI Cloud VM rates per GPU marked "Starts at" - advertised_from. The 36-month reserved monthly figures are not converted; Pricing on request rows carry no price. India, USD.
Northflankpricing page (HTML)live · 5 rowsGPU per hour, CPU and memory priced as separate units; bare H100 unmapped
Nova Cloudpricing page (HTML)live · 3 rowsOn-demand per-GPU figure of each card; multi-GPU sizes are exact multiples; interruptible and reservation prices are switched by script and not read.
Oracle Cloud (OCI)public API
endpoint
live · 14 rowsPublic price list API, already per GPU per hour, single global list price. Cloud@Customer SKUs skipped.
packet.aipricing page (HTML)live · 7 rowsTwo plans priced per GPU-hour and read as two quotes, the plan in region: Dedicated (whole card, single-tenant) and Dynamic (shared card, same peak performance and VRAM); "Launching soon" cells and the quoted Clusters plan publish no price; the page's comparison table of other providers is not read
Paperspacepricing page (HTML)live · 24 rowsTwo product lines at different prices, kept apart by the region label: Paperspace machines (docs pricing tables, H100 $5.95) and GPU Droplets (digitalocean.com, H100 $4.41 on-demand, $3.26 reserved 12mo). Nodes recorded per_node. AMD MI300X/MI325X and the P/Quadro series are not tracked.
Phala CloudJS-rendered pagelive · 3 rowsRendered GPU TEE page, one card per GPU (Memory, Bandwidth, Region, Scale, two prices). First price read by its label: On-demand ($/GPU/hr, 24h minimum) -> on_demand, min_commitment 24h; 1-month (30d minimum) -> reserved 1mo. The Slot "reserved" price names no term, not read. Memory line must match the card; NVIDIA H100 -> h100 (no form factor printed). Scope instance (confidential VM per GPU, TDX and attestation included); per_gpu, region null; USD as printed, no word on VAT
QuantaCloudpricing page (HTML)live · 7 rowsCatalogue of launchable configurations (35 at 10:10 UTC on 2026-10-05, seven cards; the catalogue changes within the hour). Cheapest single-card configuration per card is published; larger node sizes and dearer host sizes are read and not published. Form factor read from the catalogue (H100 PCIe; A100 PCIe 80GB $1.48 published over A100 SXM4 80GB $1.50, one id here). Only rows the page calls "Available now". The instance-hour rate and the per-GPU-hour rate must be the same figure or the row is reported unmapped.
Replicatepricing page (HTML)live · 4 rowsself-serve hardware table only, hourly figure as printed, instance scope (CPU and RAM included); Additional hardware (H200, 4x/8x) is by committed-spend contract and not read; bare H100 is the neutral h100
RunComfypricing page (HTML)live · 4 rowsStatic GPU Machine table (GPU Machine, Pay as You Go, Pro), found by its first header; Pay as You Go column only (Pro needs a monthly subscription). Only machines naming one card are read - "T4, A4000", "A10G, A5000", "L40S, L40" name two and are reported; the VRAM figure must equal the mapped card's memory. The training "special rate" table is another product, not read. Scope instance (the machine with its vCPUs and RAM); instance = tier name; on_demand, per_gpu, region null; USD as printed, no word on VAT
Saladpricing page (HTML)live · 64 rowsstatic salad.com/js/pricing.js (keyless), the file /pricing/ loads to fill its own empty table: a literal of [name, VRAM, High, Medium, Low, Lowest] per GPU class, in the order the table head prints. Four quotes per card, the tier in region; High is on_demand ("Never preempted by other workloads"), Medium/Low/Lowest spot ("May be preempted"); market community, scope instance (the page states vCPU and RAM are included with every GPU). Not read: CPU-only container groups, Salad Dedicated (reserved, quoted per term), volume and Private Cloud (talk to sales), and the portal classes advertised "from $0.015 per GPU-hour", which is a floor for an unnamed set. Raises if the SALAD_GPU_PRICES marker is gone, if no row is priced, or if the tiers are not in High-to-Lowest order, the rates being read by position.
Seewebpricing page (HTML)live · 20 rowsEUR per GPU (bundle.js: rate x GPU count); 12-month rate as reserved_1y; spot not read (tooltip and script disagree)
Selectelpricing page (HTML)live · 3 rowsRUB listing, scope advertised_from (every rate is printed "От"). Only the hourly cloud-server cards are read: the same page prices managed Kubernetes node groups at their own rate and dedicated servers per month, and neither is this product - that is what two cards printing 579,94 and 509,10 for one 2x RTX PRO 6000 turned out to be. instance is the link's flavor id, region the pool it opens (ru-6). One quote per card, the lowest price per GPU, per node with the count from the GPU row. "RTX PRO 6000 (96 ГБ)" and "RTX 6000 PRO (96 ГБ)" are two spellings of one card (flavor 13980); bare "H200" is the neutral h200. The server sends no charset, so the page is decoded as UTF-8 explicitly. VAT: the page says nothing about it for these rates
Servercorepricing page (HTML)live · 4 rowsStatic GPU table (GPU, Total memory, Hourly price, Monthly price, Bandwidth), columns by header; each price cell prints the same figure in EUR, USD, KZT, KES and UZS as separate elements - the USD element of the hourly column is read as printed; memory cell must equal the mapped card's memory; scope instance (minimum VM: 8 vCPU, 16 GB RAM, 5 GB SSD); on_demand, per_gpu, region null; no word on VAT. Separate price list from selectel (selectel.ru, RUB)
STACKITpdflive · 3 rowsPDF price list (pypdf text layer, providers/_pdf.py), section "Compute Engine GPU": GPU Server-nX.YYd.gN-EU01 rows, price per hour EUR net; card per n-family read from docs.stackit.cloud machine-types page (n1 A100 80 GB, n2 L40S 48 GB, n3 H100 HGX 80 GB), GPU count from gN; one quote per card, the cheapest per GPU (smallest server on a tie); region Germany South
SwissGPUpricing page (HTML)live · 7 rowsCHF listings (first non-EUR/RUB currency on the site), converted by to_record at the ECB rate of the day; electricity at 0.30 CHF/kWh is billed separately and is NOT in the rate; the page prints the same list twice (narrow and wide) and the two copies must agree or the read raises; the architecture is not part of the card name ("RTX 4080 Ada Lovelace" is the RTX 4080) while "RTX 6000 ADA" 48GB and "RTX 6000 PRO" 96GB are two different cards told apart by the memory the wide copy prints; no instance label on the page, so instance is null
SynpixCloudJS-rendered pagelive · 10 rowsrendered page (the served HTML prints no rate); only rows the table marks Available are published, so a card whose every configuration is out of stock is not quoted at all (the H100 and the RTX 4090 on 2026-09-30); one quote per card, the smallest available machine, larger machines under 1% cheaper per GPU and not published separately; a row whose VRAM is not its card memory times its GPU count goes unmapped (a 48 GB "RTX 4090PLUS" sits beside the 24 GB RTX 4090); the A800 40GB and the 4090PLUS are deliberately unmapped
Taiga Cloud (Northern Data Group)pricing page (HTML)live · 2 rowstwo GPU tables on one static page, bare metal and on demand, both per GPU-hour and both "from"; the cheaper row per card is published and the instance label names its table; vCPU, storage and support tables not read
TensorPoolpricing page (HTML)stopped · 5 rows · last read Static pricing page comparing Lambda Labs, TensorPool and Traditional Clouds in three cards and a grid; only the card headed TensorPool ("GPU COSTS / HR") is read, N/A is no price, the CPU line skipped; scope gpu_only (CPU $0.015/hr and storage priced apart); on_demand (grid category ON-DEMAND), per_gpu, region null; USD as printed, no word on VAT
TensorWavepricing page (HTML)live · 3 rowsAMD Instinct only: MI300X, MI325X and MI355X, each on its own product page as "Starting at $X /GPU HR" - recorded as advertised_from. MI455X has a page and no price. NVIDIA cards, if any appear, stay unmapped by design
TheAI Cloudpricing page (HTML)live · 1 rowreserved only: whole 8x B300 SXM 288GB node, Atlanta; 36-month row read as reserved_3y per node (8 GPUs); 24-month row not read (no market); on-demand "planned"; the comparison table of other providers' rates is never read
Thunder Computepricing page (HTML)live · 4 rows1x price list only (2x-8x are exact multiples); instance at its smallest configuration, extra cores an add-on; the "(*)" after GPU/hr has no footnote on the page; H100 is PCIe
Trooper.AIpricing page (HTML)live · 11 rowsStatic HTML table, one row per server type (Blib): GPU "1-6x RTX A4000 16 GB", RAM/cores/disk ranges, a struck-through Price (EUR/h) and a +15% Promo Price that is the Price over 1.15 (bonus credit on deposits this month) - the Price is read and the relation checked per row. Scope advertised_from (the row is a range of configurations priced at its smallest; the featured M1 plans print more). per_gpu, gpu_count 1, on_demand, region null, instance the Blib name. RTX 4090 48 GB and RTX 4080 Super 32 GB (modified boards) and RTX Pro 4000 Blackwell (edition not said) not mapped. "All prices are final", no word on VAT
VESSL AIpricing page (HTML)live · 3 rowsStatic Container Compute table (GPU, VRAM, Architecture, On-Demand), found by the On-Demand header; the small-screen cards repeating it are not read; the Reserved VM Cluster table ("Quoted by term") has no figure. VRAM cell must equal the mapped card's memory; scope instance (a container per GPU, no CPU/RAM priced beside it); on_demand, per_gpu, region null; USD as printed, no word on VAT
Yandex CloudJS-rendered pagelive · 6 rowsRendered price list (providers/_render.py) of the one service Compute Cloud - GPU; rows with unit "GPU × час" only, gpu_only scope (vCPU and RAM are separate lines); RUB with VAT as printed ("Все цены в рублях и тенге указаны с НДС"); обычной ВМ = on_demand, прерываемой ВМ = spot; a row not in force today by its Действует с/до dates is skipped; V100 32 GB, A100 80 GB, T4 16 GB per /ru/docs/compute/concepts/gpus; Gen2 (80 GB), GPU PLATFORM V4 (141 GB) and T4i name no NVIDIA card and are unmapped; instance = product name; region null
YTL AI Cloudpricing page (HTML)live · 1 rowStatic "On Demand GPU" box (GPU Model, Memory/Bandwidth, Price (per hour)) of Bootstrap div rows; memory cell must start with the mapped card's 192GB; gpu_only (object storage is its own box); MYR via the ECB cross rate; the page says nothing about tax; on_demand, per_gpu, region null (hosted in Malaysia); committed-use discounts via partners print no figure
Sestercepricing page (HTML)live · 17 rowsHome page offer table (static HTML) - "From / GPU / hr" on-demand rates, recorded as advertised_from. H100 and A100 rows fold SXM and PCIe into one model and are not mapped.
TensorDockpublic APInot scrapedNOT SCRAPED: marketplace API returns an empty hostnode list after the Voltage Park acquisition (checked Sep 2026). Re-check later.
CloudPepricing page (HTML)not scrapedINR listing, GPU tab of the pricing page only. Hourly column read; Monthly and Annual (12 %) are month-prices with no term named, so no reserved rate is made of them. Cheapest single-card configuration per card (L4 has three host sizes); x2 and x4 nodes are reported unmapped, not published. Scope instance: each row names vCPU, RAM and NVMe. "NVIDIA RTX Pro 6000" prints no memory or edition and maps to rtx-pro-6000. No GST or tax mentioned on the page. The server sends no charset; the body is decoded as the UTF-8 the page declares.
Cyfuture AIpricing page (HTML)not scrapedINR listing, read as printed (the page mentions no GST). On-demand only: the 1/6/12-month reserved columns are a commitment. Scope instance - a whole instance with its own vCPU and memory. One quote per card, the lowest price per GPU, smaller instance on a tie; per_node with the GPU count read twice (from "8xH100" and the "(8X)" suffix) and skipped when the two disagree. Cards are mapped by name and by the memory printed per card, which keeps out the 32 GB V100 (ours is 16), the MI325X the page prints with 192 GB (the card has 256), the 8xL40S row printing 1536 GB for eight 48 GB cards (its 4x row is the quote) and Intel Gaudi 2. The B300 has no on-demand rate ("-", reserved only) and is not a quote. Refused 2026-09-24 as on_hold for the currency alone; taken after the owner's decision of 2026-09-28
ionstreampricing page (HTML)not scrapedthe accelerator line-up on the solutions page, which is where ionstream prices its cards - there is no pricing page; both rates are advertised_from; the Vera Rubin card carries no figure and is not read
Latitude.shpublic APInot scrapedbare metal
Voltage Parkpricing page (HTML)not scraped—

Data updated: