Screener

GET /screener
Screener

Rank assets or subjects by one 24-hour measure and filter on the others: share, share change, posts, net bullish posts (bullish minus bearish; negative is bearish), or 24-hour price change. Ranges are inclusive and combine; price filters apply to assets only.

Share is the fraction of all posts in the same market over the same 24 hours (stocks, crypto, or people and topics), bots excluded; with clusters, it is the share of what those clusters posted.

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.
  • Each minimum must not exceed its maximum.
  • Price sorting and price ranges need kind=asset.

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

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 (the default), commodity, index, or crypto.

Allowed values
equitycommodityindexcrypto

Default:equity

clusters array<string> QUERY

Author clusters to read; repeat to combine, for example clusters=kols&clusters=media. Selected clusters are added together, and an author can belong to several.

  • Callers: smart_money (best-performing callers), dumb_money (worst-performing), top_degens (best on small-cap crypto)
  • Timing: early_movers (first to talk about an asset as attention rises), late_movers (arrive at the peak or after)
  • Builders: developers, founders, team_leaders, project_accounts
  • Institutions: vcs, asset_managers, dao_guild_funds, incubators, exchanges
  • Influence: kols, celebrities, media, marketer, shiller
  • Analysts: ta_analyst, fa_analyst, macro_analyst, onchain_analyst, investigators
  • Traders: position_trader, swing_trader, day_trader
  • Bias: perma_bull, doomer, tribalist
  • Other: political, nft, bots, automated_ai
  • Communities, by where the post was made: wallstreetbets, reddit

Example:smart_money

sort string QUERY

The measure to rank by. Defaults to share.

Allowed values
shareshare_changeshare_change_pctpostsnet_bullish_postsprice_change_24h_pct

Default:share

order string QUERY

desc (the default) puts the highest values first; asc puts the lowest first.

Allowed values
descasc

Default:desc

limit integer QUERY

Maximum results returned.

Default:25

min_share number QUERY

Keep results whose share is at least this fraction of the conversation, from 0 to 1.

Example:1

max_share number QUERY

Keep results whose share is at most this fraction, from 0 to 1.

Example:1

min_share_change number QUERY

Keep results whose share rose by at least this much against the previous 24 hours, as a fraction from -1 to 1: 0.01 is one percentage point.

Example:1

max_share_change number QUERY

Keep results whose share changed by at most this much, as a fraction from -1 to 1; negative values select results losing share.

Example:1

min_posts integer QUERY

Keep results with at least this many posts over the 24 hours. Defaults to 5 when sorting by price_change_24h_pct.

Example:1

min_net_bullish_posts integer QUERY

Keep results with at least this many more bullish than bearish posts; negative values allow bearish results.

Example:1

max_net_bullish_posts integer QUERY

Keep results with at most this many more bullish than bearish posts; negative values select bearish results.

Example:1

min_price_change_24h_pct number QUERY

Keep assets whose 24-hour price change is at least this many percent.

Example:1

max_price_change_24h_pct number QUERY

Keep assets whose 24-hour price change is at most this many percent.

Example:1

cURL Example

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

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: the ticker or market symbol for stocks, commodities, and indices, and the CoinGecko slug (or, without one, a numeric id) for crypto.

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
}