Related subjects

GET /related-subjects
GetRelatedSubjects

The people, accounts, and topics most often discussed in the same posts as an asset or subject. share is shared posts as a fraction of the anchor's posts; the sentiment fields are the anchor's sentiment within those shared posts.

Parameter rules:

  • Send asset_id or subject_id.
  • asset_id must be sent with asset_class.
  • subject_id cannot be combined with asset_id or asset_class.

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

Parameters

asset_id string QUERY

Asset ID from /assets or /search, such as NVDA, GLD, SPX, or bitcoin. Send it with the asset_class returned alongside it.

Example:NVDA

asset_class string QUERY

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

subject_id string QUERY

Canonical non-asset identifier returned by /subjects or /search, such as text:jensen huang or handle:elonmusk. Accepted in any case. It cannot be combined with asset_id or asset_class.

Example:text:jensen huang

hours integer QUERY

Lookback window in hours. Free plans reach back 90 days; further returns 403.

Default:168

limit integer QUERY

Maximum results returned.

Default:25

cURL Example

curl --get \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/related-subjects' \
  --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; 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

authors
integer (int64) required

Distinct authors represented by the matching posts.

average_sentiment_score
number (double) required

Mean sentiment score across all anchor posts in the requested window.

from
string (date-time) required

Inclusive UTC start of the measured window.

hours
integer required

Lookback window represented by the response, in hours.

posts
integer (int64) required

Matching post count over the requested window.

subjects
array<object> required

Non-asset subjects returned by the discovery operation.

subjects[].authors
integer (int64) required

Distinct authors represented by the matching posts.

subjects[].bearish_posts
integer (int64) required

Posts classified as bearish.

subjects[].bullish_posts
integer (int64) required

Posts classified as bullish.

subjects[].first_post_at
string (date-time) optional

UTC time of the first matching post in the requested window.

subjects[].last_post_at
string (date-time) optional

UTC time of the latest matching post in the requested window.

subjects[].name
string required

Human-readable name.

subjects[].neutral_posts
integer (int64) required

Posts classified as neutral.

subjects[].posts
integer (int64) required

Matching post count over the requested window.

subjects[].posts_delta
number (double) required

Fractional change from posts_prior to posts_recent; positive values indicate growth.

subjects[].posts_prior
integer (int64) required

Matching posts in the first half of the requested window.

subjects[].posts_recent
integer (int64) required

Matching posts in the second half of the requested window.

subjects[].sentiment_delta
number (double) required

Difference between sentiment_score for the shared conversation and the anchor's complete-window average.

subjects[].sentiment_score
number (double) required

Signed sentiment score; positive is bullish and negative is bearish.

subjects[].share
number (double) required

Anchor posts that also mention this subject as a decimal fraction of all anchor posts in the window.

subjects[].subject_id
string required

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

to
string (date-time) required

Exclusive UTC end of the measured window.

{
  "authors": 241,
  "average_sentiment_score": 36.2,
  "from": "2026-08-15T09:00:00Z",
  "hours": 168,
  "posts": 684,
  "subjects": [
    {
      "authors": 73,
      "bearish_posts": 41,
      "bullish_posts": 112,
      "first_post_at": "2026-08-15T09:00:00Z",
      "last_post_at": "2026-08-22T08:45:00Z",
      "name": "Artificial Intelligence",
      "neutral_posts": 31,
      "posts": 184,
      "posts_delta": 0.556,
      "posts_prior": 72,
      "posts_recent": 112,
      "sentiment_delta": 8.4,
      "sentiment_score": 42.6,
      "share": 0.148,
      "subject_id": "text:artificial intelligence"
    }
  ],
  "to": "2026-08-22T09:00:00Z"
}