Insight attention

GET /insights/attention
GetInsightAttention

The conversation around one intelligence item: the 24-hour attention window, author and sentiment counts, hourly buckets, cluster mix, impact vectors, and price reactions for every priceable linked entity. Use this after /insights when a reader opens one item and needs the full drawer-level context.

Parameters

insight_id integer QUERY required

Stable identifier of the intelligence item returned by /insights. Free plans reach back 90 days; further returns 403.

Example:1

cURL Example

curl --get \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/insights/attention' \
  --data-urlencode 'insight_id=1' \
  --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

attention
object required

Conversation and impact readout for the requested intelligence item.

attention.anchor_subject_id
string required

Subject id used to anchor the attention scan.

attention.authors
integer (int64) required

Distinct authors represented by the matching posts.

attention.average_sentiment_score
number (double) required

Arithmetic mean of the posts' sentiment scores, on the −100 (very bearish) to +100 (very bullish) scale.

attention.bearish_posts
integer (int64) required

Posts classified as bearish.

attention.bucket_hours
integer required

Width of each bucket in hours.

attention.buckets
array<object> required

Attention buckets in chronological order.

attention.buckets[].authors
integer (int64) required

Distinct authors represented by the matching posts.

attention.buckets[].average_sentiment_score
number (double) required

Arithmetic mean of the posts' sentiment scores, on the −100 (very bearish) to +100 (very bullish) scale.

attention.buckets[].bearish_posts
integer (int64) required

Posts classified as bearish.

attention.buckets[].bullish_posts
integer (int64) required

Posts classified as bullish.

attention.buckets[].neutral_posts
integer (int64) required

Posts classified as neutral.

attention.buckets[].posts
integer (int64) required

Matching post count over the requested window.

attention.buckets[].timestamp
string (date-time) required

UTC RFC 3339 timestamp for the observation or bucket start.

attention.bullish_posts
integer (int64) required

Posts classified as bullish.

attention.cluster_mix
array<object> required

Author-cluster mix for the matching posts, ranked by authors.

attention.cluster_mix[].authors
integer (int64) required

Distinct authors represented by the matching posts.

attention.cluster_mix[].cluster_id
string required

Canonical author-cluster identifier.

attention.cluster_mix[].posts
integer (int64) optional

Matching post count over the requested window.

attention.cluster_mix[].share
number (double) required

Share of eligible social attention as a decimal fraction from 0 to 1.

attention.clusters
integer (int64) required

Distinct author clusters represented by the matching posts.

attention.from
string (date-time) required

Inclusive UTC start of the measured window.

attention.impact
object optional

Structured impact assessment for the intelligence item.

attention.impact.max_score
integer required

Maximum possible score for each impact vector.

attention.impact.sentiment_score
integer required

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

attention.impact.vectors
array<object> required

Impact vectors behind the item-level impact assessment.

attention.impact.vectors[].key
string required

Stable machine-readable key for this impact vector.

attention.impact.vectors[].label
string required

Human-readable bucket or index label.

attention.impact.vectors[].score
integer required

Score for this impact vector.

attention.last_post_at
string (date-time) optional

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

attention.neutral_posts
integer (int64) required

Posts classified as neutral.

attention.optional_subjects
array<string> required

Subject ids where matching posts had to mention at least one; empty means no optional side was required.

attention.posts
integer (int64) required

Matching post count over the requested window.

attention.required_subjects
array<string> required

Subject ids that all matching posts had to mention.

attention.subjects_used
array<string> required

Subject ids actually used for the returned attention window after any fallback.

attention.to
string (date-time) required

Exclusive UTC end of the measured window.

attention.window_kind
string required

Window placement around the insight: before or around.

insight_id
integer (int64) required

Stable identifier for the intelligence item.

price_reactions
array<object> required

Price reactions for priceable entities linked to the intelligence item.

price_reactions[].insight_at
string (date-time) required

UTC time used as the baseline for the price reaction.

price_reactions[].insight_id
integer (int64) required

Stable identifier for the intelligence item.

price_reactions[].live_pct
number (double) optional

Latest price change versus the insight baseline, present for recent insights.

price_reactions[].moves
array<object> required

Fixed-horizon price moves once each horizon has elapsed.

price_reactions[].moves[].change_pct
number (double) required

Percentage-point price change versus the baseline at the insight time.

price_reactions[].moves[].hours
integer required

Lookback window represented by the response, in hours.

price_reactions[].series
array<object> required

Chronologically ordered observations.

price_reactions[].series[].change_pct
number (double) required

Percentage-point price change versus the baseline at the insight time.

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

UTC RFC 3339 timestamp for the observation or bucket start.

price_reactions[].subject_id
string required

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

{
  "attention": {
    "anchor_subject_id": "eq:NVDA",
    "authors": 241,
    "average_sentiment_score": 38.5,
    "bearish_posts": 438,
    "bucket_hours": 1,
    "buckets": [
      {
        "authors": 241,
        "average_sentiment_score": 38.5,
        "bearish_posts": 438,
        "bullish_posts": 1120,
        "neutral_posts": 284,
        "posts": 684,
        "timestamp": "2026-08-07T15:00:00Z"
      }
    ],
    "bullish_posts": 1120,
    "cluster_mix": [
      {
        "authors": 241,
        "cluster_id": "smart_money",
        "posts": 684,
        "share": 0.148
      }
    ],
    "clusters": 4,
    "from": "2026-08-15T09:00:00Z",
    "last_post_at": "2026-08-22T08:45:00Z",
    "neutral_posts": 284,
    "optional_subjects": [
      "string"
    ],
    "posts": 684,
    "required_subjects": [
      "string"
    ],
    "subjects_used": [
      "string"
    ],
    "to": "2026-08-22T09:00:00Z",
    "window_kind": "around"
  },
  "insight_id": 38421,
  "price_reactions": [
    {
      "insight_at": "2026-08-20T20:00:00Z",
      "insight_id": 38421,
      "live_pct": 1.8,
      "moves": [
        {
          "change_pct": 2.4,
          "hours": 168
        }
      ],
      "series": [
        {
          "change_pct": 2.4,
          "timestamp": "2026-08-07T15:00:00Z"
        }
      ],
      "subject_id": "text:artificial intelligence"
    }
  ]
}