# Bulk download
Source: https://docs.silicondata.com/api-reference/bulk-download
## POST /api/data-hub/gpu/archive/list
Get GPU batch download list. A list of `id` from response must be used in the `/download` endpoint to find the download URL.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format. All fields are optional; `filter` is a list of single-key objects.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `filter/tier` | integer | No | The data tier to be downloaded; defaults to 3 | |
| `filter/interval` | string | No | Interval of the data | \[day, month, quarter, year] |
| `filter/type` | string | No | Data type | \[rental, retail] |
| `filter/period` | string | No | Data period, e.g. "2025-03-31", "2025-03", "2025" | |
| `paginate/num_per_page` | integer | No | How many records to return per page; default 50 | \[ 1 .. 100 ] |
| `paginate/page_num` | integer | No | The page index number; default 1 | >= 1 |
| `order_by/period` | string | No | Sort order of the file list | \[asc, desc] |
### Request Example
```json theme={null}
{
"filter": [
{"tier": 3},
{"interval": "day"},
{"type": "rental"},
{"period": "2025-06-02"}
],
"paginate": {"num_per_page": 10, "page_num": 1},
"order_by": [
{"period": "desc"}
]
}
```
### Responses
Response consists of meta and data, where:
* meta is the metadata regarding the request. `code` in `meta` indicates the error code of the request, with 0 indicating no error.
* data contains the total number of results and a list of results, each containing the `id` that can be used to download the data.
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/archive/list",
"message": "OK",
"timestamp": 1748908800
},
"data": {
"total": 1,
"results": [
{
"tier": 3,
"interval": "day",
"period": "2025-06-02",
"type": "rental",
"csv_s3_path": "s3://bucket/path/to/file.csv",
"id": "1234567890123456789",
"sequence_id": 1
}
]
}
}
```
***
## POST /api/data-hub/gpu/archive/download
Get GPU data download URL using `id`, obtained from the `/list` endpoint.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `id` | integer | Yes | ID used for find download URL | |
### Request Example
```json theme={null}
{
"id": 1234567890123456789
}
```
### Responses
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/archive/download",
"message": "OK",
"timestamp": 1748908800
},
"data": {
"csv_download_url": "https://sd-data-archive.s3.amazonaws.com/gpu/2025-03-31.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=3600&X-Amz-Signature=8f3c1b9a2d..."
}
}
```
## Batch download GPU data using Python
This example shows how to batch download GPU data using the two endpoints above. We first list the available data using the `/list` endpoint, and then download each file using the `/download` endpoint.
The required API token can be obtained through the user portal.
```python theme={null}
import requests
token = "ENTER YOUR API TOKEN HERE"
headers = {'Authorization': f'Bearer {token}'}
base_url = "https://api.silicondata.com/api/data-hub/gpu/archive"
body = {
"filter": [
{"tier": 3},
{"interval": "day"},
{"type": "rental"},
{"period": "2025-06-02"}
],
"paginate": {"num_per_page": 10, "page_num": 1},
"order_by": [
{"period": "desc"}
]
}
listing_res = requests.post(f"{base_url}/list", json=body, headers=headers).json()
for res in listing_res['data']['results']:
download_res = requests.post(f"{base_url}/download", json={"id": res['id']}, headers=headers).json()
csv_download_url = download_res['data']['csv_download_url']
with open(f"{res['period']}.csv", 'wb') as file:
file.write(requests.get(csv_download_url).content)
```
# SiliconCarbon API
Source: https://docs.silicondata.com/api-reference/carbon
API docs for accessing GPU carbon intensity and carbon emission data from Silicon Data.
> 📌 **Note:** All SiliconCarbon endpoints require an active subscription. Successful responses are wrapped in a `{ "meta": {...}, "data": {...} }` envelope; the documented response body for each endpoint is returned under the `data` key.
## GET /api/data-hub/carbon/gpu-carbon-intensity
Calculate the carbon intensity of a GPU for a given location, using query parameters.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `gpu_slug` | string or null | No | GPU slug. Either `gpu_slug` or `gpu_name` must be provided. | |
| `gpu_name` | string or null | No | GPU full name. If `gpu_slug` is filled in, full name will be overridden; if `gpu_slug` is not provided, full name is required. | |
| `hours_used` | number | Yes | GPU used in hours, should be greater than 0. | > 0 |
| `zipcode` | string | Yes | Zip code of data center. | |
| `country_code` | string | Yes | Country code of data center, represented in ISO 3166-1 alpha-2, e.g., `US` for United States. | |
### Request Example
```
GET /api/data-hub/carbon/gpu-carbon-intensity?gpu_slug=nvidia-h100&hours_used=24&zipcode=94103&country_code=US
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"carbonIntensity": 643.20,
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"gpu_tdp": 700,
"zipcode": "94103",
"country_code": "US",
"carbon_emission_rate": 38.2857,
"carbon_data_updated_time": "2025-04-01T00:00:00"
}
}
```
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "Parameter value error: hours_used:Input should be greater than 0",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **500**: Business Error (e.g., region not found, GPU not found, or missing GPU identifier)
```json theme={null}
{
"meta": {
"code": 34003,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "Unfortunately, we currently do not have data available for the region you selected.\nFor more information, please contact us at support@silicondata.com.",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## POST /api/data-hub/carbon/gpu-carbon-intensity
Calculate the carbon intensity of a GPU for a given location, using a JSON request body.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `gpu_slug` | string or null | No | GPU slug. Either `gpu_slug` or `gpu_name` must be provided. | |
| `gpu_name` | string or null | No | GPU full name. If `gpu_slug` is filled in, full name will be overridden; if `gpu_slug` is not provided, full name is required. | |
| `hours_used` | number | Yes | GPU used in hours, should be greater than 0. | > 0 |
| `zipcode` | string | Yes | Zip code of data center. | |
| `country_code` | string | Yes | Country code of data center, represented in ISO 3166-1 alpha-2, e.g., `US` for United States. | |
### Request Example
```json theme={null}
{
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"hours_used": 24,
"zipcode": "94103",
"country_code": "US"
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"carbonIntensity": 643.20,
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"gpu_tdp": 700,
"zipcode": "94103",
"country_code": "US",
"carbon_emission_rate": 38.2857,
"carbon_data_updated_time": "2025-04-01T00:00:00"
}
}
```
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "Parameter value error: hours_used:Input should be greater than 0",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **500**: Business Error (e.g., region not found, GPU not found, or missing GPU identifier)
```json theme={null}
{
"meta": {
"code": 34003,
"url": "/api/data-hub/carbon/gpu-carbon-intensity",
"message": "Unfortunately, we currently do not have data available for the region you selected.\nFor more information, please contact us at support@silicondata.com.",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## GET /api/data-hub/carbon/zone-emission-rate
Query the carbon emission rate of a zone by zipcode and country code.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `zipcode` | string | Yes | Zip code. | |
| `country_code` | string | Yes | Country code, represented in ISO 3166-1 alpha-2, e.g., `US` for United States. | |
### Request Example
```
GET /api/data-hub/carbon/zone-emission-rate?zipcode=94103&country_code=US
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/zone-emission-rate",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"carbon_emission_rate": {
"zipcode": "94103",
"country_code": "US",
"country_name": "United States",
"carbon_region_code": "US-CAL-CISO",
"carbon_emission_rate": 38.2857,
"carbon_emission_rate_type": "00",
"emission_factor_type": "LC",
"extra_data": null,
"updated_time": "2025-04-01T00:00:00"
}
}
}
```
> When no emission rate is found for the given zone, `carbon_emission_rate` is returned as `null`.
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/zone-emission-rate",
"message": "Parameter value error: zipcode:Field required",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## GET /api/data-hub/carbon/gpu-carbon-provider-intensity
Calculate the carbon intensity of a GPU hosted by a specific cloud provider region.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `gpu_slug` | string or null | No | GPU slug. Either `gpu_slug` or `gpu_name` must be provided. | |
| `gpu_name` | string or null | No | GPU full name. If `gpu_slug` is filled in, full name will be overridden; if `gpu_slug` is not provided, full name is required. | |
| `hours_used` | number | Yes | GPU used in hours, should be greater than 0. | > 0 |
| `provider` | string | Yes | Name of the provider. | |
| `provider_code` | string | Yes | Unique code of the provider region. | |
### Request Example
```
GET /api/data-hub/carbon/gpu-carbon-provider-intensity?gpu_slug=nvidia-h100&hours_used=24&provider=Amazon%20Web%20Services&provider_code=us-east-1
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/gpu-carbon-provider-intensity",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"carbonIntensity": 643.20,
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"gpu_tdp": 700,
"hour": 24,
"provider": "Amazon Web Services",
"provider_code": "us-east-1",
"carbon_emission_rate": 38.2857,
"carbon_data_updated_time": "2025-04-01T00:00:00"
}
}
```
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/gpu-carbon-provider-intensity",
"message": "Parameter value error: provider_code:Field required",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **500**: Business Error (e.g., provider code not found, GPU not found, or missing GPU identifier)
```json theme={null}
{
"meta": {
"code": -1,
"url": "/api/data-hub/carbon/gpu-carbon-provider-intensity",
"message": "No matching data found for provider_code us-east-1 in sd_data_center.",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## POST /api/data-hub/carbon/batch/gpu-carbon-intensity
Batch query the carbon intensity of multiple GPUs in a single request. A maximum of 50 items may be submitted per request.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `data` | Array | No | List of the GPU carbon intensity querying arguments. | Max 50 items |
#### data (Array)
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `gpu_slug` | string or null | No | GPU slug. If `gpu_name` is None, this field should be filled in. | |
| `gpu_name` | string or null | No | GPU name. If `gpu_slug` is filled in, this field will be overridden; if `gpu_slug` is None, this field is required. | |
| `hours_used` | number | Yes | GPU used in hours, should be greater than 0. | > 0 |
| `zipcode` | string | Yes | Zipcode of data center. | |
| `country_code` | string | Yes | Country code of data center, represented in ISO 3166-1 alpha-2, e.g., `US` for United States. | |
### Request Example
```json theme={null}
{
"data": [
{
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"hours_used": 24,
"zipcode": "94103",
"country_code": "US"
},
{
"gpu_slug": "nvidia-a100",
"gpu_name": null,
"hours_used": 12,
"zipcode": "10001",
"country_code": "US"
}
]
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/batch/gpu-carbon-intensity",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"data_cnt": 2,
"data": [
{
"gpu_slug": "nvidia-h100",
"gpu_name": null,
"gpu_tdp": 700,
"hours_used": 24,
"zipcode": "94103",
"country_code": "US",
"carbon_emission_rate": 38.2857,
"carbon_data_updated_time": "2025-04-01T00:00:00",
"carbon_intensity": 643.20
},
{
"gpu_slug": "nvidia-a100",
"gpu_name": null,
"gpu_tdp": 0,
"hours_used": 12,
"zipcode": "10001",
"country_code": "US",
"carbon_emission_rate": null,
"carbon_data_updated_time": null,
"carbon_intensity": null
}
]
}
}
```
> When the GPU or the carbon emission data for the given zone is not found, `carbon_intensity`, `carbon_emission_rate`, and `carbon_data_updated_time` are returned as `null` for that item.
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/batch/gpu-carbon-intensity",
"message": "Parameter value error: hours_used:Input should be greater than 0",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **500**: Business Error (e.g., batch exceeds 50 items, or an item is missing both `gpu_slug` and `gpu_name`)
```json theme={null}
{
"meta": {
"code": -1,
"url": "/api/data-hub/carbon/batch/gpu-carbon-intensity",
"message": "Exceed the upper limit of the number of querying per request, should less or equal 50 per request.",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## GET /api/data-hub/carbon/country
Query country detail information. Supports fuzzy (prefix) search by country name.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `country_name` | string | No | Country name; supports prefix search. If omitted, all countries are returned. | |
### Request Example
```
GET /api/data-hub/carbon/country?country_name=United
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/country",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"data_cnt": 1,
"data": [
{
"country_name": "United States",
"area": 9833517.0,
"population": 331002651,
"continent": "NA",
"iso_3166_alpha_2": "US",
"iso_3166_alpha_3": "USA",
"iso_3166_numeric": "840",
"created_time": "2024-01-01T00:00:00",
"updated_time": "2025-04-01T00:00:00",
"sync_time": "2025-04-01T00:00:00",
"fips": "US",
"capital": "Washington, D.C.",
"default_zipcode": "20001"
}
]
}
}
```
***
## GET /api/data-hub/carbon/default-zipcode
Query the default zipcode of a country by country code.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `country_code` | string | Yes | Country code, represented in ISO 3166-1 alpha-2, e.g., `US` for United States. | |
### Request Example
```
GET /api/data-hub/carbon/default-zipcode?country_code=US
```
### Responses
* **200**: Successful Response
The route returns the default zipcode as a string under the `data` key.
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/default-zipcode",
"message": "OK",
"timestamp": 1744201871
},
"data": "00501"
}
```
> If the country has no zipcodes, `data` is returned as an empty string.
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/data-hub/carbon/default-zipcode",
"message": "Parameter value error: country_code:Field required",
"timestamp": 1744201871,
"args": [],
"kwargs": {}
},
"data": {}
}
```
***
## GET /api/data-hub/carbon/providers/
Get the list of all data center providers.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
This endpoint takes no query parameters.
### Request Example
```
GET /api/data-hub/carbon/providers/
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/providers/",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"providers": [
"Amazon Web Services",
"Google Cloud Platform",
"Azure"
]
}
}
```
***
## GET /api/data-hub/carbon/providers//codes
Get the region codes for a given provider by provider name.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Path Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `provider_name` | string | Yes | Name of the provider. | |
### Request Example
```
GET /api/data-hub/carbon/providers/Amazon%20Web%20Services/codes
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/providers/Amazon Web Services/codes",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"provider": "Amazon Web Services",
"codes": [
"us-east-1",
"us-west-2",
"eu-west-1"
]
}
}
```
> If the provider is not found, both `provider` and `codes` are returned as `null`.
***
## GET /api/data-hub/carbon/providers\_selection//codes
Get the region codes for a given provider, restricted to a fixed set of supported providers.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Path Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `provider_name` | string | Yes | Name of the provider. Must be one of the supported provider names. | `Amazon Web Services`, `Google Cloud Platform`, `Azure` |
### Request Example
```
GET /api/data-hub/carbon/providers_selection/Amazon%20Web%20Services/codes
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/providers_selection/Amazon Web Services/codes",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"provider": "Amazon Web Services",
"codes": [
"us-east-1",
"us-west-2",
"eu-west-1"
]
}
}
```
> If the provider is not found or has no codes, `data` is returned as `null`.
***
## GET /api/data-hub/carbon/providers\_with\_codes/
Get the list of all providers, each with its associated region codes.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
This endpoint takes no query parameters.
### Request Example
```
GET /api/data-hub/carbon/providers_with_codes/
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/carbon/providers_with_codes/",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"data_cnt": 2,
"data": [
{
"provider_name": "Amazon Web Services",
"codes": [
"us-east-1",
"us-west-2"
]
},
{
"provider_name": "Google Cloud Platform",
"codes": [
"us-central1",
"europe-west1"
]
}
]
}
}
```
# Forward curve
Source: https://docs.silicondata.com/api-reference/forward-curve
## POST /api/gpu-forward/list
Get the GPU rental forward curve for a single GPU type on a given forward date. A list of `id` from response must be used in the `/download` endpoint to find the download URL.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `filter/interval` | string | Yes | Interval of the data | \[day, month] |
| `filter/period` | string | Yes | Date range in YYYY/MM/DD-YYYY/MM/DD | |
| `filter/type` | string | Yes | GPU type | \[A100, B200, H100] |
| `paginate/num_per_page` | integer | No | How many records will be return per one page, value score in 1 to 100,default value is 50 | \[ 1 .. 100 ] |
| `paginate/page_num` | integer | No | The page index number, default value is 1 | >= 1 |
| `order_by/period` | string | No | Order of the file list | \[asc, desc] |
### Request Example
```json theme={null}
{
"filter":[
{"interval":"day"},
{"period":"2025/01/06-2025/04/06"},
{"type":"A100"}
],
"order_by":[
{"period":"desc"}
],
"paginate":{"num_per_page":10,"page_num":1}
}
```
### Responses
Response consists of meta and data, where:
* meta is the metadata regarding the request. `code` in `meta` indicates the error code of the request, with 0 indicating no error.
* data contains the total number of results and a list of results, each containing the `id` that can be used to download the data.
```json theme={null}
{
"meta": {
"code": "integer",
"url": "string",
"message": "string",
"timestamp": "integer",
},
"data": {
"total": "integer",
"results": [
{
"interval": "string",
"period": "string",
"type": "string",
"csv_s3_path": "string",
"id": "string",
"sequence_id": "integer"
}
]
}
}
```
***
## POST /api/gpu-forward/download
Get GPU data download URL using `id`, obtained from the `/list` endpoint.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `id` | integer | Yes | ID used for find download URL | |
### Request Example
```json theme={null}
{
"id": 2046555026029398400
}
```
### Responses
```json theme={null}
{
"meta": {
"code": "integer",
"url": "string",
"message": "string",
"timestamp": "integer"
},
"data": {
"csv_download_url": "string"
}
}
```
# GPU Index API
Source: https://docs.silicondata.com/api-reference/gpu_index_api
API docs for accessing GPU Index from Silicon Data.
> 📌 **Note:** The GPU Index API is only available for **Plus** and **Professional** tier subscribers. Access is further gated per subscription: your subscription may restrict the available `index_version` (`hs` / `neo`) and the queryable date range.
## POST /api/gpu-index/index
Get GPU index data, from starting date (from 2024-09-01) to ending date. If no date range is provided, data for today will be used by default. A returned value of `-1` or any negative number indicates that the data has not yet been generated—please wait or contact support.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `gpu` | string | YES | GPU type to query (case-insensitive). | One of `h100`, `a100`, `b200`, `mi300x`, `h200`; 1 to 20 characters |
| `index_version` | string | NO | Index version: `neo` (NeoCloud) or `hs` (HyperScaler). Defaults to `neo`. May be overridden by your subscription permissions. | One of `hs`, `neo` |
| `starting_date` | string or null | NO | The start date for the query in `YYYY-MM-DD` format. Defaults to today if not provided. | On or after the per-GPU minimum date (default `2024-09-01`); not in the future |
| `ending_date` | string or null | NO | The end date for the query in `YYYY-MM-DD` format. Defaults to today if not provided. | Not in the future |
`starting_date` must be less than or equal to `ending_date`.
### Request Example
```json theme={null}
{
"gpu": "h100",
"index_version": "neo",
"starting_date": "2025-04-01",
"ending_date": "2025-04-05"
}
```
### Responses
* **200**: Successful Response
Index values are returned as strings formatted to two decimal places. The `index_version` field is only included when your subscription grants access to an `hs`/`neo` catalog.
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/gpu-index/index",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"gpu": "h100",
"starting_date": "2025-04-01",
"ending_date": "2025-04-05",
"indexes": {
"2025-04-01": "2.25",
"2025-04-02": "2.22",
"2025-04-03": "2.27",
"2025-04-04": "2.26",
"2025-04-05": "2.33"
},
"index_version": "neo"
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
* **10008**: Parameter limit error (e.g. `starting_date` after `ending_date`, a date in the future, or an unsupported `gpu` type)
```json theme={null}
{
"meta": {
"code": 10008,
"url": "/api/gpu-index/index",
"message": "starting date should be less than or equal to ending date",
"timestamp": 1744289950,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **404**: Subscription not found
```json theme={null}
{
"meta": {
"code": 404,
"url": "/api/gpu-index",
"message": "404, Not Found",
"timestamp": 1744289950,
"args": [],
"kwargs": {}
},
"data": {}
}
```
# Silicon Markâ„¢ GPU Performance API
Source: https://docs.silicondata.com/api-reference/gpus
API docs for listing individual GPU benchmark rows with scoreboard performance tiers from Silicon Data.
# GPU Performance API
## GET /api/silicon-mark/v1/gpus
List individual GPUs with scoreboard performance tiers. Returns paginated individual-GPU benchmark rows with server-derived Gaussian percentile tiers. In v1, scoreboard metrics are populated only when `benchmark_id` is `quick_mark`.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `page` | integer | No | Page number | >= 1, default 1 |
| `per_page` | integer | No | Items per page | \[ 1 .. 300 ], default 20 |
| `benchmark_id` | string | No | Benchmark that drives scoreboard rows | default `quick_mark` (v1: use `quick_mark`) |
| `gpu_model` | string | No | Filter by GPU model | |
| `status` | string | No | Filter by Gaussian percentile tier | `optimal`, `acceptable`, `underperforming` |
| `name` | string | No | Substring filter on job name | |
| `tags` | array | No | Filter by job tags (repeat for multiple; job must include all) | |
| `state` | string | No | Job state filter | default `completed` when omitted |
### Responses
* **200**: Successful Response
```json theme={null}
{
"results": [
{
"id": "7554621441-0",
"gpu_label": "GPU0",
"gpu_id": "GPU-550e8400-e29b-41d4-a716-446655440000",
"model": "NVIDIA A100-SXM4-80GB",
"job_name": "GPU Benchmark Test",
"node_name": "192.168.1.10",
"fp16": 78.5,
"fp32": 39.2,
"memory_bandwidth": 1935.4,
"percentile": 82.4,
"status": "optimal"
}
],
"pagination": {
"total": 32,
"page": 1,
"per_page": 20,
"total_pages": 2,
"has_next": true,
"has_prev": false
}
}
```
# Jobs
Source: https://docs.silicondata.com/api-reference/jobs
# Jobs API
## POST /api/silicon-mark/v1/jobs
Create a new benchmarking job. `quick_mark` is always included automatically.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `name` | string | No | Job name (auto-generated if omitted) | Max 60 characters |
| `description` | string | No | Job description | Max 512 characters |
| `benchmarks` | array | Yes | List of benchmarks to run. Each item is a benchmark id string or a `{benchmark_id, config}` object. `quick_mark` is always added if not present. | No duplicate (id + config) |
| `node_count` | integer | No | Number of expected nodes | \[ 1 .. 256 ], default 1 |
| `tags` | array | No | Job tags | Max 10 tags, 50 chars each; certain special characters forbidden |
### Request Example
```json theme={null}
{
"name": "GPU Benchmark Test",
"description": "Testing new cluster",
"benchmarks": [
"quick_mark",
{
"benchmark_id": "cluster_network",
"config": {}
}
],
"node_count": 4,
"tags": ["production", "gpu"]
}
```
### Responses
* **201**: Created
```json theme={null}
{
"id": "7554621440",
"name": "GPU Benchmark Test",
"description": "Testing new cluster",
"node_count": 4,
"benchmarks": ["quick_mark", "cluster_network"],
"tags": ["production", "gpu"],
"token": "eyJ0eXAiOiJKV1Q...",
"created_at": "2024-03-15T10:30:00Z",
"expires_at": "2024-03-16T10:30:00Z"
}
```
* **400**: Bad Request
```json theme={null}
{
"error": {
"code": "PARAMETER_INCORRECT_VALUE",
"message": "Benchmark 'unknown_benchmark' not found"
}
}
```
* **401**: Unauthorized
```json theme={null}
{
"error": {
"code": "CLIENT_TOKEN_INVALID",
"message": "Invalid or expired token"
}
}
```
* **409**: Conflict
```json theme={null}
{
"error": {
"code": "RESOURCE_ALREADY_EXISTS",
"message": "Job with name 'GPU Test' already exists"
}
}
```
***
## GET /api/silicon-mark/v1/jobs
List jobs with filtering and pagination.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `page` | integer | No | Page number | >= 1, default 1 |
| `per_page` | integer | No | Items per page | \[ 1 .. 300 ], default 20 |
| `sort_by` | string | No | Field to sort by (`created_at`, `started_at`, `ended_at`, `expires_at`, `name`, `state`, `node_count`, `current_nodes`) | default `created_at` |
| `sort_order` | string | No | Sort direction | `asc` or `desc`, default `desc` |
| `state` | string | No | Filter by job state | `created`, `starting`, `running`, `completed`, `aborted`, `failed`, `completed_with_warnings` |
| `name` | string | No | Filter by name (partial match) | Max 60 characters |
| `benchmark_id` | string | No | Filter by benchmark in sequence | |
| `tags` | array | No | Filter by tags. Repeat the query param for multiple; a job must include all listed tags. | Max 10 |
| `created_after` | datetime | No | Jobs created after this timestamp | ISO 8601 |
| `created_before` | datetime | No | Jobs created before this timestamp | ISO 8601 |
| `node_count_min` | integer | No | Minimum node count | \[ 1 .. 256 ] |
| `node_count_max` | integer | No | Maximum node count | \[ 1 .. 256 ] |
| `include_results` | boolean | No | Include GPU models and QuickMark aggregate results | default false |
| `include` | array | No | Optional expansions: `performance`, `performance_nodes` (`performance_nodes` requires `performance`) | |
| `has_performance_data` | boolean | No | When true, only jobs with scoreboard performance data are returned | |
### Responses
* **200**: Successful Response
```json theme={null}
{
"results": [
{
"id": "7554621440",
"name": "GPU Benchmark Test",
"token": "eyJ0eXAiOiJKV1Q...",
"description": "Testing cluster",
"state": "completed",
"node_count": 4,
"current_nodes": 4,
"benchmark_sequence": [
{
"benchmark_id": "quick_mark",
"config": null
},
{
"benchmark_id": "cluster_network",
"config": null
}
],
"tags": ["production"],
"created_at": "2024-03-15T10:30:00Z",
"started_at": "2024-03-15T10:35:00Z",
"expires_at": "2024-03-16T10:30:00Z",
"ended_at": "2024-03-15T11:45:00Z",
"gpu_models": null,
"quickmark_aggregate_results": null,
"performance": null,
"performance_nodes": null,
"benchmarks": ["quick_mark", "cluster_network"]
}
],
"pagination": {
"total": 42,
"page": 1,
"per_page": 20,
"total_pages": 3,
"has_next": true,
"has_prev": false
}
}
```
***
## GET /api/silicon-mark/v1/jobs/tags
Get all unique tags from jobs belonging to the authenticated user. Scope depends on the user's role (regular users see their own jobs; customer admins see all jobs in their customer; root admins/staff see all jobs).
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Responses
* **200**: Successful Response
```json theme={null}
{
"tags": ["production", "testing", "gpu-benchmark", "provider: aws"]
}
```
***
## GET /api/silicon-mark/v1/jobs/stats
Performance tab badge count: the number of jobs whose aggregated performance status is underperforming (same scope as the performance job list).
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `benchmark_id` | string | No | Benchmark that drives performance rows | default `quick_mark` (v1 supports `quick_mark` only) |
| `name` | string | No | Filter by job name | |
| `tags` | array | No | Filter by tags (repeat for multiple; job must include all) | |
| `state` | string | No | Filter by job state | default `completed` |
| `sort_by` | string | No | Field to sort by | default `created_at` |
| `sort_order` | string | No | Sort direction | `asc` or `desc`, default `desc` |
### Responses
* **200**: Successful Response
```json theme={null}
{
"alert_job_count": 4
}
```
***
## GET /api/silicon-mark/v1/jobs/\{job\_id}
Get detailed information about a specific job. Tasks and all benchmark results are always included.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Path Parameters
| Parameter | Type | Required | Description |
| - | - | - | - |
| `job_id` | integer | Yes | The job ID |
### Responses
* **200**: Successful Response
```json theme={null}
{
"id": "7554621440",
"name": "GPU Benchmark Test",
"token": "eyJ0eXAiOiJKV1Q...",
"description": "Testing cluster performance",
"state": "completed",
"node_count": 4,
"current_nodes": 4,
"benchmark_sequence": [
{ "benchmark_id": "quick_mark", "config": null },
{ "benchmark_id": "cluster_network", "config": null }
],
"tags": ["production"],
"created_at": "2024-03-15T10:30:00Z",
"started_at": "2024-03-15T10:35:00Z",
"expires_at": "2024-03-16T10:30:00Z",
"ended_at": "2024-03-15T11:45:00Z",
"benchmarks": ["quick_mark", "cluster_network"],
"tasks": [
{
"id": "7554621441",
"job_id": "7554621440",
"machine_uuid": "550e8400-e29b-41d4-a716-446655440000",
"machine_ip": "192.168.1.10",
"state": "completed",
"failed_message": null,
"created_at": "2024-03-15T10:35:00Z",
"started_at": "2024-03-15T10:35:30Z",
"ended_at": "2024-03-15T11:40:00Z",
"gpu_model": "NVIDIA A100-SXM4-80GB",
"gpu_count": 8,
"pdf_report_url": "https://...",
"benchmark_results": {}
}
],
"benchmark_results": {
"cluster_network": {
"benchmark_id": "cluster_network",
"benchmark_name": "Cluster Network",
"started_at": "2024-03-15T10:40:00Z",
"ended_at": "2024-03-15T10:55:00Z",
"config": {},
"results": {
"avg_bandwidth_gbps": 45.2,
"avg_latency": 0.8,
"min_bandwidth_gbps": 42.1,
"total_links_tested": 12
},
"state": "completed",
"error_message": null
}
},
"pdf_report_url": "https://...",
"scoreboard_summary": null
}
```
* **404**: Not Found
```json theme={null}
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Job with id 7554621440 not found"
}
}
```
***
## GET /api/silicon-mark/v1/jobs/\{job\_id}/results
Get the result summary of this job.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Path Parameters
| Parameter | Type | Required | Description |
| - | - | - | - |
| `job_id` | integer | Yes | The job ID |
### Query Parameters
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `include_display_names` | boolean | No | Include human-readable field names | default false |
### Responses
The response is a map keyed by `benchmark_id`, where each value is a cluster-level benchmark result object.
* **200**: Successful Response
```json theme={null}
{
"cluster_network": {
"benchmark_id": "cluster_network",
"benchmark_name": "Cluster Network",
"started_at": "2024-03-15T10:40:00Z",
"ended_at": "2024-03-15T10:55:00Z",
"config": {},
"results": {
"avg_bandwidth_gbps": 45.2,
"avg_latency": 0.8,
"min_bandwidth_gbps": 42.1,
"total_links_tested": 12,
"node_count": 4,
"measurements": []
},
"state": "completed",
"error_message": null
}
}
```
***
## DELETE /api/silicon-mark/v1/jobs/delete
Soft-delete a job and all associated tasks. Only the job owner (matching `customer_id`) can delete their jobs.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `id` | integer | Yes | Job ID to delete | >= 1 |
### Request Example
```json theme={null}
{
"id": 7554621440
}
```
### Responses
* **200**: Job successfully deleted
```json theme={null}
{
"message": "Job deleted successfully",
"requires_agent_stop": false
}
```
* **400**: Bad Request — job is in a state that prevents deletion (e.g. running)
* **403**: Permission denied — user does not own this job
* **404**: Not Found — job not found
***
The following job endpoints are intentionally not documented here because they are not customer-facing:
* `POST /api/silicon-mark/v1/jobs/anonymous` — internal anonymous job creation flow.
* `GET /api/silicon-mark/v1/jobs/current` — agent-only; authenticated with a job token, used by the benchmarking agent to fetch its job configuration.
* `POST /api/silicon-mark/v1/jobs/{job_id}/generate-report` — marked INTERNAL TESTING; agent/job-token only.
# RAM Index API
Source: https://docs.silicondata.com/api-reference/ram_index_api
API docs for accessing RAM Index from Silicon Data.
> **Note:** The RAM Index API is only available for **Plus** and **Professional** tier subscribers. Access is further gated per subscription, which may restrict the queryable date range.
## POST /api/ram-index/index
Get RAM index data, from starting date (from 2026-01-26) to ending date. If no date range is provided, data for today will be used by default. A returned value of `-1` or any negative number indicates that the data has not yet been generated; please wait or contact support.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `ram` | string | YES | The RAM type to query (case-insensitive). Currently supported: `GDDR6`. | One of `gddr6`; 1 to 20 characters |
| `index_version` | string | NO | Index version. Defaults to `WAVG_v1`. | One of `WAVG_v1`; 1 to 20 characters |
| `starting_date` | string or null | NO | The start date for the query in `YYYY-MM-DD` format. Defaults to today if not provided. | On or after `2026-01-26`; not in the future |
| `ending_date` | string or null | NO | The end date for the query in `YYYY-MM-DD` format. Defaults to today if not provided. | Not in the future |
`starting_date` must be less than or equal to `ending_date`.
### Request Example
```json theme={null}
{
"ram": "GDDR6",
"index_version": "WAVG_v1",
"starting_date": "2026-02-19",
"ending_date": "2026-02-25"
}
```
### Responses
* **200**: Successful Response
Index values are returned as strings formatted to two decimal places. The `index_version` field is only included when your subscription grants access to a `WAVG_v1` catalog.
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/ram-index/index",
"message": "OK",
"timestamp": 1774968508
},
"data": {
"ram": "GDDR6",
"starting_date": "2026-02-19",
"ending_date": "2026-02-25",
"indexes": {
"2026-02-19": "14.64",
"2026-02-20": "14.64",
"2026-02-21": "14.64",
"2026-02-22": "14.64",
"2026-02-23": "14.64",
"2026-02-24": "14.87",
"2026-02-25": "14.87"
},
"index_version": "wavg_v1"
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
* **10008**: Parameter limit error (e.g. `starting_date` after `ending_date`, a date in the future, or an unsupported `ram` type)
```json theme={null}
{
"meta": {
"code": 10008,
"url": "/api/ram-index/index",
"message": "starting date should be less than or equal to ending date",
"timestamp": 1774968510,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **404**: Subscription not found
```json theme={null}
{
"meta": {
"code": 404,
"url": "/api/ram-index",
"message": "404, Not Found",
"timestamp": 1774968510
},
"data": {}
}
```
# Recent data
Source: https://docs.silicondata.com/api-reference/recent-data
> 📌 **Note:** For the GPU catalog, spec filter parameters, and full GPU specs endpoints, see the [SiliconNavigator API](/api-reference/silicon-navigator) page.
## POST /api/data-hub/gpu/specs-list
Get all GPU products (with their product IDs) that have price data available.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/specs-list",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 1,
"results": [
{
"product_id": 1,
"product_slug": "nvidia-h100-sxm",
"chip": "H100",
"name": "NVIDIA H100 SXM",
"manufacturer": "NVIDIA",
"mem": 80,
"mem_bus": 5120,
"bus": "SXM5",
"bandwidth": 3350,
"tdp": 700,
"fp16": 1979,
"msrp": 30000,
"released_date": "2022-03-22"
}
]
}
}
```
***
## POST /api/data-hub/gpu/specs-query
Get GPU products (with their product IDs) that have price data available, filtered by a search keyword.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format. All fields are optional.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `num_per_page` | integer | No | How many records will be returned per page. Default value is 50. | \[ 1 .. 100 ] |
| `page_num` | integer | No | The page index number. Default value is 1. | >= 1 |
| `keyword` | string | No | Keyword used to search across GPU slug, name, and chip (case-insensitive). | |
### Request Example
```json theme={null}
{
"num_per_page": 50,
"page_num": 1,
"keyword": "h100"
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/specs-query",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 1,
"results": [
{
"product_id": 1,
"product_slug": "nvidia-h100-sxm",
"chip": "H100",
"name": "NVIDIA H100 SXM",
"manufacturer": "NVIDIA",
"mem": 80,
"mem_bus": 5120,
"bus": "SXM5",
"bandwidth": 3350,
"tdp": 700,
"fp16": 1979,
"msrp": 30000,
"released_date": "2022-03-22"
}
]
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
***
## POST /api/data-hub/gpu/latest/price
Get the latest available price for each GPU, country, and price type.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format. All fields are optional.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `num_per_page` | integer | No | How many records will be returned per page. Default value is 50. | \[ 1 .. 100 ] |
| `page_num` | integer | No | The page index number. Default value is 1. | >= 1 |
| `keyword` | string | No | Keyword used to search across GPU slug, name, and chip (case-insensitive). | |
| `product_id` | integer | No | Filter by a specific GPU product id. | |
| `country` | string | No | The ISO 3166-1 alpha-2 country code. | \<= 2 characters |
| `price_type` | integer | No | Filter by price type. Must be one of \[-1, 0, 1, 3, 6, 12, 100, 101, 102]. -1: Rental Spot, 0: Rental On-Demand, 1: Rental Reserved 1 month, 3: Rental Reserved 3 month, 6: Rental Reserved 6 month, 12: Rental Reserved 1 year, 100: Retail New, 101: Retail Refurbished, 102: Retail Used. | |
### Request Example
```json theme={null}
{
"num_per_page": 50,
"page_num": 1,
"keyword": "h100",
"product_id": 1,
"country": "US",
"price_type": 0
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/latest/price",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 1,
"results": [
{
"product_id": 1,
"product_slug": "nvidia-h100-sxm",
"chip": "H100",
"name": "NVIDIA H100 SXM",
"manufacturer": "NVIDIA",
"date": "2025-04-05",
"country": "US",
"price_type": 0,
"price_type_descriptioin": "Rental On-Demand",
"price": 2.25
}
]
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
***
## POST /api/data-hub/gpu/history/price
Get the historical price series for a GPU over a date range.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `num_per_page` | integer | No | How many records will be returned per page. Default value is 50. | \[ 1 .. 100 ] |
| `page_num` | integer | No | The page index number. Default value is 1. | >= 1 |
| `product_id` | integer | Yes | Product id of the GPU to retrieve price history for. | |
| `start_date` | string | Yes | Start date of the price range, in YYYY-MM-DD format. | 10-character YYYY-MM-DD |
| `end_date` | string | Yes | End date of the price range, in YYYY-MM-DD format. | 10-character YYYY-MM-DD; must be >= `start_date`; range may not exceed 90 days |
| `price_type` | integer | Yes | Price type. Must be one of \[-1, 0, 1, 3, 6, 12, 100, 101, 102]. -1: Rental Spot, 0: Rental On-Demand, 1: Rental Reserved 1 month, 3: Rental Reserved 3 month, 6: Rental Reserved 6 month, 12: Rental Reserved 1 year, 100: Retail New, 101: Retail Refurbished, 102: Retail Used. | |
| `country` | string | No | The ISO 3166-1 alpha-2 country code. | \<= 2 characters |
### Request Example
```json theme={null}
{
"num_per_page": 50,
"page_num": 1,
"product_id": 1,
"start_date": "2024-10-01",
"end_date": "2024-10-31",
"price_type": 0,
"country": "US"
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/data-hub/gpu/history/price",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 2,
"results": [
{
"product_id": 1,
"product_slug": "nvidia-h100-sxm",
"chip": "H100",
"name": "NVIDIA H100 SXM",
"manufacturer": "NVIDIA",
"date": "2024-10-31",
"country": "US",
"price_type": 0,
"price_type_descriptioin": "Rental On-Demand",
"price": 2.33
},
{
"product_id": 1,
"product_slug": "nvidia-h100-sxm",
"chip": "H100",
"name": "NVIDIA H100 SXM",
"manufacturer": "NVIDIA",
"date": "2024-10-01",
"country": "US",
"price_type": 0,
"price_type_descriptioin": "Rental On-Demand",
"price": 2.25
}
]
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
# Silicon navigator
Source: https://docs.silicondata.com/api-reference/silicon-navigator
## GET /api/silicon-navigator/gpu-list
Get the list of GPUs available in SiliconNavigator.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/silicon-navigator/gpu-list",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 2,
"results": [
{
"id": 1,
"name": "NVIDIA H100 SXM",
"slug": "nvidia-h100-sxm"
},
{
"id": 2,
"name": "NVIDIA A100 PCIe 80 GB",
"slug": "nvidia-a100-pcie-80-gb"
}
]
}
}
```
***
## GET /api/silicon-navigator/gpu-specs/params
Get the available filter parameters (distinct manufacturers and chips) for the GPU specs query.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/silicon-navigator/gpu-specs/params",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"manufacturer_list": [
"AMD",
"NVIDIA"
],
"chip_list": [
"A100",
"H100",
"MI300X"
]
}
}
```
***
## POST /api/silicon-navigator/gpu-specs
Get the GPU specs list, with optional filtering, ordering, and pagination.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format. All fields are optional; an empty body returns the first page of results ordered by `retail_price desc`.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `filter` | array | No | List of filter conditions. Each item is an object with exactly one `{ "column": "value" }` pair. String columns match by case-insensitive substring; numeric columns accept an exact value or a `"low-high"` range. | Allowed columns: `name`, `slug`, `bus`, `manufacturer`, `chip`, `mem`, `mem_bus`, `bandwidth`, `fp16`, `tdp`, `msrp`, `retail_price`, `rental_price`, `cpp`, `ppw` |
| `order_by` | array | No | List of order-by conditions. Each item is an object with exactly one `{ "column": "asc" \| "desc" }` pair. Defaults to `retail_price desc`. | Direction must be `asc` or `desc`; columns as in `filter` |
| `paginate` | object | No | Pagination object with `num_per_page` and `page_num`. | `num_per_page`: \[ 1 .. 100 ], default 50; `page_num`: >= 1, default 1 |
### Request Example
```json theme={null}
{
"filter": [
{ "manufacturer": "NVIDIA" },
{ "mem": "80-141" }
],
"order_by": [
{ "retail_price": "desc" }
],
"paginate": {
"num_per_page": 50,
"page_num": 1
}
}
```
### Responses
* **200**: Successful Response
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/silicon-navigator/gpu-specs",
"message": "OK",
"timestamp": 1744201871
},
"data": {
"total": 1,
"results": [
{
"id": 1,
"name": "NVIDIA H100 SXM",
"slug": "nvidia-h100-sxm",
"manufacturer": "NVIDIA",
"chip": "H100",
"bus": "SXM5",
"mem": 80,
"mem_bus": 5120,
"bandwidth": 3350,
"fp16": 1979,
"tdp": 700,
"msrp": 30000,
"retail_price": 28500,
"rental_price": 2.25,
"released_date": "2022-03-22"
}
]
}
}
```
* **422**: Validation Error
```json theme={null}
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
# Token Index API
Source: https://docs.silicondata.com/api-reference/token_index_api
API docs for accessing Token Index from Silicon Data.
> **Note:** Access to the Token Index API is gated per subscription. Your subscription may restrict the available `token`, `index_version`, and queryable date range.
## POST /api/token-index/index
Get daily LLM token index data for a requested token, index version, and date range. If no date range is provided, data for the server current date is used by default. Missing dates are returned as `"-1"`.
### Authorization
This endpoint requires a valid user token or application token.
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `token` | string | YES | LLM token index type (case-insensitive). Currently supported: `expenditure`. | 1 to 60 characters |
| `index_version` | string | NO | Token index version. Defaults to `v1` (case-insensitive). | 1 to 60 characters |
| `starting_date` | string or null | NO | The start date for the query in `YYYY-MM-DD` format. Defaults to the server current date. | On or after `2025-12-01`, unless deployment config overrides it; not in the future |
| `ending_date` | string or null | NO | The end date for the query in `YYYY-MM-DD` format. Defaults to the server current date. | Not in the future |
`starting_date` must be less than or equal to `ending_date`.
### Request Example
```json theme={null}
{
"token": "expenditure",
"index_version": "v1",
"starting_date": "2026-04-20",
"ending_date": "2026-04-26"
}
```
### Responses
* **200**: Successful Response
Index values are returned as strings formatted to four decimal places. `index_name` is taken from the underlying data and may be `null` if no data exists for the range.
```json theme={null}
{
"meta": {
"code": 0,
"url": "/api/token-index/index",
"message": "OK",
"timestamp": 1777545600
},
"data": {
"token": "expenditure",
"index_name": "Token Expenditure Index",
"index_version": "v1",
"starting_date": "2026-04-20",
"ending_date": "2026-04-26",
"indexes": {
"2026-04-20": "100.0000",
"2026-04-21": "101.2345",
"2026-04-22": "-1",
"2026-04-23": "103.5678",
"2026-04-24": "104.0000",
"2026-04-25": "-1",
"2026-04-26": "105.4321"
}
}
}
```
* **422**: Validation Error
```json theme={null}
{
"meta": {
"code": 422,
"url": "/api/token-index/index",
"message": "Parameter value error: ...",
"timestamp": 1777545600
},
"data": {}
}
```
* **10008**: Date range error
```json theme={null}
{
"meta": {
"code": 10008,
"url": "/api/token-index/index",
"message": "starting date should be less than or equal to ending date",
"timestamp": 1777545600,
"args": [],
"kwargs": {}
},
"data": {}
}
```
* **34004**: Product permission is missing
```json theme={null}
{
"meta": {
"code": 34004,
"url": "/api/token-index/index",
"message": "You don't have permission to access the current product...",
"timestamp": 1777545600
},
"data": {}
}
```
# Token Price API
Source: https://docs.silicondata.com/api-reference/token_price_api
API docs for accessing Token Pricebook and Token Market Pulse datasets from Silicon Data.
## POST /api/token-price/list
Get token price data download list. A list of `id` from response must be used in the `/download` endpoint to find the download URL.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `filter/interval` | string | Yes | Interval of the data | \[day, month] |
| `filter/period` | string | Yes | Date range in YYYY/MM/DD-YYYY/MM/DD | |
| `filter/type` | string | Yes | Token price dataset type (Pricebook or Market Pulse) | \[book, pulse] |
| `paginate/num_per_page` | integer | No | How many records will be return per one page, value score in 1 to 100,default value is 50 | \[ 1 .. 100 ] |
| `paginate/page_num` | integer | No | The page index number, default value is 1 | >= 1 |
| `order_by/period` | string | No | Order of the file list | \[asc, desc] |
### Request Example
```json theme={null}
{
"filter": [
{"type": "book"},
{"interval": "day"},
{"period":"2026/01/01-2026/01/07"}
],
"order_by": [
{"period": "desc"}
],
"paginate": {
"page_num": 1,
"num_per_page": 50}
}
```
### Responses
Response consists of meta and data, where:
* meta is the metadata regarding the request. `code` in `meta` indicates the error code of the request, with 0 indicating no error.
* data contains the total number of results and a list of results, each containing the `id` that can be used to download the data.
```json theme={null}
{
"meta": {
"code": "integer",
"url": "string",
"message": "string",
"timestamp": "integer",
},
"data": {
"total": "integer",
"results": [
{
"interval": "string",
"period": "string",
"type": "string",
"csv_s3_path": "string",
"id": "string",
"sequence_id": "integer"
}
]
}
}
```
***
## POST /api/token-price/download
Get token price data download URL using `id`, obtained from the `/list` endpoint.
### Authorization
**🔒OAuth2**: OAuth2PasswordBearer\
**Flow type**: password\
**Token URL**: token
### Request Body
The request body must be in `application/json` format.
| Field | Type | Required | Description | Constraints |
| - | - | - | - | - |
| `id` | integer | Yes | ID used for find download URL | |
### Request Example
```json theme={null}
{
"id": 2046555026029398400
}
```
### Responses
```json theme={null}
{
"meta": {
"code": "integer",
"url": "string",
"message": "string",
"timestamp": "integer"
},
"data": {
"csv_download_url": "string"
}
}
```
# Introduction
Source: https://docs.silicondata.com/introduction
Welcome to the home of Silicon Data Documentation
## Products
### **SiliconNavigatorâ„¢**
**SiliconNavigatorâ„¢** provides comprehensive insights into GPU specifications, historical pricing, and current market trends. Designed to optimize procurement strategies and resource planning, this tool equips businesses with the intelligence needed to stay competitive in the compute markets.
**Tier Overview**
| Feature | Level 1:
Market Pulse | Level 2:
Deep Pricing Feed | Level 3:
Full Asset Intelligence |
| - | - | - | - |
| Update Frequency | Daily | Daily | Daily |
| Access | Portal Dashboard | Portal + API + CVS Download | Portal + API + CVS Download |
| Granularity | Global averages | Platform-level | Instance-level (raw) |
| Retail Pricing | ✅ Yes | ✅ Yes | ✅ Yes |
| Rental Pricing | ✅ Yes | ✅ Yes | ✅ Yes |
| Regional Breakdown | N.A. | Country Level | Hyper-local (datacenter-level) |
| Historical Data | 7 day trend line | One Year Historical Data | Up to 8 years Historical Data |
| Average Daily Data Volume | 50 | 300 | 2000 |
| Ideal For | Generalists, Enthusiasts | Analysts, buyers, strategists | Quant funds, infra leaders, allocators |
### **SiliconCarbonâ„¢**
**SiliconCarbonâ„¢** delivers real-time estimates of carbon emissions based on GPU usage. Tailored for environmentally-conscious businesses, this tool provides actionable insights to reduce the carbon footprint of compute operations.
### **SiliconMarkâ„¢**
**SiliconMarkâ„¢** measures how your GPUs perform in the real world: speed, memory, power, AI serving and training, and hardware health. You create a job in the portal, run an agent on the machine, and compare results with expected specs and the rest of your fleet.
### **Silicon PriceIQâ„¢**
**Silicon PriceIQâ„¢** leverages a machine-learning-driven model that aggregates market data to generate reliable price predictions, helping businesses, developers, and researchers make informed decisions on GPU allocation.
### **Token Pricebookâ„¢**
**Token Pricebookâ„¢** captures token-level prices for major LLM providers and vendors, separating input (prompt) and output (completion) costs and standardizing all values to USD per 1 million tokens.
### **Token Market Pulseâ„¢**
**Token Market Pulseâ„¢** captures aggregated token-level pricing and usage metrics for major LLM, combining cost data (input and output token prices standardized to USD per 1 million tokens) with normalized volume indices that track relative daily usage patterns.
***
## Contact Information
For inquiries, product access, or additional details, please contact us at:
**Email**: [support@silicondata.com](mailto:support@silicondata.com)
# API Key
Source: https://docs.silicondata.com/products/api-key
How to create and manage API Keys for Silicon Data APIs
An API Key is a string credential. It is valid for **1 year** and is used for long-term API calls, without requiring repeated login.
Requests should include an Authorization header containing the word `Bearer` followed by the API Key.
***
## **Create an API Key**
### **Step 1: Create an API Key**
1. Log in to the portal.
2. Open the **API Portal** page.
3. Click to add API Key.
4. Enter a unique name and a description, then save.
### **Step 2: Generate an API Key**
1. Find the api key name you just created.
2. Click the **+** icon next to it to generate an API Key.
3. The API Key is valid for **1 year**.
### **Step 3: Download the Credential**
1. Download the credential file.
2. Retrieve the string key and use it as the Bearer token when calling Silicon Data APIs.
***
## **Delete an API Key**
### **Step 1: Delete API Keys**
Delete all API Keys under the api key group first.
### **Step 2: Delete the Api Key Name**
After all keys under the api key group have been removed, you can delete the api key name.
> **Note:** An api key name cannot be deleted until all of its API Keys have been cleared.
***
## **If an API Key Is Leaked**
1. Delete the compromised API Key.
2. Create a new API Key under the same api key group.
3. Update your integrations to use the new key.
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# Silicon Data API Intro
Source: https://docs.silicondata.com/products/api-overview
Introduction to using Silicon Data's APIs
Silicon Data APIs allow developers to request data from Silicon Data's various products. For example, you can create SiliconMark test jobs, query historical data from Silicon Navigator, or estimate GPU carbon emissions with SiliconCarbon.
***
## **Using Silicon Data APIs**
Silicon Data uses Bearer authentication for the APIs. Requests should include an Authorization header containing the word "Bearer" followed by the token.
The exception is the [/user/login API](/api-reference/user) which is used to obtain a temporary user token.
Professional and Plus subscribers can also create a long-lived **API Key** from the [Silicon Data portal](https://portal.silicondata.com), which does not require repeated login. See [API Key](/products/api-key) for details.
The Silicon Data APIs are accessible at [https://api.silicondata.com/](https://api.silicondata.com/), so all the API paths documented are appended to that endpoint URL.
Silicon Data APIs do have rate limits. If you find your APIs being consistently throttled we recommend you implement an exponential backoff instead of immediate-retry strategy. This should not be a concern for typical usage patterns, but if you have different requirements please contact us.
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# GPU Index Intro
Source: https://docs.silicondata.com/products/gpu-index
Comprehensive guide to GPU Index.
> 📌 **Note:** The GPU Index API is only available for **Plus** and **Professional** tier subscribers.
**GPU Index** is a powerful market intelligence tool within the **Silicon Dataâ„¢** ecosystem that tracks the performance and pricing trends of key GPU models over time. It empowers users with insights to analyze cost fluctuations, evaluate market movements, and make data-driven decisions for procurement, investment, and competitive benchmarking.
***
## **Key Features**
* **Historical GPU Pricing Index**
* Access time-series GPU rental price data across selected date ranges.
* Evaluate short- and long-term pricing trends to anticipate market changes.
* **Daily Index Values**
* Retrieve standardized GPU index values calculated from aggregated rental price data.
* Stay informed on the price performance trajectory of leading GPUs.
* **Programmatic Access via API**
* Query GPU index data using simple HTTP POST requests.
* Easily integrate GPU price trends into dashboards, trading algorithms, or analytics workflows.
***
## **Example Use Cases**
* **Procurement Planning**:\
Forecast budget requirements and optimal purchasing windows for GPU deployments.
* **Market Intelligence**:\
Monitor pricing trends for investment evaluation or vendor comparison.
* **Cloud Cost Optimization**:\
Use GPU Index metrics to benchmark and renegotiate cloud rental costs.
***
# GPU Index Announcements
Source: https://docs.silicondata.com/products/gpu-index-announcements
> 📌 **Note:** The GPU Index API is only available for **Plus** and **Professional** tier subscribers.
Subscribe via email:
***
* Announcement Date: 2026-09-11
* Effective Date: 2026-09-14
* Type: New Index
* Restatement: No
## Summary
Launch of B300 Index
## What's Changing
Affected Products: Silicon Data B300 Neocloud Index
Index Start Date: 2026-04-23
## Change Details
With a sufficient number of cloud providers offering B300 servers and contributing reliable data, B300 Rental Index for neocloud will be published daily.
***
* Announcement Date: 2026-06-30
* Effective Date: 2026-07-15
* Type: New Index
* Restatement: No
## Summary
Launch of H200 Index
## What's Changing
Affected Products: Silicon Data H200 Neocloud Index
History Start Date: 2026-05-04
## Change Details
With a sufficient number of cloud providers offering H200 servers and contributing reliable data, H200 Rental Index for neocloud will be published daily.
***
* Announcement Date: 2025-12-03
* Effective Date: 2025-12-04
* Type: Methodology Change
* Restatement: Yes
## Summary
Multiple methodology enhancements are implemented to our existing H100 (SDH100RT) and A100 (SDA100RT) Indexes.
## What's Changing
Affected Products:
* SDH100RT Index
* SDA100RT Index
Estimated Impact:
* SDH100RT Index: -6% \~ -4%
* SDA100RT Index: +35% \~ +40%
## Change Details
1. Methodology Refinements
* We removed the divisor adjustment from our index calculation
* We improved the proprietary pricing model to better account for the diversity of rental providers
2. Data Enhancements
* We expanded the data coverage for cloud providers and updated provider weights
* To address short-term data gaps caused by unforeseeable provider-side disruptions, we introduced a look-back mechanism in the daily index calculation
3. History Restatement
* Due to the large impact from these changes, we will restate history of each index from their start dates of 2024-09-01
* Due to a rapid expansion of provider coverage on 2025-03-01, index may experience a large jump on that day
***
* Announcement Date: 2025-12-03
* Effective Date: 2025-12-04
* Type: New Index
* Restatement: No
## Summary
A new GPU Index B200 (SDB200RT) tracks the rental prices of B200 GPU
## What's Changing
Affected Products:
* SDB200RT Index
Estimated Impact: NA
## Change Details
1. The new index will be available through our API by setting the request param "gpu" to "b200". Please refer to our [API documentation](https://docs.silicondata.com/api-reference/gpu_index_api) for more details.
2. It will also be made available on Bloomberg with ticker SDB200RT Index, and .SDB200RT from Reuters in the coming weeks.
# Silicon PriceIQâ„¢ Intro
Source: https://docs.silicondata.com/products/price-iq
Comprehensive guide to Silicon PriceIQâ„¢.
**Silicon PriceIQâ„¢** is a predictive tool designed to provide accurate price estimations for GPU rentals based on various technical and market parameters. By inputting specific configurations, users can obtain real-time pricing insights for different GPU setups, helping optimize cloud computing costs for AI, ML, and high-performance computing (HPC) workloads.
Silicon PriceIQâ„¢ leverages a machine-learning-driven model that aggregates market data to generate reliable price predictions, helping businesses, developers, and researchers make informed decisions on GPU allocation.
***
## **Key Features**
* **Real-Time Price Estimation**:
* Predicts GPU rental prices based on input specifications, including **GPU model, RAM, CPU cores, and geolocation**.
* Supports multiple pricing models such as **On-Demand, Reserved, and Spot Instances**.
* Provides percentile-based price distribution analysis for better decision-making.
* **Configurable Parameters**:
Users can customize predictions by adjusting:
* **GPU Model** (e.g., A100 PCIE, H100, V100, etc.)
* **Type** (On-Demand, Reserved, or Spot)
* **GPU RAM (GB)**
* **CPU Cores (Effective)**
* **CPU RAM (GB)**
* **Geolocation** (Region-based pricing variations)
* **CPU Platform** (AMD, Intel, ARM)
* **Price Distribution & Market Insights**:
* Displays **normalized price distribution** with quantiles (10th, 25th, 50th/median, 75th, 90th percentiles).
* Helps users compare predicted prices with actual market trends.
***
## **How to Use**
### **Step 1: Select GPU & Configuration**
* Choose a **GPU model** and set specifications for RAM, CPU cores, and platform.
* Define the **pricing type** (On-Demand, Reserved, Spot).
* Select a **geographical location** to account for regional price differences.
### **Step 2: Predict Price**
* Click **"Predict Price"** to generate a **real-time estimated price per hour** for the selected GPU configuration.
* The tool provides percentile-based insights into pricing variations across different providers.
### **Step 3: Analyze Results**
* View **predicted price**, **distribution percentiles**, and **market trends**.
* Compare pricing against industry benchmarks and competitor offerings.
***
## **Benefits**
* Helps users determine the most cost-effective GPU configuration.
* Offers percentile-based pricing comparisons. atforms.
* Real-time predictions.
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# SiliconCarbonâ„¢ Intro
Source: https://docs.silicondata.com/products/silicon-carbon
Comprehensive guide to SiliconCarbonâ„¢.
**SiliconCarbonâ„¢** provides real-time estimates of carbon emissions based on GPU usage. It helps businesses monitor and reduce their environmental impact.
## Key Features
* **Usage-Based Calculation**:
* Calculate emissions based on GPU type, usage hours, and workload.
* **Geo-Location Sensitivity**:
* Adjust for local energy sources and carbon intensity by region.
***
## **Main Features**
### **1. Carbon Emission Estimates**
* Displays carbon emissions in **kilograms (Kg)** for specified hardware configurations and usage durations.
* Supports over 50 different GPU models for accurate calculations.
### **2. Geo-Location Sensitivity**
* Adjusts calculations based on:
* Local energy grid data and carbon intensity (updated daily).
* Regional or postal code-specific configurations.
### **3. Data Input Options**
* **Public Cloud**: Select from major cloud providers (e.g., AWS, Google Cloud, Azure).
* **Postal Code**: Specify a zip code to account for local energy grid data.
### **4. Historical Records**
* Provides detailed logs of past calculations, including:
* Hardware type.
* Usage hours.
* Regional or provider-specific data.
* Calculated carbon emission in **Kg COâ‚‚ eq.**
***
## **User Interface Overview**
### **Input Fields**
| Field | Description | Example |
| - | - | - |
| `hardware_type` | Choose from a dropdown menu listing supported GPUs. | A10 |
| `hour_used` | Enter the duration of GPU usage in hours. | 1 hour |
| `data_center` | Specify whether using public cloud or postal code for location-specific calculations. | Amazon Web Services or 10001 |
| `provider` | Choose a cloud provider when using the public cloud option. | AWS |
| `region_of_computer` | Select the region or availability zone for the GPU. | us-east-1 |
| `Country` | Specify the country where the GPU is located. | United States |
| `Postal Code` | Enter the postal code to refine location-specific calculations. | 10001 |
***
## **Calculation Formula**
The carbon emission is calculated using the following formula:
**Kg CO₂ eq. = Power consumption × Time × Carbon intensity**
Where:
* **Power consumption**: Based on the GPU type (in Watts).
* **Time**: GPU usage duration (in hours).
* **Carbon intensity**: Region-specific value (COâ‚‚ per kWh).
***
## **Results Display**
### **Real-Time Output**
* Displays the calculated carbon emission in **Kg COâ‚‚ eq.** prominently on the interface.
* Includes details such as:
* Hardware Type.
* Hours Used.
* Location (Country/Postal Code or Provider/Region).
### **Historical Records**
* A chronological list of past calculations with complete details, allowing users to track emissions over time.
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# SiliconMarkâ„¢ Intro
Source: https://docs.silicondata.com/products/silicon-mark
Measure real GPU performance, health, and AI workload speed from the Silicon Data portal.
SiliconMark measures how your GPUs perform on the machine they are run in. You create a job in the [Silicon Data portal](https://portal.silicondata.com/silicon-mark), run a small program on the server that holds the GPUs, and the program uploads its results. The portal then shows scores, a comparison with other cards of the same model, and a PDF report.
The agent runs on Linux x86\_64 and ARM64. NVIDIA and AMD GPUs both work, although some tests only run on NVIDIA. If you need Windows, macOS, or another vendor, write to [feedback@silicondata.com](mailto:feedback@silicondata.com).
## What you see in the portal
SiliconMark opens on the Overview tab after you sign in. Overview lists your recent jobs (name, date, which test ran, status) with a fleet summary on the right. Devices is the inventory of GPUs SiliconMark has measured. All Benchmarks is the full job history. Performance points out GPUs that look slow compared with expected results.
A job shows as Created while it waits for the agent, then In Progress, then Completed.
The GPUs Performance panel on the right counts your devices and sorts them into Optimal, Acceptable, and Underperforming, with a count per GPU model underneath. These tiers compare each device with other SiliconMark runs of the same GPU model.
A device is Optimal when all five numbers sit clearly above the community average for its model. It is Acceptable when all five sit near the average; a card whose model has no community data yet also lands here. It is Underperforming when at least one number sits clearly below the average.
These tiers are separate from the SiliconMark Score letter you see on a job. The Performance tab also uses a percentile chip with a plainer cutoff: 50% and above is Optimal, 25 to 49% is Acceptable, and anything under 25% is Underperforming. A higher percentile means more comparable GPUs scored below this one.
Filters at the top (test type, tags, status) and a search box for job names help you find a run. Create New Job starts a new test.
## What a typical run measures
QuickMark is the default test. It is a short speed and memory check that records how fast the GPU does math (in teraflops, or TF, meaning trillions of operations per second), how fast data moves through GPU memory, and the power, temperature, and energy used during the run. It also records the GPU model, serial, and clocks so you can compare the same card over time.
Results are compared with other SiliconMark runs of the same GPU model. Many enterprise cards, such as the H100 and A100, also get a SiliconMark Score letter on the job.
You can run an AI inference test, a fine-tuning test, or a hardware health scan instead. Those are described on [SiliconMarkâ„¢ Benchmarks](/products/silicon-mark_benchmarks).
## How a job works
1. Click Create New Job in the portal.
2. Pick a test, name the job, set how many machines (nodes) take part, and add tags if you want them.
3. Confirm. The portal shows the one-liner command to download and run the SiliconMark agent on each machine.
4. Wait for the agent. A QuickMark speed pass usually takes minutes, and the heat-and-cool check after it adds a few more. SiliconAudit and the large AI tests take much longer; a full health scan can run for hours.
5. Open the job in the portal for results and the PDF report.
The exact commands are in the [user guide](/products/silicon-mark_user_guide).
## Support
[support@silicondata.com](mailto:support@silicondata.com)
# SiliconMarkâ„¢ Benchmarks
Source: https://docs.silicondata.com/products/silicon-mark_benchmarks
What each SiliconMark test measures and when to use it.
When you create a job you pick one test type, QuickMark always runs per default alongside any optional add on Benchmark. This page describes each one using the same names as the portal.
Leave the number of nodes at 1 unless several servers should join one job. The cluster network measurement needs at least two machines registered to the same job.
| Test | What it is for | GPUs | Nodes |
| - | - | - | - |
| QuickMark | General speed, memory, power, and heat | NVIDIA and AMD | Single |
| Llama 3 inference | How fast a machine serves Llama 3 | NVIDIA | Single |
| Llama 3 fine-tuning | How fast a machine trains Llama 3 | NVIDIA | Single |
| Inference Benchmark | Open-model serving speed | NVIDIA and AMD | Single |
| SiliconAudit | Memory health and GPU diagnostics | NVIDIA | Single |
| Cluster network | How fast machines talk to each other | NVIDIA and AMD | Multi-Nodes (2-256) |
## QuickMark
QuickMark is the default choice in Create New Job and runs on NVIDIA and AMD. The portal summarizes it as FP32, FP16, and memory bandwidth.
It reports per-GPU and combined numbers for FP32 and FP16 compute, memory bandwidth, and temperature, which you can compare with manufacturer specs. On a multi nodes job it also measures how fast the machines talk to each other. It is meant to give a short, standardized view of GPU and network performance.
The test stresses compute and memory on each GPU, then on all GPUs together if there is more than one. After the speed pass it runs a heat-and-cool check. If that thermal check fails, the speed numbers still stand.
QuickMark measures both vector cores and matrix cores (CUDA cores and Tensor cores on NVIDIA). FP32 uses the vector cores; FP16, BF16, and FP8 use the matrix cores when the GPU has them.
Teraflops (TF) is processing speed, so higher means faster math. FP32 is full precision. FP16, BF16, and FP8 are the smaller formats used in much of AI. FP8 needs an NVIDIA Ada Lovelace or Hopper GPU (or newer); Ampere and earlier do not support it. L2 cache speed is how quickly data moves through the GPU's on-chip cache. Memory bandwidth is how fast the GPU can feed its own memory; when it is low, the cores sit idle waiting for data. Host to device and device to host are the traffic between CPU memory and the GPU. With two or more GPUs on the same machine, QuickMark also measures how well the cards share data with each other, including GPU-to-GPU bandwidth and [NCCL](https://developer.nvidia.com/nccl) collective bandwidth for all-reduce and broadcast. Power, temperature, and energy used during the run tell you about cooling and electricity cost.
The SiliconMark Score (SM Score) is a letter on the job for many enterprise GPUs. It blends memory bandwidth with a compute mix, and compares the result with other units of the same model in SiliconMark's fleet. A is the top 75%, B the top 50%, C the top 25%, and D the bottom 25%. Consumer cards usually show N/A. A failed precision test shows ERR.
QuickMark needs no extra API keys. Each machine's QuickMark is independent, and the network test between machines is a separate measurement (see Cluster network below).
## Llama 3 inference
This test runs on NVIDIA and reports tokens per second and time to first token. It uses NVIDIA DGX recipes for Llama 3 inference and measures how quickly the system starts responding and how many tokens it generates per second, across different numbers of simultaneous users and prompt lengths.
SiliconMark starts an NVIDIA NIM container serving a fixed Nemotron Llama3 model, then runs a load generator against it. Pulling the images and waiting for the server can take tens of minutes the first time.
The settings you usually change are how many requests hit the GPU at once (concurrency) and how long the prompt and the reply are.
Tokens per second is how much text the system produces under that load; higher means more capacity. Time to first token is how long a user waits before the answer starts, and lower is better for interactive chat. Time between tokens shows how smoothly the rest of the answer streams. Request latency is the time from send to fully done.
The machine needs [`NGC_API_KEY`](https://build.nvidia.com/settings/api-keys). Podman is used if present, otherwise Docker.
## Llama 3 fine-tuning
This test runs on NVIDIA and reports tokens per second and step time. It uses NVIDIA DGX recipes for Llama 3 fine-tuning and measures training speed, how consistent each training step is, and a rough time to train on a trillion tokens. Model size is configurable: 8B, 70B, or 405B.
Under the hood it runs NVIDIA NeMo on one server. The defaults are an 8B model, FP8, LoRA, and a short run of 50 steps. You can choose 8B, 70B, or 405B, FP8 or BF16, and LoRA or a full fine-tune. SiliconMark decides how to split the work across the GPUs you have.
In practice 8B fits on one GPU (about 16 GB for LoRA, 24 GB for a full fine-tune), 70B needs two or more GPUs, and 405B needs eight or more GPUs with FP8 and LoRA only.
Tokens per second is training throughput, so higher means a dataset finishes sooner. Step time is seconds per training step, and lower and steadier is better. Time to 1T tokens is a rough estimate of how many days it would take to process a trillion tokens at this speed, useful for capacity planning.
The machine needs [`HF_TOKEN`](https://huggingface.co/docs/hub/security-tokens) and Docker, usually with sudo. An NGC key lets it pull the NeMo container. Disk use is about 75 GB for 8B, 205 GB for 70B, and 905 GB for 405B, counting the container and the weights.
## Inference Benchmark
Inference Benchmark runs on NVIDIA and AMD and reports tokens per second and time to first token. It measures how well the system serves AI requests: how fast it responds, how many requests it handles at once, and how quickly it generates tokens, across different parallelism settings and prompt sizes.
It works like the Llama 3 inference test but serves an open model with vLLM on the host instead of a NIM container. The default model is a large open checkpoint unless you change it. No NGC key is needed, and a Hugging Face token is only needed if the model you pick is gated.
NVIDIA machines need CUDA 12.6 or newer. AMD machines need ROCm 7.0 or newer; the current agent works with ROCm 7.0 through 7.2.
You can set concurrency, prompt length, reply length, how many GPUs to split the model across, and how many prompts to send.
The result screens use a few labels. Input sequence length is the number of tokens in the prompt, and output sequence length is the number in the reply. Time to first token is the wait until the first word appears. Time per output token and inter-token latency are the gap between later tokens. End-to-end is the time from the start of the request to the last token.
Use Inference Benchmark on mixed NVIDIA and AMD fleets, or when you do not want a NIM setup.
## SiliconAudit
SiliconAudit runs on NVIDIA only and covers memory health, DCGM diagnostics, and power telemetry. The machine needs cuda-memtest and NVIDIA DCGM (`dcgmi`); the agent sets those up when that benchmark is selected. Run the agent with `sudo` (raised system privileges); SiliconAudit needs that access.
This is a health check, not a speed test. It sweeps GPU memory for stuck or flaky cells, records page retirement (memory the driver has already mapped out), and runs NVIDIA DCGM diagnostics across software, hardware, and PCIe. It also reports NVIDIA XID messages from the kernel log, which are driver codes that flag past GPU, driver, or workload problems. Each part comes back as pass or fail with error counts, and the job produces a PDF.
Run it when a card looks slow, when you take delivery of a used or refurbished GPU, or as a periodic fleet health scan. A full scan can take hours. A failing audit is a reason to pull the card.
## Cluster network
Cluster network is not a separate card in Create New Job. It runs whenever two or more machines join the same job, up to 256. SiliconMark measures TCP throughput and round-trip delay between each pair of machines.
Use it to find out whether the network between servers is a bottleneck. It is an IP and TCP check and does not rate InfiniBand or RoCE fabrics. Every machine needs the same job key, and the node slider has to be set high enough when you create the job.
# SiliconMarkâ„¢ User Guide
Source: https://docs.silicondata.com/products/silicon-mark_user_guide
Create a SiliconMark job in the portal and run the agent on your GPU machines.
This guide is for anyone who will use the Silicon Data portal and run the agent on a Linux GPU server. API details are on the SiliconMark API pages.
## Before you start
You need a Silicon Data account with access to [SiliconMark in the portal](https://portal.silicondata.com/silicon-mark), and a Linux x86\_64 or ARM64 machine with NVIDIA or AMD GPUs and current drivers ([NVIDIA downloads](https://www.nvidia.com/en-us/drivers/), [AMD support](https://www.amd.com/en/support)).
On AMD, your user has to belong to the `render` and `video` groups. If it does not, add them and log out and back in:
```
sudo usermod -aG render,video $USER
```
You do not need to install Python or PyTorch yourself. The agent creates its own environment with what it needs for its benchmarks.
To check that the GPU is visible before you start:
```
nvidia-smi # NVIDIA
amd-smi list # AMD
```
## Create a job in the portal
1. Open SiliconMark and click Create New Job.
2. Choose a benchmark type (see [benchmarks](/products/silicon-mark_benchmarks)). QuickMark, the general speed test, is selected by default.
3. Enter a job name you will recognize later, up to 100 characters.
4. Set the number of nodes. Use 1 for a single machine. Raise it only when several servers should join the same job, which is what the [network](/products/silicon-mark_benchmarks#cluster-network) test between machines needs. The slider runs from 1 to 256.
5. Add tags if you want to filter later, for example GPU model, provider, or site. You can add up to 10 tags of up to 50 characters each.
6. Click Confirm.
The portal then shows a Job Created panel with copy-paste commands for that job. Copy them before you move to the GPU machine.
### Commands the portal gives you
On the GPU machine, download the agent for your CPU type, make it executable, and run it with the job key from the portal. Use the exact block from the Job Created panel; the example below shows the shape, and your key will differ.
```bash theme={null}
case "$(uname -m)" in aarch64|arm64)
curl -L -o ./agent https://downloads.silicondata.com/test/arm64/agent;; *)
curl -L -o ./agent https://downloads.silicondata.com/test/agent;; esac
chmod +x ./agent
./agent -api-key --setup
```
On ARM machines the portal points at `https://downloads.silicondata.com/arm64/agent` instead.
The agent sets up an automatic private environment under `~/.local/silicon_data`.
The job key ties the run to your account, so results are saved and a PDF can be generated.
How long you wait depends on the test. QuickMark's speed pass often takes a few minutes, and the heat-and-cool check after it adds several more. SiliconAudit is a deep hardware scan and can run for hours. The Llama serving test may spend a long time pulling containers before the first numbers appear.
In a terminal the agent shows a live progress view. In scripts or CI it prints plain logs.
### Watch the GPUs while it runs
From another SSH session:
```bash theme={null}
nvidia-smi dmon # NVIDIA
amd-smi monitor # AMD
```
On a machine with several GPUs, QuickMark measures each GPU on its own and then all of them together.
## After the job finishes
The job should show Completed. Open it for per-GPU numbers, the fleet comparison, and the PDF report.
## Other ways to run
### Non Registered Account Job Run
You can run the agent with no job key as a quick local check. Results are not stored on your account and there is no PDF report.
```bash theme={null}
./agent --setup
```
### Extra keys for some tests
QuickMark and SiliconAudit need no extra cloud keys. The Llama tests do. Llama 3 inference needs [`NGC_API_KEY`](https://build.nvidia.com/settings/api-keys) and a container runtime; Podman is preferred and Docker works. Llama 3 fine-tuning needs [`HF_TOKEN`](https://huggingface.co/docs/hub/security-tokens) (a Hugging Face token) and Docker, and an NGC key helps it pull the training container.
Set these on the machine before you start the agent. The [benchmarks](/products/silicon-mark_benchmarks) page has the details.
QuickMark itself runs as a native program and does not need Docker.
### Remove local agent environment
```bash theme={null}
./agent --clean
```
This removes the agent private environment and its binaries. Portal jobs are not affected.
## Support
[support@silicondata.com](mailto:support@silicondata.com)
# SiliconNavigatorâ„¢ Intro
Source: https://docs.silicondata.com/products/silicon-navigator
Comprehensive guide to SiliconNavigatorâ„¢.
**SiliconNavigatorâ„¢** provides insights into GPU specifications, historical pricing, and market trends. It is designed for businesses to optimize procurement strategies and enhance market intelligence.
## Key Features
* **Price Transparency**:
* Analyze historical rental and retail pricing trends.
* Optimize procurement strategies with cost-benefit analysis.
* **Specifications Comparison**:
* Compare GPUs with metrics such as FLOPS per Watt and Price per FLOP.
* **Comprehensive Coverage**:
* Access global trends and up-to-date pricing for 50+ GPU models.
* Memory Size (VRAM)
* Memory Bus Width
* Bandwidth
* Launch Price
* Market Price
* Rental Price
* Price/FL (Price per Floating Point Operation)
* **Expand Filter Items** to see additional filtering options.
***
## **Product Specifications**
| Field | Description | Example |
| - | - | - |
| `product_name` | Identifies the GPU model. | H100 SXM5 80 GB |
| `manufacturer` | The brand that produces the GPU. | NVIDIA |
| `gpu_chip` | Specifies the chip type or architecture. | GH100 |
| `memory_size` | The amount of memory available on the GPU. | 80 GB |
| `memory_bus_width` | The width of the memory bus in bits. | 5120 |
| `bandwidth` | Indicates the bandwidth of the GPU. | 3360 GB/s |
| `fp16` | Floating-point performance in TFLOPS for half-precision operations. | 267.6 TFLOPS |
| `tdp` | Thermal Design Power in watts. | 700 W |
| `fl_per_watt` | A derived metric showing the efficiency of the GPU in floating points per watt. | 0.38 |
| `launch_price` | The initial price of the GPU at launch. | \$30,000.00 |
| `market_price` | An aggregated average GPU price derived from retail, secondary, refurbished, and wholesale markets. | \$39,720.54 |
| `rental_price` | The per-hour cost of renting a single GPU. | \$2.27 per hour |
| `price_per_fl` | Price per floating-point operation metric. | 148.43 |
***
## **Icons and Indicators**
* **Price Trends**:
* Red arrows indicate increasing market trends.
* Blue arrows indicate decreasing trends.
* **Highlighting Metrics**:
* Key metrics like `Price/FL` and `FL/Watt` are highlighted with indicators for easy comparison.
***
## **How to Use**
### **Step 1: Filter and Search**
* Enter specific GPU details or use the filter options to narrow down your search.
### **Step 2: Compare Specifications**
* Use the table to compare key specifications, pricing, and performance metrics for selected GPUs.
### **Step 3: Decision-Making**
* Leverage metrics like `Price/FL` and `FL/Watt` to choose GPUs based on cost-efficiency or energy performance.
***
## **API Access**
For programmatic access to **SiliconNavigatorâ„¢** data, use the API. API documentation can be requested from the support team.
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# SiliconNavigatorâ„¢ Announcements
Source: https://docs.silicondata.com/products/silicon-navigator-announcements
> 📌 **Note:** These announcements cover the GPU rental CSV download products — the tier 2 (country-level) and tier 3 (instance-level) files available through the [Silicon Navigator™ API bulk download endpoints](/api-reference/bulk-download).
***
## **Announcement ID 260904-1**
* Announcement Date: 2026-09-04
* Effective Date: 2026-09-20
* Type: Coverage and Schema Change
* Restatement: Yes
## **Summary**
Our GPU rental dataset has been rebuilt, delivering broader provider and hardware coverage, higher data volume, improved data quality, and schema additions. The changes affect the CSV download products only — the tier 2 and tier 3 files.
**Note:** Please be aware that this update applies exclusively to the GPU rental download products, not the retail data.
## **What's Changing**
Affected Products:
* Tier 2 (country-level) Rental CSV files
* Tier 3 (instance-level) Rental CSV files
Restatement: On the effective date, the entire history is restated — every historical file is re-published under the new methodology and schema, so past and future data are fully consistent.
## **Change Details**
### 1. Broader coverage
* Provider coverage grew from a few dozen sources to **well over 70 vetted providers** across hyperscalers, neoclouds, and marketplaces, each admitted through an explicit review process.
* Hardware coverage roughly doubled, from around 60 priced GPU/accelerator products to **well over 100**.
### 2. Data Volume Increases
* Data volume increases substantially, driven mainly by hyperscaler data and the broader provider coverage.
### 3. Data Quality Improvements
Two corrections visibly change category-level volumes:
* Several providers previously classified as marketplaces are now correctly classified as neoclouds.
* Marketplace feeds are deduplicated — the same machine captured multiple times per day now counts once.
Beyond that, every listing passes a uniform pipeline before publication: hardware is verified against official specifications, price arithmetic and rental terms are enforced, and cluster listings are normalized so per-GPU economics stay comparable.
### 4. Schema changes
#### Tier 3 (instance-level data)
All existing columns, names, and their order are unchanged; four new columns are appended at the end:
| New column | Meaning |
| - | - |
| `product_slug` | stable, canonical hardware identifier (e.g. `n-h100-sxm-80g`) |
| `vendor` | the accelerator's maker |
| `accelerator_type` | gpu, asic, or fpga |
| `cluster_size` | machines in a multi-node listing (1 for a single machine); `num_gpus` is always per machine |
#### Tier 2 (country-level data)
| Column | Meaning |
| - | - |
| `date` (or `month` / `year`) | the period the benchmark covers |
| `product_slug` | the same canonical hardware identifier as tier 3 |
| `name`, `manufacturer` | the product's canonical name and maker |
| `country` | ISO country code (plus an `unknown` bucket) |
| `type`, `type_description` | the rental term — formerly named `price_type` |
| `price` | average hourly per-GPU price (average of daily averages) |
| `provider_source_type` | `Hyperscaler`, `Neocloud`, `Marketplace`, or `Average` for the roll-up |
| `product_id` | dropped |
| `chip` | dropped |
# SiliconNavigatorâ„¢ API Guide
Source: https://docs.silicondata.com/products/silicon-navigator_api_guide
Comprehensive guide to SiliconNavigatorâ„¢ API.
The **SiliconNavigatorâ„¢** supports API calls, allowing users to retrieve data using REST API protocol.
## **How to Use**
### **Step 1: Obtain API Token**
1. Generate SiliconNavigatorâ„¢ token on SiliconData.com.
### **Step 2: Make API Request**
2. Use the generated token to authenticate request and send request with parameters.
### **Step 3: Receive Results**
3. SiliconNavigatorâ„¢ API returns a structured response containing the requested data.
***
# Token Data Announcements
Source: https://docs.silicondata.com/products/token-data-announcements
> 📌 **Note:** Token Pricebook and Token Market Pulse dataset API is only available for **Enterprise** tier subscribers.
***
## **Announcement ID 260707-1**
* Announcement Date: 2026-07-07
* Effective Date: 2026-07-21
* Type: Data Schema
## **Summary**
The existing input and output price fields will be renamed to clarify that they represent average prices. New median input and output price fields will also be introduced.
## **What's Changing**
* Affected Products: Token Market Pulse dataset
* Impact: Historical data is unchanged, but there are field name changes and new fields are introduced.
## **Change Details**
1. Renamed: `price_input` to `avg_price_input`
2. Renamed: `price_output` to `avg_price_output`
3. New field: `med_price_input`
4. New field: `med_price_output`
# Token Market Pulseâ„¢ Intro
Source: https://docs.silicondata.com/products/token_market_pulse
Comprehensive guide to Token Market Pulse.
The Token Market Pulseâ„¢ API delivers aggregated insights into token pricing and usage patterns across major LLM.
This API combines standardized token-level cost data (input and output prices normalized to USD per 1 million tokens) with normalized volume indices that reflect relative daily usage trends.
By integrating pricing and volume signals, the dataset enables analysis of real-world token consumption behavior across LLM models.
## Key Features
* Records input and output token costs.
* Includes an up-to-date list of leading LLM developers and available models.
* Performancebenchmarkwithtotal parameters, active parameters and context length.
***
## **Data Fields**
| Field | Description | Example |
| - | - | - |
| `date` | Date of the token data collection. | 2025-10-04 |
| `developer` | LLM developer. | Anthropic |
| `model_name` | Specific LLM identified by name and version. | Claude 3.7 Sonnet |
| `model_type` | Distinguish between open-source, open-weight and closed-source models. | closed-source |
| `model_status` | Current status of the model. | active |
| `volume_input_index` | Normalized volume index in input tokens. | 6.357457 |
| `volume_output_index` | Normalized volume index in output tokens. | 0.168957 |
| `price_input` | Average price per million of input token in USD. | 3.00 |
| `price_output` | Average price per million of output token in USD. | 15.00 |
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)
# Token Pricebookâ„¢ Intro
Source: https://docs.silicondata.com/products/token_pricebook
Comprehensive guide to Token Pricebook.
The Token Pricebookâ„¢ API provides standardized, model-level token pricing data for major large language model (LLM) providers and vendors.
This API exposes input (prompt) and output (completion) token prices, with all values normalized to USD per 1 million tokens, enabling consistent cost comparison across providers and models.
In addition to pricing, the dataset includes model performance benchmarks, covering total parameters, active parameters, and context length, allowing users to evaluate cost in relation to model scale and capability.
## Key Features
* Access up-to-date token pricing for leading LLM developers and models
* Retrieve separate input and output token costs
* Compare models using standardized performance metadata
***
## **Data Fields**
| Field | Description | Example |
| - | - | - |
| `date` | Date of the token data collection. | 2025-08-28 |
| `developer` | LLM developer. | DeepSeek |
| `model_name` | Specific LLM identified by name and version. | DeepSeek R1 (20250528) |
| `model_type` | Distinguish between open-source, open-weight and close-source models. | open-source |
| `model_status` | Current status of the model. | Active |
| `total_param` | Total count of trainable weights (Billions). | 671.0 |
| `active_param` | Subset of weights (Billions) used to generate a token. | 37.0 |
| `context_length` | Max input and output tokens the model can keep in working memory. | 131 |
| `price_input` | Price per million of input token in USD. | 0.50 |
| `price_output` | Price per million of output token in USD. | 2.15 |
| `source_id` | Unique identification string for each source. | i4u19nbr-mtba-se7v-01z4-me6r9a1mys |
| `source_type` | Type of provider. Possible values: model-lab, model-platform, marketplace. | model-platform |
***
## **Contact and Support**
For additional information or technical support, please contact:
* **Email**: [support@silicondata.com](mailto:support@silicondata.com)