---
title: "List GPU prices"
method: GET
path: "/cloud/public/v1/pricing/gpu"
tags: ["Pricing"]
---

# List GPU prices

`GET /cloud/public/v1/pricing/gpu`

## Request

- Base URL: `https://api.gcore.com`
- URL: `https://api.gcore.com/cloud/public/v1/pricing/gpu`
- Auth: none required

Returns list prices for GPUs, bare metal and virtual, in EUR and USD.

The response has no pagination. The catalog is small. The list sorts by
price per hour, from low to high.

## Response `200`

GPU prices

- GpuPricingCatalogSerializer
  - `count` integer, required: Number of objects
  - `generated_at` string, date-time, required: When this catalog snapshot was built.
  - `results` GpuPriceRowSerializer[], required: Objects
    - `currency` 'EUR' | 'USD', required
    - `deployment_type` 'baremetal' | 'virtual', required
    - `gpu_count` integer, required: Number of GPU cards this price covers.
    - `gpu_model` string, required: GPU model.
    - `price_per_gpu_hour` string, required: On-demand price per GPU per hour.
    - `price_per_hour` string, required: On-demand price per node/instance per hour.
    - `pricing_detail` GpuPricingDetailSerializer, required
      - `flavor_names` string[], required: Flavor names that share this SKU and price.
      - `sku` string, required: SKU id for this price row.
      - `updated_at` string, date-time, required: When this row was last refreshed.
    - `region_name` string, required: Region this price applies to.

## Other responses

- `400`: The request cannot succeed as it is. `type` is `validation-error` or `not-available`.
- `401`: The request has no valid credentials. `type` is `unauthorized`.
- `403`: The credentials do not permit the operation, or another service manages the resource. `type` is `permission-denied`.
- `404`: The resource or the URL does not exist. `type` is `not-found`.
- `409`: The resource is in a transient state. `type` is `resource-busy`. Send the same request again after the `Retry-After` seconds.
- `500`: The server cannot complete the request. `type` is `internal-server-error`.
- `503`: The service is down for a known reason, such as planned maintenance. `type` is `service-unavailable`. A 503 without the `application/problem+json` media type, and every 502 and 504, comes from the gateway and has no problem body.

## Changes

- **2026-11-02** `a2b772345f3a`: 7 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - …3 more
- **2026-10-09** `1bd9f93e9f9b`: 1 breaking, 1 warning, 2 info
  - removed the required property `results/items/region` from the response with the `200` status
  - added the new `baremetal` enum value to the `results/items/deployment_type` response property for the response status `200`
  - removed the `bare_metal` enum value from the `results/items/deployment_type` response property for the response status `200`
  - added the required property `results/items/region_name` to the response with the `200` status
- **2026-10-06** `3801e7cda13a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/g-core/apis/gcore-openapi/changes/cloud/public/v1/pricing/gpu/get.md)

---

[API](https://skmtc.dev/g-core/apis/gcore-openapi.md) - [All operations](https://skmtc.dev/g-core/apis/gcore-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/g-core/apis/gcore-openapi/revisions/a2b772345f3a?raw)
