FREE — No API key required

GPU Pricing API

Real-time GPU spot prices across 7 cloud providers. Open, free, CORS-enabled — use it anywhere.

Endpoints

GEThttps://roofrun.polsia.app/api/v1/prices

All current GPU spot prices across every provider. One row per GPU × provider combination, latest snapshot.

curl https://roofrun.polsia.app/api/v1/prices
{
  "updated_at": "2026-04-28T14:00:00Z",
  "refresh_interval_minutes": 30,
  "prices": [
    {
      "gpu": "NVIDIA H100 SXM",
      "slug": "h100",
      "provider": "aws",
      "spot_price_usd": 1.23,
      "on_demand_price_usd": 3.50,
      "savings_pct": 64.9,
      "last_seen": "2026-04-28T13:45:00Z"
    }
  ]
}

GEThttps://roofrun.polsia.app/api/v1/prices/:gpu_slug

Prices for a specific GPU. Use the slug field from the full prices response.

Available slugs: h100  h200  a100  l40s  a10g  t4  rtx-4090  v100

curl https://roofrun.polsia.app/api/v1/prices/h100

Response Fields

FieldTypeDescription
gpustringFull GPU model name
slugstringURL-friendly identifier — use in the :gpu_slug endpoint
providerstringProvider slug: aws, gcp, azure, lambda, coreweave, runpod, vastai
spot_price_usdnumber | nullCurrent hourly spot price in USD
on_demand_price_usdnumber | nullCurrent hourly on-demand price in USD
savings_pctnumber | null% savings vs on-demand (null if on-demand unavailable)
last_seenISO 8601Timestamp of last price snapshot

Rate Limits

60 requests per minute per IP. No authentication. No API key. CORS enabled — call from any frontend, script, or README badge.

Usage Examples

# Fetch all GPU prices
curl https://roofrun.polsia.app/api/v1/prices

# Fetch H100 prices only
curl https://roofrun.polsia.app/api/v1/prices/h100

# JavaScript
const { prices } = await fetch('https://roofrun.polsia.app/api/v1/prices').then(r => r.json());
const cheapestH100 = prices.filter(p => p.slug === 'h100').sort((a, b) => a.spot_price_usd - b.spot_price_usd)[0];

# Python
import requests
data = requests.get('https://roofrun.polsia.app/api/v1/prices').json()
h100_prices = [p for p in data['prices'] if p['slug'] == 'h100']