Top trending

GET /top-trending
GetTopTrending

The assets or subjects with the largest share of the conversation right now, highest first.

Each result's share is its posts over the last 24 hours as a fraction of all posts in its population over the same 24 hours, the same measure as /mindshare. Share is measured against the whole conversation about the same kind of thing over the same 24 hours: all traditional-market posts for stocks, commodities, and indices, all crypto posts for crypto, and all person, account, and topic posts for subjects. Bot accounts are left out. Filter by author cluster to rank what one group is talking about, for example clusters=smart_money; share is then measured against everything the selected clusters posted, and several clusters are added together. Each result's asset_id and asset_class, or subject_id, can be passed straight to the other endpoints. Results also carry the change against the previous 24 hours; to rank by that change instead, use /top-momentum.

Parameter rules:

  • asset_class applies only to kind=asset.
  • Posting communities such as wallstreetbets are accepted only for kind=asset with asset_class equity, commodity, or index.

Parameters

kind string QUERY

What to rank: asset (stocks, commodities, indices, or crypto) or subject (people, accounts, and topics). Defaults to asset.

Allowed values
assetsubject

Default:asset

asset_class string QUERY

With kind=asset, the market to rank: equity (stocks and ETFs), commodity, index, or crypto. Defaults to equity. Commodities and indices are ranked by their share of all traditional-market conversation, the same population as stocks.

Allowed values
equitycommodityindexcrypto

Default:equity

clusters array<string> QUERY

Filters to posts from one or more author clusters. Repeat the parameter to combine groups, for example clusters=kols&clusters=media. Selected clusters are added together, so an author who belongs to two selected clusters counts once for each. Nebula sorts authors into more than 30 clusters by who they are and how they behave, and an author can belong to several:

  • Callers, ranked daily on their last 90 days of calls: smart_money (the best-ranked callers by win rate and return), dumb_money (the worst-ranked), and top_degens (the best callers on small-cap crypto)
  • Builders: developers, founders, team_leaders (CEOs and other executives), and project_accounts
  • Institutions: vcs, asset_managers, dao_guild_funds, incubators, and exchanges
  • Influence: kols, celebrities, media, marketer, and shiller
  • Analysts: ta_analyst, fa_analyst, macro_analyst, onchain_analyst, and investigators
  • Traders by horizon: position_trader, swing_trader, and day_trader
  • Bias: perma_bull, doomer, and tribalist
  • Other: political, nft, bots, and automated_ai
  • Communities, by where a post was made rather than who wrote it: wallstreetbets (r/wallstreetbets) and reddit (anywhere on Reddit)

An unknown cluster id returns 400. Use /clusters to see which clusters are active in a market.

Example:smart_money

limit integer QUERY

Maximum results returned.

Default:25

cURL Example

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

asset_class
string optional

The market whose assets were ranked; absent for subjects.

clusters
array<string> required

The author clusters whose posts were counted, canonicalised; empty when every author except bots was counted.

from
string (date-time) required

UTC start of the ranked 24 hours. The comparison window is the 24 hours before it.

kind
string required

What was ranked: asset or subject, as requested.

Allowed values
assetsubject
previous_total_posts
integer (int64) required

All posts in the ranked population over the previous 24 hours.

results
array<object> required

Ranked results, best first.

results[].asset_class
string optional

The asset's class: equity (stocks and ETFs), commodity, index, or crypto. Send it with asset_id on every asset-scoped request.

Allowed values
equitycommodityindexcrypto
results[].asset_id
string optional

Canonical public asset identifier. Equity identifiers are ticker symbols; crypto identifiers are canonical crypto IDs.

results[].bearish_posts
integer (int64) required

Posts classified as bearish.

results[].bullish_posts
integer (int64) required

Posts classified as bullish.

results[].kind
string required

What the result is: asset (query it with asset_id and asset_class) or subject (query it with subject_id).

Allowed values
assetsubject
results[].name
string required

Human-readable name.

results[].neutral_posts
integer (int64) required

Posts classified as neutral.

results[].posts
integer (int64) required

This result's posts over the ranked 24 hours.

results[].previous_posts
integer (int64) required

This result's posts in the immediately preceding window of equal length.

results[].price_change_24h_pct
number (double) optional

Raw market-price change over 24 hours, in percentage points.

results[].share
number (double) required

This result's posts as a fraction of all posts in the ranked population over the same 24 hours, from 0 to 1.

results[].share_change
number (double) optional

Change in share against the previous window, as a decimal fraction: 0.01 is one percentage point. Absent only when the population had no posts in the previous window.

results[].share_change_pct
number (double) optional

The change in share relative to the previous window's share, in percent. Absent when the result had no posts in the previous window.

results[].subject_id
string optional

Canonical identifier for a non-asset person, account, or topic.

results[].symbol
string optional

Display ticker or market symbol.

to
string (date-time) required

UTC end of the ranked 24 hours: when the ranking was computed.

total_posts
integer (int64) required

All posts in the ranked population over the 24 hours: the denominator of share.

{
  "asset_class": "equity",
  "clusters": [],
  "from": "2026-08-06T15:00:00Z",
  "kind": "asset",
  "previous_total_posts": 17205,
  "results": [
    {
      "asset_class": "equity",
      "asset_id": "NVDA",
      "bearish_posts": 61,
      "bullish_posts": 214,
      "kind": "asset",
      "name": "NVIDIA Corporation",
      "neutral_posts": 111,
      "posts": 386,
      "previous_posts": 273,
      "price_change_24h_pct": -2.48,
      "share": 0.025255,
      "share_change": 0.009388,
      "share_change_pct": 59.16,
      "symbol": "NVDA"
    },
    {
      "asset_class": "equity",
      "asset_id": "AMZN",
      "bearish_posts": 30,
      "bullish_posts": 92,
      "kind": "asset",
      "name": "Amazon.com, Inc.",
      "neutral_posts": 63,
      "posts": 185,
      "previous_posts": 165,
      "price_change_24h_pct": -0.32,
      "share": 0.012104,
      "share_change": 0.002516,
      "share_change_pct": 26.24,
      "symbol": "AMZN"
    }
  ],
  "to": "2026-08-07T15:00:00Z",
  "total_posts": 15284
}