Adapted from the black-candle-technologies/gpu-index repository docs.
A normalized, checkable index of published GPU cloud prices and availability. Not a person, not a review site: every value is a fact from a provider's own public pricing page, with the source URL on every row.
All public pages, no login, no API keys:
| Provider | Source |
|---|---|
| RunPod | runpod.io/pricing (community + secure rates) |
| Vast.ai | cloud.vast.ai/api/v0/bundles/ (public marketplace API) |
| Lambda Labs | lambda.ai/pricing (on-demand table) |
| CoreWeave | coreweave.com/pricing (node prices ÷ GPU count) |
| Paperspace | paperspace.com/pricing (hourly + monthly effective) |
scrape.availability: null means the provider does not publish availability. CoreWeave publishes node-level prices; per-GPU figures are node ÷ GPU count. Lambda keeps the lowest published rate per GPU and states the range. Paperspace's starred H100/A100 prices are 3-year commitment rates, kept separate under price_type: contract_3yr.GPU-Index/1.0, keep ≥2s between requests to one host, ≤10 requests per provider run.python -m venv .venv && source .venv/bin/activate
pip install -e ".[test]"
python -m gpu_index.cli scrape # scrape into data/gpu_index.sqlite
python -m gpu_index.cli providers # query the local index
python -m gpu_index.cli dump --provider runpod
python -m gpu_index.cli export-csv prices.csv
python -m gpu_index.cli serve # REST API on 127.0.0.1:8000
Run tests: pytest.
Interactive docs at /docs. Key endpoints:
GET /healthzGET /v1/providers — per-provider snapshot status + point countsGET /v1/gpus — known GPU familiesGET /v1/prices?provider=&gpu_family= — latest price pointsGET /v1/prices/history?provider=&gpu_family=&limit= — time seriesGET /v1/cheapest?gpu_family=&include_contracts= — cheapest per familyGET /v1/summary — per-family cheapest across providersGET /v1/dataset.csv — whole latest snapshot as CSVGET /v1/about — provenance statementcurl 'http://127.0.0.1:8000/v1/cheapest?gpu_family=h100'
Live at https://gpu-index.blackcandletech.com (systemd gpu-index.service + hourly gpu-index-scrape.timer on the VPS; Caddy reverse proxy).
/opt/gpu-index (git clone, branch main). Deploy: sudo -u ubuntu git -C /opt/gpu-index pull --ff-only, then sudo systemctl restart gpu-index.service./var/lib/gpu-index/gpu_index.sqlite (owned by the gpuindex service user; code swaps never touch it).deploy/gpu-index.service, deploy/gpu-index-scrape.service, deploy/gpu-index-scrape.timer.