Get Custom Index Reference
curl --request GET \
--url https://data-api.compute-index.com/v1/custom-index/reference \
--header 'Authorization: Bearer <token>'import requests
url = "https://data-api.compute-index.com/v1/custom-index/reference"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://data-api.compute-index.com/v1/custom-index/reference', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data-api.compute-index.com/v1/custom-index/reference",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data-api.compute-index.com/v1/custom-index/reference"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-api.compute-index.com/v1/custom-index/reference")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-api.compute-index.com/v1/custom-index/reference")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": {
"GET /v1/custom-index/as-of": "Value as of a UTC time (capped at now). Params: as_of, index_id.",
"GET /v1/custom-index/available": "List the indices your key can access + their interval ranges.",
"GET /v1/custom-index/current": "Latest realized value. Params: index_id.",
"GET /v1/custom-index/history": "Time series. Params: index_id, start, end, resolution, limit, offset."
},
"fields": {
"blended_value": "Raw (unsmoothed) blended index ($/GPU/hr).",
"index_units": "usd_per_gpu_per_hr.",
"index_value": "EWMA-smoothed blended index ($/GPU/hr) — the headline (half-life ~1.94d).",
"p5 / p95": "Blended envelope band (unsmoothed).",
"timestamp": "Interval start, UTC ISO-8601 (30-min grid)."
},
"indices": [
{
"contract_type": "combined",
"description": "NVIDIA H100 · US · neocloud · combined (on-demand+reserved) — intraday blended index",
"first_timestamp": "2024-04-01T00:00:00+00:00",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"last_timestamp": "2026-07-16T07:00:00+00:00",
"region_group": "US",
"total_intervals": 40143,
"vendor_category": "neocloud"
}
],
"notes": [
"All timestamps are UTC.",
"Only realized intervals are returned (interval_start <= now); future buffer is never exposed.",
"history is paginated: use total_count / has_more / next_offset to page through.",
"Unsupported filter values or an index_id you are not authorized for return an error."
]
}Intraday Index
Intraday Index: Index Reference
A private API reference scoped to the indices this key may access.
GET
/
v1
/
custom-index
/
reference
Get Custom Index Reference
curl --request GET \
--url https://data-api.compute-index.com/v1/custom-index/reference \
--header 'Authorization: Bearer <token>'import requests
url = "https://data-api.compute-index.com/v1/custom-index/reference"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://data-api.compute-index.com/v1/custom-index/reference', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data-api.compute-index.com/v1/custom-index/reference",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data-api.compute-index.com/v1/custom-index/reference"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-api.compute-index.com/v1/custom-index/reference")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-api.compute-index.com/v1/custom-index/reference")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": {
"GET /v1/custom-index/as-of": "Value as of a UTC time (capped at now). Params: as_of, index_id.",
"GET /v1/custom-index/available": "List the indices your key can access + their interval ranges.",
"GET /v1/custom-index/current": "Latest realized value. Params: index_id.",
"GET /v1/custom-index/history": "Time series. Params: index_id, start, end, resolution, limit, offset."
},
"fields": {
"blended_value": "Raw (unsmoothed) blended index ($/GPU/hr).",
"index_units": "usd_per_gpu_per_hr.",
"index_value": "EWMA-smoothed blended index ($/GPU/hr) — the headline (half-life ~1.94d).",
"p5 / p95": "Blended envelope band (unsmoothed).",
"timestamp": "Interval start, UTC ISO-8601 (30-min grid)."
},
"indices": [
{
"contract_type": "combined",
"description": "NVIDIA H100 · US · neocloud · combined (on-demand+reserved) — intraday blended index",
"first_timestamp": "2024-04-01T00:00:00+00:00",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"last_timestamp": "2026-07-16T07:00:00+00:00",
"region_group": "US",
"total_intervals": 40143,
"vendor_category": "neocloud"
}
],
"notes": [
"All timestamps are UTC.",
"Only realized intervals are returned (interval_start <= now); future buffer is never exposed.",
"history is paginated: use total_count / has_more / next_offset to page through.",
"Unsupported filter values or an index_id you are not authorized for return an error."
]
}The Intraday Index is available to authorized clients. Your API token must have the required permissions added — contact david@compute-index.com to request access.
Example
Fetch a self-contained reference scoped to your token:curl -H "Authorization: Bearer $TOKEN" \
"https://data-api.compute-index.com/v1/custom-index/reference"
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Successful Response
Private, per-caller API reference for the custom-index section.
Returned by the auth-gated /v1/custom-index/reference endpoint; lists only the indices the caller's key is authorized for (the public /docs hides this section).