Price history

GET /price-history
GetPriceHistory

An asset's price over time, to read against its social data. Index values are in index points. Where a crypto asset has no exchange candles, high_usd and low_usd are the trailing 24-hour range.

Wallet payment available at https://nebula-api.hiddensystems.ai/api/v1/x402/price-history. No Nebula account or API key required; check the payment offer before signing. x402 payment guide.

Parameters

asset_id string QUERY required

Asset ID from /assets or /search, such as NVDA, GLD, SPX, or bitcoin. Send it with the asset_class returned alongside it.

Example:NVDA

asset_class string QUERY required

Class of the asset named by asset_id: equity (stocks and ETFs), commodity, index, or crypto. Send the asset_class that /assets or /search returned alongside the asset_id.

Allowed values
equitycommodityindexcrypto

Example:equity

hours integer QUERY

Lookback window in hours. Free plans reach back 90 days; further returns 403.

Default:168

granularity string QUERY

Requested time-series bucket size. When omitted, the service chooses a bucket size appropriate for the lookback window.

Allowed values
1h2h4h12h1d

Example:1h

cURL Example

curl --get \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/price-history' \
  --data-urlencode 'asset_id=NVDA' \
  --data-urlencode 'asset_class=equity' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

200 OK
400 Bad Request
401 Unauthorized
402 Credits used up; response includes renewal timing and purchased credit balance
403 Forbidden
404 Not Found
405 Method not allowed; the Allow header lists the supported method
429 Too Many Requests
500 Internal Server Error
503 Service Unavailable

Media type application/json

series
array<object> required

Chronologically ordered observations.

series[].high_usd
number (double) optional

Observed high price in US dollars.

series[].low_usd
number (double) optional

Observed low price in US dollars.

series[].price_usd
number (double) optional

Latest or observed market price in US dollars.

series[].timestamp
string (date-time) required

UTC RFC 3339 timestamp for the observation or bucket start.

{
  "series": [
    {
      "high_usd": 184.17,
      "low_usd": 179.82,
      "price_usd": 182.41,
      "timestamp": "2026-08-07T15:00:00Z"
    }
  ]
}