Social momentum

GET /social-momentum
GetSocialMomentum

Returns post activity, unique posters, sentiment counts, and average sentiment over time, grouped by author cluster. Omit identity selectors for the global view; asset_class then defaults to equity. Asset selectors support equities, commodities, indices, and crypto assets returned by GET /assets; commodity and index IDs use asset_class=equity. Parameter rules: asset_id requires asset_class. subject_id and asset_class cannot be combined. subject_id and asset_id cannot be combined.

Parameters

asset_id string QUERY

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

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

subject_id string QUERY

Canonical non-asset identifier returned by /subjects. It cannot be combined with asset_id or asset_class.

Example:person:donald_trump

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 --request GET \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/social-momentum' \
  --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

clusters
object required

Social-momentum series keyed by canonical author-cluster identifier.

clusters.{key}[].average_sentiment_score
number (double) required

Arithmetic mean of the source sentiment scores in the bucket.

clusters.{key}[].bearish_posts
integer (int64) required

Posts classified as bearish.

clusters.{key}[].bullish_posts
integer (int64) required

Posts classified as bullish.

clusters.{key}[].neutral_posts
integer (int64) required

Posts classified as neutral.

clusters.{key}[].timestamp
string (date-time) required

UTC RFC 3339 timestamp for the observation or bucket start.

clusters.{key}[].total_posts
integer (int64) required

Post count over the metric's active lookback window.

clusters.{key}[].unique_posters
integer (int64) required

Distinct posting accounts in the bucket; at coarser-than-hourly granularity this is an upper bound summed from hourly counts.

{
  "clusters": {
    "smart_money": [
      {
        "average_sentiment_score": 0.42,
        "bearish_posts": 41,
        "bullish_posts": 112,
        "neutral_posts": 31,
        "timestamp": "2026-08-07T15:00:00Z",
        "total_posts": 184,
        "unique_posters": 73
      }
    ]
  }
}