Price history

GET /price-history
GetPriceHistory

Returns market-price observations and a separate daily trading-volume series for one resolved asset. Trading volume is measured in shares for equities and USD for crypto. Asset selectors support equities, commodities, indices, and crypto assets returned by GET /assets; commodity and index IDs use asset_class=equity.

Parameters

asset_id string QUERY required

Canonical identifier returned by /assets. Stock, commodity, and index IDs are normally ticker or market symbols and use asset_class=equity; crypto IDs are canonical crypto slugs. asset_class is mandatory whenever asset_id is present.

Example:NVDA

asset_class string QUERY required

Namespace of asset_id, or the market class for endpoints with a class-scoped global view. Stocks, commodities, and indices use equity. Equity is the documented default only where the endpoint description states a default.

Allowed values
equitycrypto

Example:equity

hours integer QUERY

Lookback window in hours.

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 Credit balance exhausted
403 Forbidden
404 Not Found
429 Too Many Requests
500 Internal Server Error
503 Service Unavailable

Media type application/json

daily_trading_volume
array<object> required

One trading-volume observation per calendar day, kept separate from the price-series clock.

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

UTC RFC 3339 timestamp for the observation or bucket start.

daily_trading_volume[].trading_volume
number (double) required

Trading volume for the observation in the unit declared by the response.

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[].trading_volume
number (double) optional

Trading volume for the observation in the unit declared by the response.

trading_volume_unit
string required

Unit used by every trading-volume value in this response.

Allowed values
sharesusd
{
  "daily_trading_volume": [
    {
      "timestamp": "2026-08-07T15:00:00Z",
      "trading_volume": 18420531
    }
  ],
  "series": [
    {
      "high_usd": 184.17,
      "low_usd": 179.82,
      "price_usd": 182.41,
      "timestamp": "2026-08-07T15:00:00Z",
      "trading_volume": 18420531
    }
  ],
  "trading_volume_unit": "shares"
}