# List Products - Documentation

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown is available with `Accept: text/markdown` and `.md` URL variants.

Source: /docs/api-reference/gpus-v2-list-products

# List Products

GET

/

gpus

/

v2

/

products

Try it

List Products

cURL

```
curl --request GET \
--url https://api.novita.ai/gpus/v2/products \
--header 'Authorization: &#x3C;authorization>'
```

```
import requestsurl = "https://api.novita.ai/gpus/v2/products"headers = {"Authorization": "&#x3C;authorization>"}response = requests.get(url, headers=headers)print(response.text)
```

```
const options = {method: 'GET', headers: {Authorization: '&#x3C;authorization>'}};fetch('https://api.novita.ai/gpus/v2/products', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));
```

```
&#x3C;?php$curl = curl_init();curl_setopt_array($curl, [ CURLOPT_URL => "https://api.novita.ai/gpus/v2/products", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: &#x3C;authorization>" ],]);$response = curl_exec($curl);$err = curl_error($curl);curl_close($curl);if ($err) { echo "cURL Error #:" . $err;} else { echo $response;}
```

```
package mainimport (	"fmt"	"net/http"	"io")func main() {	url := "https://api.novita.ai/gpus/v2/products"	req, _ := http.NewRequest("GET", url, nil)	req.Header.Add("Authorization", "&#x3C;authorization>")	res, _ := http.DefaultClient.Do(req)	defer res.Body.Close()	body, _ := io.ReadAll(res.Body)	fmt.Println(string(body))}
```

```
HttpResponse&#x3C;String> response = Unirest.get("https://api.novita.ai/gpus/v2/products") .header("Authorization", "&#x3C;authorization>") .asString();
```

```
require 'uri'require 'net/http'url = URI("https://api.novita.ai/gpus/v2/products")http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Get.new(url)request["Authorization"] = '&#x3C;authorization>'response = http.request(request)puts response.read_body
```

200

```
{
"data": [
{
"id": "prod-a100-80g",
"name": "A100-80G",
"type": "gpu",
"category": "instance",
"description": "NVIDIA A100 80GB",
"region_ids": [
"c-east-1"
],
"resource_spec": {
"gpu": {
"spec_id": "spec-a100-80g",
"name": "A100",
"memory_gb": 80,
"min": 1,
"max": 8,
"available": 6,
"max_available": 6
},
"cpu": 16,
"memory_gb": 128,
"rootfs": {
"min_gb": 50,
"max_gb": 500,
"free_gb": 50
}
},
"pricing": {
"precision": 3,
"postpaid": {
"base_price": 18000,
"final_price": 12600,
"unit": "per_hour"
},
"spot": {
"base_price": 12600,
"final_price": 6000,
"unit": "per_hour"
},
"prepaid": [
{
"spec_id": "spec_a100_1m",
"duration_months": 1,
"final_price": 9072000,
"base_price": 12960000
}
],
"storage_price_per_gb": 50
},
"billing_methods": [
"postpaid",
"prepaid",
"spot"
],
"inventory_state": "normal",
"deployable": true,
"activity": {
"is_activity_product": false,
"active": false,
"purchasable": true
}
}
]
}
```

#### Headers

[​](#parameter-authorization)

Authorization

string

required

Bearer authentication format, e.g.: `Bearer {{API_KEY}}`.

#### Query Parameters

[​](#parameter-type)

type

enum<string>

required

Product type. Defaults to `gpu` when empty. Allowed values: `gpu`, `cpu`.

Available options:

`gpu`,

`cpu`

[​](#parameter-category)

category

enum<string>

required

Product category. Allowed values: `serverless`, `instance`.

Available options:

`serverless`,

`instance`

[​](#parameter-cpu)

cpu

integer

CPU core tier. Integer, value >= 0.

[​](#parameter-memory-gb)

memory_gb

integer

Memory tier. Integer, value >= 0. Unit: GB.

[​](#parameter-rootfs-size)

rootfs_size

integer

Root disk size. Integer, value >= 0. Unit: GB.

[​](#parameter-billing-method)

billing_method

enum<string>

Billing method. Allowed values: `postpaid`, `prepaid`, `spot`.

Available options:

`postpaid`,

`prepaid`,

`spot`

[​](#parameter-region-ids)

region_ids

string

Region filter. Multiple Region IDs are comma-separated.

[​](#parameter-limit)

limit

integer

Maximum number of items to return. Integer, value >= 0.

[​](#parameter-cursor)

cursor

string

Cursor returned by the previous page. Leave empty for the first request. String, length: 0-1024 characters.

#### Response

200 - application/json

OK

[​](#response-data)

data

object[]

Product list

Show child attributes

Last modified on June 23, 2026
