Skip to content
API v1Free Tier

GPU Pricing Data API

Read-only access to regularly-tracked cloud GPU pricing data. 6 endpoints, standard JSON envelope, API key auth. Free tier: 100 requests/hour.

No-Key Endpoint (Attribution Required)

GET /api/v1/prices/public — no API key required. 60 req/hr per IP. Free with attribution.

curl "https://gpuadvisor.com/api/v1/prices/public?gpu=H100"

# Optional filters:
#   ?gpu=H100          — GPU model substring
#   ?provider=Lambda   — provider name
Response shape
{
  "meta": {
    "source":       "gpuadvisor.com",
    "license":      "Free with attribution — link to gpuadvisor.com required",
    "last_tracked": "July 1, 2026",
    "version":      "v1",
    "rate_limit":   "60 requests/hour per IP. Use X-API-Key for higher limits."
  },
  "providers": {
    "AWS": [
      {
        "gpu":                    "H100 80GB",
        "instance":               "p5.48xlarge",
        "on_demand_per_gpu_hr":   6.88,
        "spot_per_gpu_hr":        2.475,
        "reserved_1y_per_gpu_hr": 4.8125,
        "vram":                   "640 GB (8×80)",
        "region":                 "us-east-1"
      }
    ],
    "Lambda": [ ... ],
    "CoreWeave": [ ... ]
  }
}

Attribution requirement: display Data via GPUAdvisor — gpuadvisor.com wherever this data is shown to end users. For higher limits or the full snapshot history API, use a keyed endpoint below.

Keyed API — Quick Start

1. Get a key — email[email protected]— then make your first call:
curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/prices?gpu=H100+80GB"

Authentication

Pass your API key in the X-API-Key request header. Every request must include a valid key.

Header: X-API-Key: gpu_free_abc123

All responses include rate-limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (Unix epoch).

Endpoints

GET/v1/gpus

List all tracked GPU models with provider counts and first/last tracked dates.

curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/gpus"
GET/v1/providers

List all tracked cloud providers with GPU models and regions covered.

curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/providers"
GET/v1/prices

Current normalized per-GPU $/hr from the latest snapshot. Optionally filter by GPU model, provider, or a specific snapshot date.

Parameters
gpuFilter by GPU modele.g. H100+80GB
providerFilter by providere.g. CoreWeave
dateSnapshot date (default: latest)e.g. 2026-06-20
curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/prices?gpu=H100+80GB"
GET/v1/history

Time-series price history for a GPU model, grouped by provider. Requires 'gpu' parameter.

Parameters
gpurequiredGPU model — REQUIREDe.g. H100+80GB
providerFilter to one providere.g. AWS
fromStart date inclusive (YYYY-MM-DD)e.g. 2026-01-01
toEnd date inclusive (YYYY-MM-DD)e.g. 2026-12-31
curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/history?gpu=H100+80GB&from=2026-01-01"
GET/v1/index

GPU Price Index: median on-demand per-GPU $/hr per model per snapshot date. See methodology at /gpu-price-index.

Parameters
gpu_classFilter to one GPU modele.g. H100+80GB
fromStart date (YYYY-MM-DD)e.g. 2026-01-01
toEnd date (YYYY-MM-DD)e.g. 2026-12-31
curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/index?gpu_class=H100+80GB"
GET/v1/meta

API and methodology metadata: last tracked date, snapshot count, provider list, tier limits.

curl -H "X-API-Key: YOUR_KEY" \
  "https://gpuadvisor.com/api/v1/meta"

Response Format

Every response is wrapped in a standard envelope with a data field (endpoint payload) and a meta field (freshness, attribution, methodology link).

Envelope
{
  "data": [ /* endpoint-specific payload */ ],
  "meta": {
    "last_tracked":    "2026-06-20",
    "snapshot_date":   "2026-06-20",
    "pricing_basis":   "On-demand per-GPU $/hr. Node prices divided by GPU count from instance VRAM spec.",
    "provider_count":  9,
    "methodology_url": "https://gpuadvisor.com/gpu-price-index",
    "attribution":     "Data via GPUAdvisor — gpuadvisor.com",
    "cadence_note":    "Regularly tracked — not real-time. Confirm before procurement."
  }
}
Price Record (data[] item from /v1/prices)
{
  "snapshot_date":         "2026-06-20",
  "gpu_model":             "H100 80GB",
  "provider":              "CoreWeave",
  "region":                "us-east-1",
  "price_per_gpu_hr":      2.39,
  "spot_per_gpu_hr":       1.85,
  "reserved1y_per_gpu_hr": 2.10,
  "reserved3y_per_gpu_hr": 1.75,
  "pricing_basis_note":    "on-demand · per-GPU rate"
}
Error Response
{ "error": { "code": "NOT_FOUND", "message": "...", "hint": "..." } }
401 — missing/invalid key400 — missing required param404 — no data matched429 — rate limit exceeded

Rate Limits

TierRequests / hourNotes
Free100Attribution required
Pro2,000Coming soon

Rate limit windows reset on a rolling 1-hour basis. The X-RateLimit-Reset header contains the reset epoch timestamp.

Attribution (Free Tier)

Free-tier integrations must display the following attribution string wherever pricing data is shown to end users:

Data via GPUAdvisor — gpuadvisor.com

The meta.attribution field in every response contains this string. For internal-only tooling (dashboards, data pipelines not visible to end users), attribution is encouraged but not required.

Pricing Basis & Data Freshness

All price_per_gpu_hr values are on-demand, normalized to per-GPU. Multi-GPU node prices are divided by GPU count derived from the instance VRAM spec. CoreWeave prices are quoted natively per GPU.

Data is regularly tracked — not real-time. The meta.last_tracked field shows the most recent tracking date. Confirm prices directly with providers before procurement decisions.

For index methodology (how the median is computed), see the GPU Price Index page.

OpenAPI Spec

A static OpenAPI 3.1 spec is available for import into Postman, Insomnia, or any OpenAPI-compatible toolchain.

/openapi.json

Get an API Key

Email us with a brief description of your project. Free keys are issued within 1 business day.

[email protected]