Social vs trading volume

GET /social-volume-index
GetSocialVolumeIndex

Whether an asset's trading activity is running ahead of, or behind, the conversation about it, on a 0–100 scale.

For each complete UTC day, social_relative is the asset's posts over the trailing 7 days as a multiple of its median 7-day post count over the previous 90 days, and trading_relative is its dollar trading volume over the same 7 days as a multiple of its own 90-day median. volume_index is 100 × trading_relative ÷ (social_relative + trading_relative): 50 means attention and trading are each at the same multiple of their normal, above 50 means trading is running ahead of the conversation, and below 50 that the conversation is running ahead of trading. The scale is symmetric: trading at twice attention's multiple reads 67, at half of it 33. posts and volume_usd are the day's own raw counts, so the two sides can be drawn on their own scales. Bots are left out. The series covers at most the last 90 days (hours up to 2160). A day without enough history for both baselines is omitted, and a move can reflect changing coverage of an asset as well as real interest, so read it beside price and volume.

Parameters

asset_id string QUERY required

Asset identifier returned by /assets or /search: a ticker or market symbol for stocks, commodities, and indices (NVDA, GLD, SPX), or for crypto the CoinGecko slug (bitcoin), or a numeric id for the few coins without one. Always 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 read up to 90 days back; Pro plans up to this parameter's maximum. A value reaching past your plan's window returns 403 and is not charged.

Default:2160

cURL Example

curl --get \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/social-volume-index' \
  --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; upgrade_url links to buying more
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[].posts
number (double) required

The asset's posts on the day itself, bots left out.

series[].social_relative
number (double) required

The asset's posts over the trailing 7 days as a multiple of its median 7-day post count over the previous 90 days; 1 is usual.

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

UTC RFC 3339 timestamp for the observation or bucket start.

series[].trading_relative
number (double) required

The asset's dollar trading volume over the trailing 7 days as a multiple of its median 7-day volume over the previous 90 days; 1 is usual.

series[].volume_index
number (double) required

100 × trading_relative ÷ (social_relative + trading_relative), from 0 to 100: 50 means trading volume and posts are in their usual proportion, above 50 means trading is running ahead of the conversation, below 50 that the conversation is running ahead of trading.

series[].volume_usd
number (double) required

The asset's dollar trading volume on the day itself; 0 on a day without trading, such as a weekend for a stock.

{
  "series": [
    {
      "posts": 684,
      "social_relative": 1.84,
      "timestamp": "2026-08-07T15:00:00Z",
      "trading_relative": 1.29,
      "volume_index": 41.2,
      "volume_usd": 41250000000
    }
  ]
}