gpudiff the public record of change in GPU cloud pricing
Follow the diffs: RSS · Free API · Sponsor this site

Methodology

gpudiff records the price of renting GPUs in the cloud, continually, with a changelog of every move. Here is exactly how the numbers are made.

Identity: a GPU memory configuration is a product

An H100 PCIe 80GB, an H100 NVL 94GB, and an H100 SXM 80GB never share a row or a page. Comparison and history only happen inside one of these families; cross-family context comes from lenses like $/GB-VRAM-hr, clearly labeled as a screening tool, not a verdict.

Per-source metrics

ProviderWhat we recordCadence
Vast.ai25th percentile of verified marketplace listings, per GPU (dph ÷ GPU count); models with fewer than 5 listings are skipped. Spot = p25 of minimum bids. Marketplace listings vary in host quality — p25 is "what a careful buyer can actually get," not the single cheapest outlier.continually
RunPodPublished list prices per GPU type, secure and community cloud, on-demand and spot. Community tiers can be availability-limited.continually
AWSOn-demand Linux/shared list price of the smallest qualifying instance per GPU family, us-east-1, divided by GPU count. AWS sells bundles (CPUs + RAM attached), so rows are badged instance-bundled.daily
AzureRetail Prices API, eastus, Linux consumption rates ÷ GPU count; on-demand and spot. Instance-bundled like AWS.daily
OpenRouter (LLM)Public model catalog; input and output prices per million tokens, tracked as separate series per model. This is the resale layer of LLM pricing; official provider list pages join as slower sources.continually
Requesty · Glama · Novita · DeepInfra (LLM)Each router's public catalog, normalized to USD per million tokens. A router often lists one model several times (different upstream hosts or regions); we publish the cheapest route per model and record how many were collapsed. Models are joined across routers by canonical name — last path segment, region suffix stripped — so vertex/claude-sonnet-5@eu and anthropic/claude-sonnet-5 are one row.continually
Ramp Router (LLM)The published model table from Ramp's public docs: input and output price per million tokens, context window. Ramp writes decimal points as "p" (kimi-k2p6) and lists Anthropic models without the claude- prefix (opus-5); both are normalized into the shared namespace so one model is one row. Ramp states it bills at provider list price with no gateway fee through 2026 — useful as a list-price reference, but it is their published rate, not an invoice we have seen.daily
SaaS pagesPage-level price signature: the set of USD amounts ($2–$2000) present on each vendor's public pricing page; we publish the lowest and highest and diff those. Not plan-mapped — a movement signal with a provenance link, not a quote. Companies whose pages block or yield nothing are absent rather than guessed.daily

Validation — missing beats wrong

Every offer is schema-validated; anything failing is dropped and flagged, never published. A price moving more than 40% in a day is quarantined for human review instead of shipped. Every datum stores the URL it was observed at and its timestamp, and every snapshot is committed to public git history — the archive cannot be quietly rewritten.

What we don't claim

Specs shown are vendor nameplate figures with links to the spec sheet — not measured throughput. Availability is not verified. Enterprise negotiated pricing is invisible to everyone, including us.

Money

Outbound provider links may carry referral codes (disclosed, rel=sponsored). The site also sells a single first-party sponsor unit, always labelled, served from our own HTML with no third-party script or tracker. Neither influences which numbers are shown, how they are computed, or which providers we track — the pipeline is open source, so you can check.