GPU Finder public API
The API is live, public, read-only, and requires no authentication. It exposes the same current pricing and availability data used by GPU Finder pages.
Endpoints
| Endpoint | Parameters | Returns |
|---|---|---|
GET /api/v1/gpus | No parameters | All current GPU models, provider/instance counts, price range, and known hardware specs. |
GET /api/v1/prices | gpu (required), count (integer 1–10,000; default 1) | Current on-demand and spot whole-node hourly prices for one model and node size. |
GET /api/v1/snapshot | gpu (required), count (integer 1–10,000; default 1) | Canonical lowest-listed and lowest-confirmed-in-stock answer, normalized per GPU-hour. |
GET /api/v1/providers | No parameters | Provider catalogue, smallest-node price range, egress fields, reliability, and stable outbound URL. |
GET /api/v1/availability | gpu (required), provider (optional name or slug) | Seven-day availability cells and percentage by provider and GPU count. |
GET /api/v1/history | gpu (required), count (integer 1–10,000; default 1) | Monthly per-provider on-demand and spot price floors. |
GET /api/v1/status | No parameters | Latest price/availability collection timestamps and per-provider run health. |
Price units
Price rows use USD per hour for the whole instance/node. Divide by gpuCount for a per-GPU-hour figure. The snapshot endpoint returns both wholeNodeHourlyPrice and perGpuHourlyPrice and ranks offers using the latter.
Availability and freshness
available and limited are current provider-reported stock signals; unavailable means the last current check reported no capacity; unknown means no current signal. Signals older than six hours are treated as unknown. Availability is polled hourly; most pricing is refreshed daily, with direct feeds updated more often where supported.
Response envelope
Successful and error responses use the same top-level shape:
{
"version": "v1",
"generatedAt": "2026-08-24T18:23:00.000Z",
"data": { ... }
}Errors place { "error": { "code", "message" } } inside data. Statuses include 400 invalid parameters, 404 unknown GPU, 429 rate limited, and 500 internal error.
Rate limits, caching, and CORS
The public policy is 120 requests per minute per IP. Responses include X-RateLimit-Limit and X-RateLimit-Policy; a 429 includes Retry-After. GET responses are CDN-cached according to their Cache-Control header. CORS allows any origin for GET and OPTIONS; no credentials or API key are required.
Examples
curl 'https://gpufinder.dev/api/v1/snapshot?gpu=h100&count=1'
curl 'https://gpufinder.dev/api/v1/prices?gpu=mi300x&count=8'
curl 'https://gpufinder.dev/api/v1/availability?gpu=h100&provider=runpod'For methodology and limitations, see how GPU Finder computes and refreshes its data.