---
title: "Public GPU price catalog"
method: GET
path: "/v1/catalog"
tags: ["GPU Plans"]
---

# Public GPU price catalog

`GET /v1/catalog`

## Request

- Base URL: `https://gpucloud.ca/api`
- URL: `https://gpucloud.ca/api/v1/catalog`
- Auth: none required

PUBLIC, no authentication, read-only. Every GPU machine sold online at a public price, in the versioned price feed schema (same data as https://gpucloud.ca/feeds/gpu-prices.json, the CSV and RSS feeds and https://gpucloud.ca/llms.txt): prices in CAD, taxes extra, dated by catalogDate. `available` and `availabilityUpdatedAt` are present only when read from a fresh stock snapshot (less than 2 minutes old), otherwise omitted. Cached 15 seconds (Cache-Control: max-age=15). Rate limited to 60 requests per minute per IP (429 with Retry-After). CORS open for GET.

## Response `200`

Price catalog

- object
  - `data` PriceFeed
    - `schemaVersion` string, required: Version of this schema (changes when a field changes).
    - `catalogDate` string, date, required: Date of the catalog data: the prices are valid from this date.
    - `currency` 'CAD', required
    - `region` string, required: Public region (canada-montreal, Montreal, Canada).
    - `taxesIncluded` false, required
    - `items` object[], required
      - `id` string, required: Catalog product id (on-demand machine).
      - `model` string, required: GPU model, e.g. NVIDIA H100 PCIe.
      - `gpuCount` integer, required
      - `vramGb` number, nullable, required: GPU memory of one GPU, GB.
      - `vcpu` integer, required
      - `ramGb` integer, required
      - `diskGb` integer, required: System disk, GB.
      - `localDiskGb` integer, required: Local work disk, GB (0 when none).
      - `hourlyCad` number, required: Whole machine, CAD per hour, no commitment.
      - `monthlyCad` number, required: Whole machine, CAD per month, monthly term.
      - `hourlyCadPerGpu` number, required: hourlyCad / gpuCount, 4 decimals.
      - `hourlyCadPerVramGb` number, nullable, required: hourlyCad / (gpuCount x vramGb), 5 decimals.
      - `spotHourlyCad` number: Spot machine of the same model and size (interruptible, hourly only), when sold online.
      - `pageUrl` string, uri, required
      - `available` boolean: Only when read from a fresh stock snapshot.
    - `onRequest` string[], required: GPU models sold on request only (no public price).
    - `availabilityUpdatedAt` string, date-time: Only with `available` on the items.

## Other responses

- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/gpucloud/apis/gpu-cloud-api.md) · [All operations](https://skmtc.dev/gpucloud/apis/gpu-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gpucloud/apis/gpu-cloud-api/revisions/ed530411f5c7?raw)
