---
title: "Latest rental quotes for one GPU model across neo-clouds, marketplaces and other clouds."
method: GET
path: "/v1/gpu/quotes"
tags: ["gpu"]
---

# Latest rental quotes for one GPU model across neo-clouds, marketplaces and other clouds.

`GET /v1/gpu/quotes`

## Request

- Base URL: `https://cloud.trycorpus.ai`
- URL: `https://cloud.trycorpus.ai/v1/gpu/quotes`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `Authorization`
  - API key in header `X-Api-Key`

One row per quote in each provider's latest daily snapshot: provider, market (`ondemand`, `spot` = interruptible, `bid` = marketplace minimum bid, `secure`/`community` = RunPod tiers), GPUs in the quoted unit, USD per GPU-hour, quoted unit price, region where the provider exposes one, and provider-specific detail in `extra` (marketplace host reliability, VRAM, stock status). Sources are each provider's public price feed or page (Vast.ai: the cheapest 64 offers per model, on-demand and bid); /gpu/models lists who quotes each model. Snapshots are taken several times a day.

## Query parameters

- `gpu` string, required
- `provider` string
- `market` string

## Response `200`

Quotes.

- GpuQuotes
  - `gpu` string
  - `count` integer
  - `note` string
  - `quotes` GpuQuote[]
    - `provider` string, required
    - `market` 'ondemand' | 'spot' | 'bid' | 'secure' | 'community' | 'network' | 'executed' | 'lease' | 'rented', required: ondemand; spot (interruptible); bid (marketplace minimum bid); secure/community (RunPod tiers); network (io.net network tier); executed (Nosana jobs that ran); lease (Akash active leases); rented (Vast offers inferred taken).
    - `gpus` integer, required: GPUs in the quoted unit.
    - `price_gpu_hr` number, required: USD per GPU-hour.
    - `price_unit_hr` number: USD per hour for the quoted unit.
    - `region` string, nullable
    - `sku` string, nullable
    - `observed` string, date-time
    - `extra` object, nullable: Provider-specific detail (offer id, host reliability, VRAM, stock).

## Other responses

- `400`: Invalid or missing parameter.
- `402`: Payment required. The x402 v2 payment requirements are in the PAYMENT-REQUIRED header (base64 JSON) and repeated as the JSON body: `accepts[]` lists every offer (USDC on 13 networks: eip155:8453, eip155:143, eip155:1, eip155:43114, eip155:42161, eip155:10, eip155:137, eip155:130, eip155:146, eip155:480, eip155:1329, eip155:999, eip155:5042) with amount and payTo address. Circle Gateway offers cover every listed network; a Coinbase-facilitated offer covers Base. The same response carries an MPP challenge (WWW-Authenticate: Payment, USDC on Tempo). Retry with a PAYMENT-SIGNATURE header or an MPP credential, or let an x402 or MPP client (for example `circle services pay` or `mppx`) handle it; a prepaid key in X-Api-Key is charged instead of a 402.
- `404`: Unknown provider, region or instance type.
- `503`: The store is still warming up after a restart; retry in a minute. No payment is taken.

---

[API](https://skmtc.dev/trycorpus/apis/corpusai-cloud-pricing-api.md) · [All operations](https://skmtc.dev/trycorpus/apis/corpusai-cloud-pricing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trycorpus/apis/corpusai-cloud-pricing-api/revisions/cb0754f4d151?raw)
