API · v1
Get a free API key
Required for every endpoint — 750 requests/day and 7-day price trends. Email sign-in, no password.
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-Agentheader. - Respect
Retry-Afteron429responses. - 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:
| Capability | Free | Pro | Enterprise |
|---|---|---|---|
| Rate limit | 750 / day | 3,000 / day | custom |
| Active API keys | 1 | 3 | 3 |
| Latest GPU + LLM prices | ✓ | ✓ | ✓ |
Filters (provider, gpu/model, pricing_type) | ✓ | ✓ | ✓ |
| GPU / LLM / provider catalog | ✓ | ✓ | ✓ |
| Weekly movers | ✓ | ✓ | ✓ |
| Trends window cap | 7 days | 90 days | 365 days |
| Price indices (weekly) | — | v1.1 | v1.1 |
| Provider comparison | — | v1.1 | v1.1 |
| Cheapest-per-model aggregates | — | v1.1 | v1.1 |
| Raw price history window (GPU) | 7 days | 90 days | 365 days |
| Raw price history (LLM) | — | v1.1 | v1.1 |
| Export formats (CSV, NDJSON) | — | v1.1 | v1.1 |
| LLM benchmarks (throughput, TTFT) | — | v1.2 | v1.2 |
| Provider data-health | — | — | v1.2 |
| Webhooks on price change | — | roadmap | roadmap |
| SLA | — | best-effort | 99.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:
| Name | Type | Description |
|---|---|---|
provider | slug | Filter to a single provider (e.g. lambda, runpod). |
gpu | slug | Filter to a single GPU model (e.g. h100, a100-80gb). |
pricing_type | on_demand | spot | Filter 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:
| Name | Type | Description |
|---|---|---|
provider | slug | Filter to a single provider. |
model | slug | Filter to a single model (e.g. claude-3-5-sonnet, gpt-4o). |
pricing_type | standard | batch | Filter 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
Trends & movers
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:
| Name | Type | Description |
|---|---|---|
days | integer | Number 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:
| Name | Type | Description |
|---|---|---|
days | integer | Number 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:
| Name | Type | Description |
|---|---|---|
scope | gpu | llm | Required. Which price universe to query. |
limit | integer | Max 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:
| Name | Type | Description |
|---|---|---|
gpu | string | Filter to a single GPU model slug (e.g. h100). |
provider | string | Filter by provider slug (e.g. lambda). |
pricing_type | on_demand | spot | reserved | Filter by pricing model. |
days | integer | Number of days of history. Clamped to your tier cap. |
limit | integer | Rows per page (default and max 1000). |
cursor | string | meta.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
- Start with
/api/v1/providersto see what's tracked. - Grab the OpenAPI 3.1 schema for client generation:
/api/v1/openapi.json. - Grab raw markdown for your agent:
/docs/api.md(text/markdown). - Site-wide resource map:
llms.txt. - Get a free key (or upgrade to Pro): computeprices.com/account/api-keys.
- Feedback or enterprise inquiries: api@computeprices.com.