List GPU Products
curl --request GET \
--url https://api.novita.ai/gpu-instance/openapi/v1/products \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.novita.ai/gpu-instance/openapi/v1/products"
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'}
};
fetch('https://api.novita.ai/gpu-instance/openapi/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novita.ai/gpu-instance/openapi/v1/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: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.novita.ai/gpu-instance/openapi/v1/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.novita.ai/gpu-instance/openapi/v1/products")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/gpu-instance/openapi/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"cpuPerGpu": 123,
"memoryPerGpu": 123,
"diskPerGpu": 123,
"availableDeploy": true,
"minRootFS": 123,
"maxRootFS": 123,
"minLocalStorage": 123,
"maxLocalStorage": 123,
"regions": {},
"price": 123,
"monthlyPrice": [
{
"price": 123,
"month": 123
}
],
"billingMethods": [
"<string>"
],
"spotPrice": "<string>",
"inventoryState": "<string>"
}
]
}Product
List GPU Products
GET
/
gpu-instance
/
openapi
/
v1
/
products
List GPU Products
curl --request GET \
--url https://api.novita.ai/gpu-instance/openapi/v1/products \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.novita.ai/gpu-instance/openapi/v1/products"
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'}
};
fetch('https://api.novita.ai/gpu-instance/openapi/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novita.ai/gpu-instance/openapi/v1/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: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.novita.ai/gpu-instance/openapi/v1/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.novita.ai/gpu-instance/openapi/v1/products")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/gpu-instance/openapi/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"cpuPerGpu": 123,
"memoryPerGpu": 123,
"diskPerGpu": 123,
"availableDeploy": true,
"minRootFS": 123,
"maxRootFS": 123,
"minLocalStorage": 123,
"maxLocalStorage": 123,
"regions": {},
"price": 123,
"monthlyPrice": [
{
"price": 123,
"month": 123
}
],
"billingMethods": [
"<string>"
],
"spotPrice": "<string>",
"inventoryState": "<string>"
}
]
}Request Headers
string
requis
Enum:
application/jsonstring
requis
Bearer authentication format, for example: Bearer {{API Key}}.
Query Parameters
string
Filter by specified cluster ID. String, length limit: 0-255 characters.
integer
Filter by number of GPUs. Integer, valid range: [0, 8].
string
Filter by product name (fuzzy match). String, length limit: 0-255 characters.
integer
Filter by minimum CPU cores per GPU. Integer, value must be greater than or equal to 0.
integer
Filter by minimum memory per GPU (GB). Integer, value must be greater than or equal to 0.
integer
Filter by minimum root filesystem size per GPU (GB). Integer, value must be greater than or equal to 0.
string
Filter by billing method. Options:
onDemand: Pay-as-you-go instance (default)monthly: Subscription instance (monthly or yearly)spot: Spot instance billing
Response
object[]
requis
GPU product information.
Masquer properties
Masquer properties
string
requis
Product ID.
string
requis
Product name.
integer
requis
Number of CPU cores per GPU.
integer
requis
Memory size per GPU (GB).
integer
requis
Disk size per GPU (GB).
boolean
requis
Whether this product can be used to create an instance. Values:
- true: The product can be used to create an instance.
- false: Insufficient resources, cannot create an instance.
integer
requis
Minimum available root filesystem size (GB).
integer
requis
Maximum available root filesystem size (GB).
integer
requis
Minimum available local storage size (GB).
integer
requis
Maximum available local storage size (GB).
[string]
requis
Available clusters. Indicates that this product is only available in the specified clusters. If the list is empty, the product is available in all clusters.
integer
requis
Price for creating a pay-as-you-go instance with this product.
object[]
requis
string[]
requis
The billing methods supported by this product. Valid values:
onDemand: Pay-as-you-go billingmonthly: Monthly subscription billingspot: Spot instance billing
string
Spot billing instance price.
string
Product inventory status:
none: Out of stocklow: Low stocknormal: Normal stockhigh: Sufficient stock
Dernière modification le 15 mai 2026
⌘I