Real-time GPU spot prices across 7 cloud providers. Open, free, CORS-enabled — use it anywhere.
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
| Field | Type | Description |
|---|---|---|
| gpu | string | Full GPU model name |
| slug | string | URL-friendly identifier — use in the :gpu_slug endpoint |
| provider | string | Provider slug: aws, gcp, azure, lambda, coreweave, runpod, vastai |
| spot_price_usd | number | null | Current hourly spot price in USD |
| on_demand_price_usd | number | null | Current hourly on-demand price in USD |
| savings_pct | number | null | % savings vs on-demand (null if on-demand unavailable) |
| last_seen | ISO 8601 | Timestamp of last price snapshot |
# 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']