Skip to main content

API · v1

View .md

Get a free API key

Required for every endpoint — 750 requests/day and 7-day price trends. Email sign-in, no password.

Get a free key →

ComputePrices API

Cloud GPU and LLM inference pricing, catalog, daily trends, and weekly movers — all under /api/v1/* as stable JSON.

Quickstart

Every endpoint needs an API key. A free one takes about 30 seconds: sign in with any email at computeprices.com/account/api-keys (magic link, no password), create a key, then:

curl -H "Authorization: Bearer cp_live_..." \
  https://computeprices.com/api/v1/gpu-prices

Free keys get 750 requests/day, latest prices, the full catalog, weekly movers, and a 7-day window on trends and raw price history. Deeper history — 90 days of both — starts at Pro.

Three things if you're running an agent or automated tool:

  • Send a descriptive User-Agent header.
  • Respect Retry-After on 429 responses.
  • Read meta.upgrade_hint — it names the next-tier features, not just throughput.

A raw markdown copy of this page is at /docs/api.md — curl it directly. The full machine-readable schema lives at /api/v1/openapi.json (OpenAPI 3.1) — feed it to your client generator, agent framework, or MCP server. For broader site discovery, see llms.txt.

Tiers

What you get at each tier:

CapabilityFreeProEnterprise
Rate limit750 / day3,000 / daycustom
Active API keys133
Latest GPU + LLM prices
Filters (provider, gpu/model, pricing_type)
GPU / LLM / provider catalog
Weekly movers
Trends window cap7 days90 days365 days
Price indices (weekly)v1.1v1.1
Provider comparisonv1.1v1.1
Cheapest-per-model aggregatesv1.1v1.1
Raw price history window (GPU)7 days90 days365 days
Raw price history (LLM)v1.1v1.1
Export formats (CSV, NDJSON)v1.1v1.1
LLM benchmarks (throughput, TTFT)v1.2v1.2
Provider data-healthv1.2
Webhooks on price changeroadmaproadmap
SLAbest-effort99.9%

v1.1 = coming in the next release. roadmap = planned, no date.

Free and Pro limits are daily sliding windows, keyed per API key — a once-a-day batch job can burst its whole quota in one run. The quotas are deliberately modest — pricing data refreshes hourly at most, so a legitimate integration needs at most a few dozen calls a day. Tiers differ on data depth, not throughput: latest prices are free, deeper history starts at Pro.

Pro

Pro is a flat subscription — $299/month or $2,499/year. It raises the limit to 3,000 requests/day and unlocks deeper historical data:

  • Daily price trends (/trends/gpu/{slug}, /trends/llm/{slug}) with a 90-day window (free: 7 days).
  • Raw GPU price history (/gpu-prices/history) with a 90-day window (free: 7 days).
  • The v1.1 endpoints as they ship: price indices, provider comparison, cheapest-per-model aggregates, LLM raw price history, CSV/NDJSON export.
  • Up to 3 active API keys (free accounts get 1) — useful for per-environment keys or zero-downtime rotation.

Upgrade self-serve from the API keys dashboard — all keys on your account move to Pro immediately, and new keys you create inherit it.

Enterprise

Custom throughput, 365-day trend windows, provider data-health metrics (v1.2), and a 99.9% SLA. Not self-serve — email api@computeprices.com to talk it through.

Authentication

Every request needs a Bearer token:

curl -H "Authorization: Bearer cp_live_..." \
  https://computeprices.com/api/v1/gpu-prices

Requests without a key get a 401 with a pointer to the free signup. (The only exception is /api/v1/openapi.json — the schema itself is open so agents and client generators can discover the API.)

Getting a free key

Sign in with any email at computeprices.com/account/api-keys — a magic link, no password. Create a key, copy it (it's shown only once), and you're done. Free accounts get 1 active key (Pro raises it to 3); revoke and re-create anytime. Upgrade to Pro from the same dashboard; for Enterprise, email api@computeprices.com.

Endpoints

All endpoints return { data, meta }. meta always includes version, generated_at, tier, and (when rate-limiting is in play) rate_limit and upgrade_hint.

The examples below omit the required -H "Authorization: Bearer cp_live_..." header for brevity.

Pricing

GET /api/v1/gpu-prices · all tiers

Latest GPU prices across every tracked provider. One row per (provider, GPU, pricing_type, node size).

Query parameters:

NameTypeDescription
providerslugFilter to a single provider (e.g. lambda, runpod).
gpuslugFilter to a single GPU model (e.g. h100, a100-80gb).
pricing_typeon_demand | spotFilter by pricing model.

Example:

curl "https://computeprices.com/api/v1/gpu-prices?gpu=h100&pricing_type=on_demand"

Response:

{
  "data": [
    {
      "provider": "Lambda",
      "provider_slug": "lambda",
      "provider_url": "https://lambdalabs.com",
      "gpu": "H100 80GB",
      "gpu_slug": "h100",
      "vram_gb": 80,
      "architecture": "Hopper",
      "gpu_count": 1,
      "max_gpus_per_node": 8,
      "price_per_hour_usd": 2.49,
      "total_hourly_usd": 2.49,
      "pricing_type": "on_demand",
      "commitment_months": null,
      "currency": "USD",
      "exchange_rate_to_usd": 1,
      "source_url": "https://lambdalabs.com/pricing",
      "last_updated": "2026-04-20T10:15:30Z"
    }
  ],
  "meta": {
    "count": 1,
    "generated_at": "2026-04-20T12:00:00Z",
    "version": "v1",
    "tier": "free",
    "rate_limit": { "limit": 750, "remaining": 693, "reset": 1714827060, "window_seconds": 86400 },
    "upgrade_hint": "Pro raises the limit to 3,000 requests/day and extends price-trend history from 7 to 90 days..."
  }
}

GET /api/v1/llm-prices · all tiers

Latest LLM inference prices. Per-1M-token input/output pricing, modalities, knowledge cutoff.

Query parameters:

NameTypeDescription
providerslugFilter to a single provider.
modelslugFilter to a single model (e.g. claude-3-5-sonnet, gpt-4o).
pricing_typestandard | batchFilter by pricing model.

Example:

curl "https://computeprices.com/api/v1/llm-prices?model=claude-3-5-sonnet"

Catalog

GET /api/v1/gpus · all tiers

List of every GPU model we track, with specs (VRAM, architecture, TFLOPs, memory bandwidth).

curl https://computeprices.com/api/v1/gpus

GET /api/v1/gpus/{slug} · all tiers

Single GPU model with full specs.

curl https://computeprices.com/api/v1/gpus/h100

GET /api/v1/llm-models · all tiers

List of tracked LLM models with creator, context window, modalities, and knowledge cutoff.

curl https://computeprices.com/api/v1/llm-models

GET /api/v1/llm-models/{slug} · all tiers

Single LLM model detail.

curl https://computeprices.com/api/v1/llm-models/claude-3-5-sonnet

GET /api/v1/providers · all tiers

List of tracked cloud and inference-API providers (archived providers excluded).

curl https://computeprices.com/api/v1/providers

GET /api/v1/providers/{slug} · all tiers

Single provider detail.

curl https://computeprices.com/api/v1/providers/lambda

Available on every tier; the trends window depth is what varies — free 7 days, Pro 90, Enterprise 365. meta.tier_cap_days in every trend response tells you your cap.

GET /api/v1/trends/gpu/{slug} · all tiers

Daily average price for a GPU across providers. days is capped by tier (free 7, pro 90, enterprise 365).

Query parameters:

NameTypeDescription
daysintegerNumber of days of history. Clamped to your tier cap.

Example:

curl "https://computeprices.com/api/v1/trends/gpu/h100?days=90"

GET /api/v1/trends/llm/{slug} · all tiers

Daily average input/output token price for an LLM across providers.

Query parameters:

NameTypeDescription
daysintegerNumber of days of history. Clamped to your tier cap.

Example:

curl "https://computeprices.com/api/v1/trends/llm/claude-3-5-sonnet?days=30"

GET /api/v1/movers · all tiers

Biggest week-over-week price changes (up or down) for a (provider, GPU/LLM) pair.

Query parameters:

NameTypeDescription
scopegpu | llmRequired. Which price universe to query.
limitintegerMax results (default 10, max 100).

Example:

curl "https://computeprices.com/api/v1/movers?scope=gpu&limit=10"

Raw price history

Raw price observations as collected — one row per collection run, not a daily aggregate — including the normalization audit trail: original_price (the value as published by the provider) and normalization_method (how it was converted to a per-GPU hourly USD price). The window depth is capped by tier: free 7 days, Pro 90, Enterprise 365.

GET /api/v1/gpu-prices/history · all tiers

Rows are ordered oldest first and paginated. When a page is full, meta.next_cursor carries an opaque cursor — pass it back as cursor to fetch the next page; it is null on the last page.

Query parameters:

NameTypeDescription
gpustringFilter to a single GPU model slug (e.g. h100).
providerstringFilter by provider slug (e.g. lambda).
pricing_typeon_demand | spot | reservedFilter by pricing model.
daysintegerNumber of days of history. Clamped to your tier cap.
limitintegerRows per page (default and max 1000).
cursorstringmeta.next_cursor from the previous page.

Example:

curl "https://computeprices.com/api/v1/gpu-prices/history?gpu=h100&days=90"

Pro — coming in v1.1

  • GET /api/v1/indexes — weekly compute price index, 100-baseline, separate series per GPU / LLM.
  • GET /api/v1/compare — side-by-side provider comparison with price differences and shared-GPU coverage.
  • GET /api/v1/cheapest — cheapest provider per LLM model for input and output tokens.
  • GET /api/v1/llm-prices/history — raw LLM price history, mirroring the GPU history endpoint.

Enterprise — coming in v1.2

  • GET /api/v1/llm-benchmarks — LLM throughput, time-to-first-token, p95 latency from Artificial Analysis.
  • GET /api/v1/providers/{slug}/health — per-provider data-collection health, staleness, and price confidence metrics.

Rate limits

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (Unix epoch seconds). 429 Too Many Requests additionally sets Retry-After in seconds.

Limits are keyed by API key. Free and Pro use daily sliding windows (750 and 3,000 requests/day), so a once-a-day batch job can burst its whole quota in one run and a request made now frees its slot 24 hours later.

A note on how we read usage: pricing data changes at most hourly, so no honest integration needs to sit at its ceiling around the clock. Sustained near-ceiling usage — especially from accounts we can't identify — is treated as an abuse signal and may be throttled or blocked rather than granted a higher limit. If you genuinely need more throughput, talk to us.

Errors

Standard HTTP status codes. Error bodies share a small envelope.

401 Unauthorized

Missing, malformed, or invalid/revoked/expired key. A missing key gets a signup_url in the body and a Link: <...>; rel="help" header pointing at the free key signup:

{
  "error": "Authentication required",
  "hint": "All /api/v1 endpoints require an API key. A free key takes 30 seconds and includes 750 requests/day: https://computeprices.com/account/api-keys",
  "signup_url": "https://computeprices.com/account/api-keys"
}

404 Not Found

Unknown slug or resource.

429 Too Many Requests

Over your tier's rate budget. Wait Retry-After seconds.

500 Internal Server Error

Upstream failure. Try again; if persistent, ping us.

Terms of use

Short version: use the API to build things, don't use it to become us or to relicense our dataset.

Permitted — using the API to power your own applications, dashboards, agents, internal tooling, and research, on any tier. Public display of the data requires attribution with a link to computeprices.com.

Prohibited, on every tier:

  • Reselling or redistributing the raw feed. You may not resell, sublicense, or bulk-republish the dataset (or a substantial portion of it) as a data product, whether as an API, a file dump, or a mirror.
  • Building a direct competitor. You may not use the API to build or operate a cloud GPU or LLM pricing comparison service that competes with ComputePrices.
  • Circumventing limits or tier gates. No key sharing, multi-account key farming, IP rotation, or systematically archiving responses to reconstruct the historical dataset from a tier that doesn't include it.

Keys and IPs violating these terms may be throttled, suspended, or revoked without notice. Want to license the raw feed or do something these terms don't cover? Email api@computeprices.com — we're easy to talk to.

Versioning & stability

All endpoints live under /api/v1/* and guarantee additive, non-breaking changes at this version. Breaking changes will ship under a new version prefix and the old version will stay available for at least 6 months.

Fields added to response bodies are non-breaking. Fields are never renamed or removed at the same version. meta.version is always "v1".

Roadmap

Near-term (explicit target):

  • v1.1: price indices, provider comparison, cheapest-per-model, historical prices with date ranges, CSV & NDJSON export.
  • v1.2: LLM benchmarks (throughput, TTFT, p95), per-provider scrape-health and data-confidence metrics.

No-date items:

  • Webhooks on price change.
  • Per-key scopes (restrict a key to specific endpoints).
  • Public SLA page.

Next steps