Get Custom Index History
curl --request GET \
--url https://data-api.compute-index.com/v1/custom-index/history \
--header 'Authorization: Bearer <token>'import requests
url = "https://data-api.compute-index.com/v1/custom-index/history"
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/history', 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/history",
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/history"
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/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-api.compute-index.com/v1/custom-index/history")
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{
"data": [
{
"blended_value": 2.6591,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.5747,
"p5": 1.4882,
"p95": 4.2619,
"region_group": "US",
"timestamp": "2026-07-13T00:00:00+00:00",
"vendor_category": "neocloud"
},
{
"blended_value": 2.6221,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.5872,
"p5": 1.4864,
"p95": 4.2853,
"region_group": "US",
"timestamp": "2026-07-14T00:00:00+00:00",
"vendor_category": "neocloud"
},
{
"blended_value": 2.555,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.6173,
"p5": 1.5022,
"p95": 4.3659,
"region_group": "US",
"timestamp": "2026-07-15T00:00:00+00:00",
"vendor_category": "neocloud"
}
],
"filters": {
"contract_type": "combined",
"end": null,
"index_id": "h100-us",
"region_group": "US",
"start": "2026-07-13",
"vendor_category": "neocloud"
},
"has_more": true,
"index_name": "h100",
"limit": 3,
"next_offset": 3,
"offset": 0,
"resolution": "1d",
"returned_count": 3,
"total_count": 4
}Intraday Index
Intraday Index: Index History
GET
/
v1
/
custom-index
/
history
Get Custom Index History
curl --request GET \
--url https://data-api.compute-index.com/v1/custom-index/history \
--header 'Authorization: Bearer <token>'import requests
url = "https://data-api.compute-index.com/v1/custom-index/history"
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/history', 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/history",
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/history"
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/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-api.compute-index.com/v1/custom-index/history")
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{
"data": [
{
"blended_value": 2.6591,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.5747,
"p5": 1.4882,
"p95": 4.2619,
"region_group": "US",
"timestamp": "2026-07-13T00:00:00+00:00",
"vendor_category": "neocloud"
},
{
"blended_value": 2.6221,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.5872,
"p5": 1.4864,
"p95": 4.2853,
"region_group": "US",
"timestamp": "2026-07-14T00:00:00+00:00",
"vendor_category": "neocloud"
},
{
"blended_value": 2.555,
"contract_type": "combined",
"gpu_family": "hopper",
"gpu_model": "h100",
"index_id": "h100-us",
"index_name": "h100",
"index_units": "usd_per_gpu_per_hr",
"index_value": 2.6173,
"p5": 1.5022,
"p95": 4.3659,
"region_group": "US",
"timestamp": "2026-07-15T00:00:00+00:00",
"vendor_category": "neocloud"
}
],
"filters": {
"contract_type": "combined",
"end": null,
"index_id": "h100-us",
"region_group": "US",
"start": "2026-07-13",
"vendor_category": "neocloud"
},
"has_more": true,
"index_name": "h100",
"limit": 3,
"next_offset": 3,
"offset": 0,
"resolution": "1d",
"returned_count": 3,
"total_count": 4
}Premium — historical data. This endpoint requires the
custom-index-history scope, granted separately from custom-index — a token can have current access without history. Contact david@compute-index.com to request access.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
Daily-resolution B200 series since January 2026:curl -H "Authorization: Bearer $TOKEN" \
"https://data-api.compute-index.com/v1/custom-index/history?index_id=b200-us&resolution=1d&start=2026-01-01"
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Index id (e.g. h100-us). Defaults to your sole index.
Start (UTC): YYYY-MM-DD or ISO-8601 datetime.
End (UTC): YYYY-MM-DD or ISO-8601 datetime. Default: now.
Sampling resolution: 30m (default), 1h, 1d.
Max points per page (<= 10000).
Required range:
1 <= x <= 10000Pagination offset (points to skip).
Required range:
x >= 0Response
Successful Response
Response for custom index history time series (paginated).
Show child attributes
Show child attributes
Sampling resolution: 30m, 1h, or 1d
Total points in range at this resolution (across all pages)
Points returned in this page
True if more points exist beyond this page
Offset to pass for the next page, or null if none