Hourly cloud GPU prices from 60+ providers: find, compare, cost and track GPUs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A card's new retail price (median of 3+ sellers) against its live on-demand rental rates: months of rental, at the cheapest rate card and at the median, that equal the purchase price, at 100%, 70%, 50% and 25% of a 730-hour month. Rental fee only - power, hosting, the server around the card and resale are not counted. Without gpu, every card that has a retail median.
GPU id or name, e.g. rtx-4090; omit for every card with a retail median.
A card's new retail price (median of 3+ sellers) against its live on-demand rental rates: months of rental, at the cheapest rate card and at the median, that equal the purchase price, at 100%, 70%, 50% and 25% of a 730-hour month. Rental fee only - power, hosting, the server around the card and resale are not counted. Without gpu, every card that has a retail median.
| Argument | Type | Description |
|---|---|---|
| gpu | string | GPU id or name, e.g. rtx-4090; omit for every card with a retail median. |
{
"type": "object",
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name, e.g. rtx-4090; omit for every card with a retail median."
}
},
"additionalProperties": false
}Committed and spot rates for one GPU (or every GPU) set against the same provider's own on-demand rate for the same card, region and price scope - the pairs behind the site's typical discount - with the median per term across every card. A commitment is paid whether the GPU runs or not.
| Argument | Type | Description |
|---|---|---|
| gpu | string | Optional GPU id or name; without it, every card. |
| term | string | Which market to pair; default any (1-year, 3-year and spot). |
| limit | integer | Pairs to return, largest saving first; default 15. |
{
"type": "object",
"properties": {
"gpu": {
"type": "string",
"description": "Optional GPU id or name; without it, every card."
},
"term": {
"enum": [
"any",
"reserved_1y",
"reserved_3y",
"spot"
],
"type": "string",
"description": "Which market to pair; default any (1-year, 3-year and spot)."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Pairs to return, largest saving first; default 15."
}
},
"additionalProperties": false
}Two GPU models side by side: VRAM, median rate card and panel size, cheapest on-demand rate, price per GB of VRAM, retail median where one exists, and every provider that lists both on-demand with the signed difference. Live quotes only.
| Argument | Type | Description |
|---|---|---|
| a* | string | First GPU id or name (h100-sxm, "H200"). |
| b* | string | Second GPU id or name. |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "First GPU id or name (h100-sxm, \"H200\")."
},
"b": {
"type": "string",
"description": "Second GPU id or name."
}
},
"additionalProperties": false
}Two providers on every GPU both list on-demand today: each side's cheapest on-demand rate card, the difference and which is lower, and the count. Community capacity and marketplace floors are left out of the comparison. Live quotes only.
| Argument | Type | Description |
|---|---|---|
| a* | string | First provider id or name (runpod, lambda, "Google Cloud"). |
| b* | string | Second provider id or name. |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "First provider id or name (runpod, lambda, \"Google Cloud\")."
},
"b": {
"type": "string",
"description": "Second provider id or name."
}
},
"additionalProperties": false
}What N GPUs of one model cost for a number of hours at listed rates: at each of the cheapest rate cards and at the median rate card, with the arithmetic. Rental fee only - storage, network egress, taxes and idle time are not counted - and listed rates, not availability.
| Argument | Type | Description |
|---|---|---|
| gpu* | string | GPU id or name. |
| gpus | integer | How many GPUs; default 1. |
| hours | number | Hours of use; default 730 (a month around the clock). |
| limit | integer | Cheapest rate cards to price; default 5. |
| market | string | Market; default on_demand. |
| region | string | Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. |
{
"type": "object",
"required": [
"gpu"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name."
},
"gpus": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "How many GPUs; default 1."
},
"hours": {
"type": "number",
"maximum": 100000,
"minimum": 1,
"description": "Hours of use; default 730 (a month around the clock)."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Cheapest rate cards to price; default 5."
},
"market": {
"enum": [
"on_demand",
"spot",
"community",
"shared",
"serverless",
"reserved",
"reserved_1y",
"reserved_3y"
],
"type": "string",
"description": "Market; default on_demand."
},
"region": {
"enum": [
"any",
"US",
"EU"
],
"type": "string",
"description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any."
}
},
"additionalProperties": false
}The text of one GPU Economy page by an id from search (gpu:h100-sxm, provider:runpod, index:h100, reserved, buy-vs-rent): its live rates with read times, as plain text, with the page URL to cite.
| Argument | Type | Description |
|---|---|---|
| id* | string | An id from search. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "An id from search."
}
},
"additionalProperties": false
}GPU models that meet a memory and price requirement, cheapest first: for each card its cheapest live on-demand rate card (provider, read time, page), its median rate card and panel size, VRAM and price per GB of VRAM. Community capacity and marketplace floors are out unless the market is set.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Cards to return; default 10. |
| market | string | Market of the cheapest rate; default on_demand. |
| region | string | Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. |
| vendor | string | Default any. |
| min_vram_gb | number | Least memory per GPU, in GB (24, 48, 80, 141...). Default 0. |
| max_usd_per_gpu_hour | number | Highest acceptable rate per GPU-hour, compared with each card's cheapest rate. Optional. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Cards to return; default 10."
},
"market": {
"enum": [
"on_demand",
"spot",
"community",
"shared",
"serverless",
"reserved",
"reserved_1y",
"reserved_3y"
],
"type": "string",
"description": "Market of the cheapest rate; default on_demand."
},
"region": {
"enum": [
"any",
"US",
"EU"
],
"type": "string",
"description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any."
},
"vendor": {
"enum": [
"any",
"nvidia",
"amd"
],
"type": "string",
"description": "Default any."
},
"min_vram_gb": {
"type": "number",
"minimum": 0,
"description": "Least memory per GPU, in GB (24, 48, 80, 141...). Default 0."
},
"max_usd_per_gpu_hour": {
"type": "number",
"minimum": 0,
"description": "Highest acceptable rate per GPU-hour, compared with each card's cheapest rate. Optional."
}
},
"additionalProperties": false
}Current listed rental prices for one GPU model across providers, cheapest first, in USD per GPU-hour, each with the time it was read and the GPU Economy page that links its source. Live quotes only.
| Argument | Type | Description |
|---|---|---|
| gpu* | string | GPU id (h100-sxm, h200, b200, rtx-4090) or a name ("H100 SXM", "RTX 4090"). |
| limit | integer | Rows to return, cheapest first; default 10. |
| market | string | Market to keep; default on_demand. "any" keeps spot, community, serverless and reserved too. |
| region | string | Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. |
{
"type": "object",
"required": [
"gpu"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id (h100-sxm, h200, b200, rtx-4090) or a name (\"H100 SXM\", \"RTX 4090\")."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Rows to return, cheapest first; default 10."
},
"market": {
"enum": [
"any",
"on_demand",
"spot",
"community",
"shared",
"serverless",
"reserved",
"reserved_1y",
"reserved_3y"
],
"type": "string",
"description": "Market to keep; default on_demand. \"any\" keeps spot, community, serverless and reserved too."
},
"region": {
"enum": [
"any",
"US",
"EU"
],
"type": "string",
"description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any."
}
},
"additionalProperties": false
}Every GPU model tracked, with its id, VRAM, how many providers list it and the median on-demand rate card in USD per GPU-hour.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Weekly median and cheapest listed on-demand rate for one GPU model, newest week first, from two sources kept apart: our own hourly reads, and a series reconstructed from a public price catalog (second-hand). Each week carries its panel size; read a median against it.
| Argument | Type | Description |
|---|---|---|
| gpu* | string | GPU id or name. |
| weeks | integer | Weeks per source, newest first; default 12. |
{
"type": "object",
"required": [
"gpu"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name."
},
"weeks": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"description": "Weeks per source, newest first; default 12."
}
},
"additionalProperties": false
}The Cloud GPU Price Index: median listed on-demand H100 SXM rate across providers, this week and the last eight weeks, with the base-100 index and the receipts; also the newest hourly point and the monthly averages over a fixed panel.
| Argument | Type | Description |
|---|---|---|
| window | string | Which window leads the answer; default week. Every answer carries the newest value of each. |
{
"type": "object",
"properties": {
"window": {
"enum": [
"week",
"hour",
"month"
],
"type": "string",
"description": "Which window leads the answer; default week. Every answer carries the newest value of each."
}
},
"additionalProperties": false
}One provider: its type (hyperscaler, specialist GPU cloud or marketplace), the regions or tiers it names, how GPU Economy reads its prices (pricing page, API or rendered page), how many GPU models and live quotes it has, a one-line note for a reader, its cheapest on-demand rate per card, and what it bills beyond the GPU-hour where read (what the rate includes, data out, storage, stopped instances, billing step). Links its GPU Economy page.
| Argument | Type | Description |
|---|---|---|
| provider* | string | Provider id or name (runpod, "Google Cloud", vast-ai). |
{
"type": "object",
"required": [
"provider"
],
"properties": {
"provider": {
"type": "string",
"description": "Provider id or name (runpod, \"Google Cloud\", vast-ai)."
}
},
"additionalProperties": false
}Every current listed rental price at one provider (runpod, lambda, aws, vast-ai, ...), in USD per GPU-hour, each with its read time and the GPU Economy page that links its source. Live quotes only.
| Argument | Type | Description |
|---|---|---|
| provider* | string | Provider id (runpod, lambda, coreweave, aws, azure, gcp, vast-ai) or its name. |
{
"type": "object",
"required": [
"provider"
],
"properties": {
"provider": {
"type": "string",
"description": "Provider id (runpod, lambda, coreweave, aws, azure, gcp, vast-ai) or its name."
}
},
"additionalProperties": false
}Listed prices that changed in the last 30 days, one row per quote, newest change first: the figure before its first change in the window, the figure now, and how many times it changed. A quote back at its starting figure is left out, and so are marketplace floors unless asked for. Optionally for one GPU or one provider.
| Argument | Type | Description |
|---|---|---|
| gpu | string | Optional GPU id or name. |
| limit | integer | Rows; default 20. |
| provider | string | Optional provider id or name. |
| include_marketplaces | boolean | Also list marketplace floors (Vast.ai), which move with every read; default false. |
{
"type": "object",
"properties": {
"gpu": {
"type": "string",
"description": "Optional GPU id or name."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Rows; default 20."
},
"provider": {
"type": "string",
"description": "Optional provider id or name."
},
"include_marketplaces": {
"type": "boolean",
"description": "Also list marketplace floors (Vast.ai), which move with every read; default false."
}
},
"additionalProperties": false
}Find GPU Economy pages for a query - a GPU, a provider, the price index, reserved rates, buy vs rent. Returns ids for fetch, with each page's title and URL.
| Argument | Type | Description |
|---|---|---|
| query* | string | What to look for, e.g. "H100 SXM", "runpod", "reserved H200", "price index". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "What to look for, e.g. \"H100 SXM\", \"runpod\", \"reserved H200\", \"price index\"."
}
},
"additionalProperties": false
}Modelled, not measured: a listed GPU-hour rate divided by the output throughput NVIDIA published for that card and model, per million output tokens, at the cheapest live on-demand rate card and at the median, with NVIDIA's run (model, framework, precision, sequence, concurrency, date). Cards are not comparable on it - NVIDIA runs each card differently - and an idle GPU costs the same and produces nothing: a floor, never a bill.
| Argument | Type | Description |
|---|---|---|
| gpu* | string | GPU id or name; NVIDIA publishes runs for B200, B300, H100 SXM, H200 and RTX PRO 6000. |
| model | string | Optional model name to keep (gpt-oss-120b, "Qwen 3.5"); default every model NVIDIA ran on the card. |
{
"type": "object",
"required": [
"gpu"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name; NVIDIA publishes runs for B200, B300, H100 SXM, H200 and RTX PRO 6000."
},
"model": {
"type": "string",
"description": "Optional model name to keep (gpt-oss-120b, \"Qwen 3.5\"); default every model NVIDIA ran on the card."
}
},
"additionalProperties": false
}