FastGPU Prices API
Live GPU rental prices, cheapest first. /api/v1/gpus needs no key.
Live GPU rental prices, cheapest first. /api/v1/gpus needs no key.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fastgpu:fastgpu-prices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: FastGPU Prices API
description: 'Live GPU cloud price comparison across the whole market, as a REST API and MCP server. FastGPU brokers GPU capacity: describe the cluster you need and get competing quotes from capacity holders, each shown next to live prices from RunPod, Vast.ai, Lambda, the hyperscalers and more. Free for buyers, no sales calls.'
version: 1.0.0
contact:
name: FastGPU
url: https://fastgpu.co/docs
servers:
- url: https://fastgpu.co
tags:
- name: Prices
description: Live GPU rental prices, cheapest first. /api/v1/gpus needs no key.
paths:
/api/v1/gpus:
get:
operationId: list_gpu_prices
tags:
- Prices
summary: List cheapest GPU prices
description: 'One entry per GPU model with its cheapest live on-demand cloud rental price in USD per GPU-hour, the provider offering it, and how many providers rent it, from FastGPU''s live price feed across marketplaces, neoclouds and hyperscalers (RunPod, Vast.ai, Lambda, AWS and more). Use it to compare GPU rental prices or to find where a named GPU is cheapest to rent. Each price is the provider''s own per-GPU rate: cheapest_min_gpu_count says when it is only sold as a multi-GPU instance, and cheapest_billed_separately names what the provider bills on top of it (CPU, memory, storage), null when the rate includes CPU and memory. page_url links to the GPU''s live price page with every offer. Rental prices only: it does not rent, reserve or launch GPUs. No key required.'
parameters:
- name: vendor
in: query
required: false
description: Filter by GPU vendor.
schema:
type: string
enum:
- NVIDIA
- AMD
- name: tier
in: query
required: false
description: Filter by tier.
schema:
type: string
enum:
- flagship
- datacenter
- prosumer
- entry
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
updated_at:
type:
- string
- 'null'
stale:
type: boolean
count:
type: integer
gpus:
type: array
items:
type: object
properties:
gpu:
type: string
vram_gb:
type:
- number
- 'null'
vendor:
type:
- string
- 'null'
arch:
type:
- string
- 'null'
tier:
type:
- string
- 'null'
cheapest_usd_hr:
type:
- number
- 'null'
cheapest_provider:
type:
- string
- 'null'
cheapest_min_gpu_count:
type:
- integer
- 'null'
cheapest_billed_separately:
type:
- string
- 'null'
provider_count:
type: integer
offer_count:
type: integer
slug:
type: string
url:
type: string
description: Site-relative path of this GPU's live price page, e.g. /gpus/h100-sxm.
page_url:
type: string
description: Absolute URL of this GPU's live price page, with every live offer.
required:
- count
- gpus
/api/v1/fixings:
get:
operationId: list_gpu_fixings
tags:
- Prices
summary: List daily GPU price fixings
description: 'The frozen daily record of GPU rental prices: one row per GPU model per UTC day, taken at 07:00 UTC from the live price snapshot and never revised. Each row carries the floor (the cheapest posted on-demand price outside the hyperscalers) and the provider that set it, the on-demand median across providers, the spot floor, the hyperscaler median, the provider count behind each figure, and the in-stock share as a numerator and a denominator. Prices are posted list prices in USD per GPU-hour, not transaction prices. Newest day first; filter by date or GPU and page with limit and offset. The method is published at /methodology/fixings. No key required.'
parameters:
- name: date
in: query
required: false
description: One fixing day as YYYY-MM-DD, or "latest" for the most recent one. Omit for the whole archive, newest day first.
schema:
type: string
example: latest
- name: gpu
in: query
required: false
description: One GPU's fixing series, by slug (h100-sxm) or model name (H100 SXM).
schema:
type: string
example: h100-sxm
- name: limit
in: query
required: false
description: Rows per page (default 100, at most 500).
schema:
type: integer
- name: offset
in: query
required: false
description: Rows to skip, for paging (default 0). The response's next_offset is the value for the next page, or null on the last one.
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
current_method_version:
type: string
fixing_hour_utc:
type: integer
first_date:
type:
- string
- 'null'
latest_date:
type:
- string
- 'null'
days:
type: integer
count:
type: integer
limit:
type: integer
offset:
type: integer
next_offset:
type:
- integer
- 'null'
fixings:
type: array
items:
type: object
properties:
fixing_date:
type: string
gpu_model:
type: string
gpu_slug:
type: string
floor_usd_hr:
type:
- number
- 'null'
floor_provider:
type:
- string
- 'null'
floor_provider_label:
type:
- string
- 'null'
floor_offer_type:
type:
- string
- 'null'
floor_min_gpu_count:
type:
- integer
- 'null'
floor_billed_separately:
type:
- string
- 'null'
floor_availability:
type:
- string
- 'null'
on_demand_median_usd_hr:
type:
- number
- 'null'
on_demand_providers:
type: integer
spot_floor_usd_hr:
type:
- number
- 'null'
spot_floor_provider:
type:
- string
- 'null'
spot_floor_provider_label:
type:
- string
- 'null'
spot_floor_min_gpu_count:
type:
- integer
- 'null'
spot_floor_billed_separately:
type:
- string
- 'null'
spot_floor_availability:
type:
- string
- 'null'
spot_providers:
type: integer
hyperscaler_median_usd_hr:
type:
- number
- 'null'
hyperscaler_providers:
type: integer
on_demand_offers:
type: integer
stock_known_offers:
type: integer
in_stock_offers:
type: integer
carried_providers:
type: integer
degraded_providers:
type: string
snapshot_at:
type: string
method_version:
type: string
url:
type: string
description: Site-relative path of this GPU's live price page, e.g. /gpus/h100-sxm.
page_url:
type: string
description: Absolute URL of this GPU's live price page, with every live offer.
required:
- count
- fixings
/api/v1/availability:
get:
operationId: list_gpu_availability
tags:
- Prices
summary: List the GPU Availability Index
description: 'How often each GPU could actually be rented: one frozen row per GPU model per completed UTC day, computed from FastGPU''s recorded stock history (each provider''s own stock tier or rentable host count, on-demand and community offers only) and never revised. Each row gives the providers listing the GPU, the providers that exposed a stock signal, the providers that had it rentable at least once that day, the signalled and rentable stock checks, the rentable share (rentable / signalled; offers without a signal never count as in stock or sold out) and the marketplace host depth. Newest day first. The method is published at /gpu-availability#method. No key required.'
parameters:
- name: gpu
in: query
required: false
description: One GPU's series, by slug (b200) or model name (B200).
schema:
type: string
example: b200
- name: days
in: query
required: false
description: Completed days to return, newest first (default 30, at most 120).
schema:
type: integer
example: '30'
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
/api/v1/price-risk:
get:
operationId: get_gpu_price_risk
tags:
- Prices
summary: Get GPU price volatility and spread
description: 'Price-risk statistics per GPU from FastGPU''s own record of posted rental prices: realized volatility of the recorded daily floor (standard deviation of daily log changes, per day and annualized with the square root of 365, with the number of changes behind it) over the last 30 days and the full history, the largest one-day move, drawdown and run-up, the spread across providers right now (P10, median and P90 of each non-hyperscaler provider''s lowest buyable price), which provider set the daily fixing''s floor and how persistently, the basis between the on-demand median and the floor and between the hyperscaler median and the on-demand median, and confirmed list-price changes over 60 days. Posted prices, not transactions, and not a settlement reference. No key required.'
parameters:
- name: gpu
in: query
required: false
description: One GPU, by slug; adds every daily floor, daily change and provider price behind its figures.
schema:
type: string
example: h100-sxm
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
/api/v1/aws-capacity-blocks:
get:
operationId: list_aws_capacity_blocks
tags:
- Prices
summary: List AWS Capacity Block offers
description: 'What AWS answers, every 6 hours, to "when can I start N GPUs and for how much": the latest run of read-only EC2 DescribeCapacityBlockOfferings calls across its GPU instance types (H100, H200, B200, B300, A100), default-enabled Regions and four shapes (1 instance for 1 day or 1 week, 8 instances for 2 or 13 weeks). Each row gives how many offers AWS returned, the earliest start with its upfront fee, and the lowest price per GPU-hour with its start; status ''error'' rows carry AWS''s error code. AWS prices Capacity Blocks by supply and demand and shows them only to signed-in accounts. Fees are USD for Linux. The response carries the method. No key required.'
parameters:
- name: gpu
in: query
required: false
description: One GPU, by its /gpus slug (h100-sxm, h200, b200).
schema:
type: string
example: h100-sxm
- name: instance_type
in: query
required: false
description: One EC2 instance type.
schema:
type: string
example: p5.48xlarge
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
/api/v1/price-changes:
get:
operationId: list_price_changes
tags:
- Prices
summary: List GPU price changes
description: 'FastGPU''s price-change log: every list-price change its own record of posted prices confirms (a move between two prices that each held for two complete UTC days, at least a cent apart, on-demand and reserved, for providers that publish their own per-GPU rate) plus changes providers announce on their own pages, newest first. Each entry gives the provider, GPU, old and new price per GPU-hour, the change in percent, the day (or window) of the change and, for an announced change, the provider''s page and wording. No key required.'
parameters:
- name: provider
in: query
required: false
description: One provider, by slug (nebius, runpod, aws).
schema:
type: string
example: nebius
- name: gpu
in: query
required: false
description: One GPU, by its /gpus slug (h100-sxm).
schema:
type: string
example: h100-sxm
- name: limit
in: query
required: false
description: Entries per page (default 50, at most 200).
schema:
type: integer
- name: offset
in: query
required: false
description: Entries to skip, for paging (default 0).
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
/api/v1/prices:
get:
operationId: get_gpu_offers
tags:
- Prices
summary: Get every live offer (full feed)
description: Every normalized live offer (provider, GPU, offer type, region, per-GPU price, availability), for building tools or dashboards on the raw feed. Requires an API key. Filter by gpu, provider, type, limit.
security:
- apiKey: []
parameters:
- name: gpu
in: query
required: false
description: GPU slug filter, e.g. h100-sxm.
schema:
type: string
- name: provider
in: query
required: false
description: Provider slug filter, e.g. runpod.
schema:
type: string
- name: type
in: query
required: false
description: Offer type filter.
schema:
type: string
enum:
- on-demand
- community
- spot
- reserved
- name: limit
in: query
required: false
description: Maximum offers to return (default 100).
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
components:
securitySchemes:
apiKey:
type: http
scheme: bearer
description: 'FastGPU API key (fgpu_live_...), sent as an Authorization: Bearer header. Create one at /app.'
externalDocs:
description: Docs, the MCP server and the open CC BY 4.0 dataset
url: https://fastgpu.co/docs