{"openapi":"3.1.0","info":{"title":"GPU Market API","version":"0.1.0","description":"Find GPU nodes by availability, reliability and price. No key needed."},"servers":[{"url":"https://gpumarket.cc"}],"paths":{"/api/v1/clusters":{"get":{"operationId":"listClusterOffers","summary":"Published cluster and reserved-term prices","parameters":[{"name":"gpu","in":"query","schema":{"type":"string"}},{"name":"count","in":"query","schema":{"type":"number"}},{"name":"term","in":"query","schema":{"type":"string"}},{"name":"max_price","in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/capacity-requests":{"post":{"operationId":"requestCapacity","summary":"Ask for capacity nobody lists","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["gpu","count"],"properties":{"gpu":{"type":"string"},"count":{"type":"integer"},"term":{"type":"string","enum":["hours","1w","1mo","3mo","6mo","1yr","2yr+"]},"start":{"type":"string","enum":["now","2w","1mo","3mo","later"]},"region":{"type":"string"},"budget_gpu_hr":{"type":"number"},"interconnect":{"type":"boolean"},"use_case":{"type":"string","enum":["training","fine-tuning","inference","research","rendering","other"]},"company":{"type":"string"},"email":{"type":"string"},"notes":{"type":"string"}}}}}},"responses":{"201":{"description":"Saved"}}}},"/api/v1/search":{"get":{"operationId":"searchGpuNodes","summary":"Search and rank GPU listings","parameters":[{"name":"gpu","in":"query","required":false,"schema":{"type":"string"},"description":"GPU model, such as h100, rtx-4090 or a100."},{"name":"count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":4096},"description":"GPUs needed. Above one node, cluster and reserved offers are returned in contract_offers."},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["americas","europe","asia-pacific"]}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["vast","runpod","akash","clore","cudo","ionet","koyeb","thunder","linode","azure","oracle","aws","ovh","lium","exoscale","nosana","gpuai","simplepod","imwt","massedcompute","lambda","crusoe","paperspace","hyperstack","boostrun","latitude","scaleway","voltagepark","denvr","excesssupply","horizon","verda","digitalocean","nebius","vultr","phyntec"]}},{"name":"min_price","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum USD per GPU-hour."},{"name":"max_price","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum USD per GPU-hour."},{"name":"min_reliability","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":1},"description":"Excludes listings with no reliability data."},{"name":"min_vram","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum GPU memory in GB."},{"name":"in_stock","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = confirmed in stock only. false = everything. Omit to hide sold-out listings and keep listings with unknown stock."},{"name":"include_interruptible","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"Include listings the provider can reclaim during a rental."},{"name":"term","in":"query","required":false,"schema":{"type":"string","enum":["hourly","1mo","3mo","6mo","1yr","3yr"]},"description":"Commitment. With a term, only listings that publish a price for it are returned, priced at that term. Cluster and reserved list prices come back in contract_offers."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["best","price","reliability","free_gpus","fit"]},"description":"Defaults to fit when count is set, otherwise best. fit = closest to the requested GPU count."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/compare":{"get":{"operationId":"compareGpus","summary":"Cheapest, most available and most reliable listing per GPU","parameters":[{"name":"gpu","in":"query","required":false,"schema":{"type":"string"},"description":"GPU model, such as h100, rtx-4090 or a100."},{"name":"count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":4096},"description":"GPUs needed. Above one node, cluster and reserved offers are returned in contract_offers."},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["americas","europe","asia-pacific"]}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["vast","runpod","akash","clore","cudo","ionet","koyeb","thunder","linode","azure","oracle","aws","ovh","lium","exoscale","nosana","gpuai","simplepod","imwt","massedcompute","lambda","crusoe","paperspace","hyperstack","boostrun","latitude","scaleway","voltagepark","denvr","excesssupply","horizon","verda","digitalocean","nebius","vultr","phyntec"]}},{"name":"min_price","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum USD per GPU-hour."},{"name":"max_price","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum USD per GPU-hour."},{"name":"min_reliability","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":1},"description":"Excludes listings with no reliability data."},{"name":"min_vram","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum GPU memory in GB."},{"name":"in_stock","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = confirmed in stock only. false = everything. Omit to hide sold-out listings and keep listings with unknown stock."},{"name":"include_interruptible","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"Include listings the provider can reclaim during a rental."},{"name":"term","in":"query","required":false,"schema":{"type":"string","enum":["hourly","1mo","3mo","6mo","1yr","3yr"]},"description":"Commitment. With a term, only listings that publish a price for it are returned, priced at that term. Cluster and reserved list prices come back in contract_offers."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["best","price","reliability","free_gpus","fit"]},"description":"Defaults to fit when count is set, otherwise best. fit = closest to the requested GPU count."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/snapshot":{"get":{"operationId":"get_snapshot","summary":"Market snapshot for one GPU","parameters":[{"name":"gpu","in":"query","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","schema":{"type":"integer"}},{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"days","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/history":{"get":{"operationId":"get_history","summary":"Lowest in-stock price over time","parameters":[{"name":"gpu","in":"query","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","schema":{"type":"integer"}},{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"days","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/availability":{"get":{"operationId":"get_availability","summary":"Seven-day availability by provider","parameters":[{"name":"gpu","in":"query","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","schema":{"type":"integer"}},{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"days","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sizes":{"get":{"operationId":"get_sizes","summary":"Cheapest in-stock node at each size","parameters":[{"name":"gpu","in":"query","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","schema":{"type":"integer"}},{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"days","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/availability-index":{"get":{"operationId":"availabilityIndex","summary":"Providers ranked by observed stock","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/status":{"get":{"operationId":"status","summary":"Data freshness and feed health","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/gpus":{"get":{"operationId":"listGpus","summary":"List GPU models","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/gpus/{gpu}":{"get":{"operationId":"getGpu","summary":"Get one GPU model","parameters":[{"name":"gpu","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/providers/ranking":{"get":{"operationId":"rankProviders","summary":"Providers ranked by availability, reliability and price, optionally for one GPU","parameters":[{"name":"gpu","in":"query","required":false,"schema":{"type":"string"},"description":"GPU model, such as h100, rtx-4090 or a100."},{"name":"count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":4096},"description":"GPUs needed. Above one node, cluster and reserved offers are returned in contract_offers."},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["americas","europe","asia-pacific"]}},{"name":"min_price","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum USD per GPU-hour."},{"name":"max_price","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum USD per GPU-hour."},{"name":"min_reliability","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":1},"description":"Excludes listings with no reliability data."},{"name":"min_vram","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum GPU memory in GB."},{"name":"in_stock","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = confirmed in stock only. false = everything. Omit to hide sold-out listings and keep listings with unknown stock."},{"name":"include_interruptible","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"Include listings the provider can reclaim during a rental."},{"name":"term","in":"query","required":false,"schema":{"type":"string","enum":["hourly","1mo","3mo","6mo","1yr","3yr"]},"description":"Commitment. With a term, only listings that publish a price for it are returned, priced at that term. Cluster and reserved list prices come back in contract_offers."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["best","price","reliability","free_gpus","fit"]},"description":"Defaults to fit when count is set, otherwise best. fit = closest to the requested GPU count."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/providers/directory":{"get":{"operationId":"listDirectory","summary":"Every known GPU provider, with or without live prices, filterable by GPU and region","parameters":[{"name":"gpu","in":"query","schema":{"type":"string"}},{"name":"region","in":"query","schema":{"type":"string","enum":["americas","europe","asia-pacific","other"]}},{"name":"type","in":"query","schema":{"type":"string","enum":["hyperscaler","cloud","neocloud","marketplace","decentralized","bare-metal","serverless"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/providers":{"get":{"operationId":"listProviders","summary":"List providers","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/listings/{id}":{"get":{"operationId":"getListing","summary":"Get one listing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/listings/{id}/booking":{"get":{"operationId":"prepareBooking","summary":"Get steps to rent a listing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"gpu_count","in":"query","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/outcomes":{"post":{"operationId":"reportOutcome","summary":"Report a booking outcome","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["listing_id","outcome"],"properties":{"listing_id":{"type":"string"},"outcome":{"enum":["rented","failed","abandoned"]},"reason":{"enum":["out_of_stock","price_changed","provisioning_failed","account_required","too_expensive","other"]}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/health":{"get":{"operationId":"health","summary":"Feed status","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}