Sentiment

GET /sentiment
GetSentiment

Quanto è rialzista o ribassista la conversazione su un asset, un soggetto o un intero mercato, nel tempo. sentiment_signal è il numero di post rialzisti meno quelli ribassisti nelle ultime 24 ore, con i post recenti ponderati maggiormente: un valore positivo indica un sentiment netto rialzista. Cresce con il volume, quindi confronta un asset con il suo stesso storico.

cohorts fornisce la stessa misura per i bot e, per un singolo asset o soggetto, per i top caller. Invia clusters per leggere uno o più gruppi di autori, oppure ometti asset e soggetto per una vista sull'intero mercato.

Regole dei parametri:

  • asset_id deve essere inviato insieme a asset_class.
  • subject_id non può essere combinato con asset_id o asset_class.
  • Senza asset_id, asset_class deve essere equity o crypto; commodity e index richiedono un asset_id.

Pagamento con wallet disponibile su https://nebula-api.hiddensystems.ai/api/v1/x402/sentiment. Non sono richiesti un account Nebula o una chiave API; controlla l'offerta di pagamento prima di firmare. Guida al pagamento x402.

Parametri

asset_id string QUERY

Asset ID da /assets o /search, ad esempio NVDA, GLD, SPX o bitcoin. Va inviato con l'asset_class restituito insieme ad esso.

Example:NVDA

asset_class string QUERY

Con asset_id, la classe dell'asset. Senza, il mercato da aggregare: equity (azioni, materie prime e indici; il valore predefinito) o crypto.

Valori consentiti
equitycommodityindexcrypto

Example:equity

subject_id string QUERY

Identificatore canonico non relativo a un asset restituito da /subjects o /search, ad esempio text:jensen huang o handle:elonmusk. Accettato in qualsiasi combinazione di maiuscole e minuscole. Non può essere combinato con asset_id o asset_class.

Example:text:jensen huang

hours integer QUERY

Finestra di lookback in ore. I piani gratuiti risalgono fino a 90 giorni; oltre viene restituito 403.

Default:168

granularity string QUERY

Dimensione del bucket della serie temporale richiesta. Se omessa, il servizio sceglie una dimensione del bucket adeguata alla finestra di lookback.

Valori consentiti
1h2h4h12h1d

Example:1h

clusters array<string> QUERY

Cluster di autori da leggere; ripeti per combinarli, ad esempio clusters=kols&clusters=media. I cluster selezionati vengono sommati e un autore può appartenere a più cluster.

  • Caller: smart_money (i caller con le migliori performance), dumb_money (con le peggiori), top_degens (i migliori sulle crypto a bassa capitalizzazione)
  • Tempismo: early_movers (i primi a parlare di un asset quando l'attenzione sale), late_movers (arrivano al picco o dopo)
  • Builder: developers, founders, team_leaders, project_accounts
  • Istituzioni: vcs, asset_managers, dao_guild_funds, incubators, exchanges
  • Influenza: kols, celebrities, media, marketer, shiller
  • Analisti: ta_analyst, fa_analyst, macro_analyst, onchain_analyst, investigators
  • Trader: position_trader, swing_trader, day_trader
  • Bias: perma_bull, doomer, tribalist
  • Altro: political, nft, bots, automated_ai
  • Community, in base a dove è stato pubblicato il post: wallstreetbets, reddit

Example:smart_money

Esempio cURL

curl --request GET \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/sentiment' \
  --header 'X-API-Key: YOUR_API_KEY'

Risposte

200 OK
400 Richiesta non valida
401 Non autorizzato
402 Crediti esauriti; la risposta include i tempi di rinnovo e il saldo dei crediti acquistati
403 Vietato
404 Non trovato
405 Metodo non consentito; l'header Allow elenca il metodo supportato
429 Troppe richieste
500 Errore interno del server
503 Servizio non disponibile

Tipo di media application/json

cohorts
object obbligatorio

La stessa misura per altri gruppi di autori: bots e top_callers quando tale popolazione è disponibile. La popolazione non-bot è series stessa.

Chiavi consentite
botstop_callers
cohorts.{key}[].bearish_posts
number (double) obbligatorio

Post ribassisti nelle ultime 24 ore che terminano in questo punto; interval_bearish_posts è quello del bucket.

cohorts.{key}[].bullish_posts
number (double) obbligatorio

Post rialzisti nelle ultime 24 ore che terminano in questo punto; interval_bullish_posts è quello del bucket.

cohorts.{key}[].interval_bearish_posts
number (double) opzionale

Post ribassisti in questo bucket temporale emesso.

cohorts.{key}[].interval_bullish_posts
number (double) opzionale

Post rialzisti in questo bucket temporale emesso.

cohorts.{key}[].interval_neutral_posts
number (double) opzionale

Post neutri in questo bucket temporale emesso.

cohorts.{key}[].interval_posts
number (double) opzionale

Post in questo bucket temporale emesso, prima dell'accumulo del lookback.

cohorts.{key}[].neutral_posts
number (double) obbligatorio

Post neutri nelle ultime 24 ore che terminano in questo punto; interval_neutral_posts è quello del bucket.

cohorts.{key}[].sentiment_signal
number (double) obbligatorio

Post netti rialzisti ponderati per decadimento: rialzisti meno ribassisti. Positivo è rialzista, negativo è ribassista e l'ampiezza cresce con l'attività.

cohorts.{key}[].timestamp
string (date-time) obbligatorio

Timestamp UTC in formato RFC 3339 per l'osservazione o l'inizio del bucket.

cohorts.{key}[].total_posts
number (double) obbligatorio

Post nelle ultime 24 ore che terminano in questo punto, non solo in questo bucket; interval_posts è quello del bucket.

series
array<object> obbligatorio

Osservazioni ordinate cronologicamente.

series[].bearish_posts
number (double) obbligatorio

Post ribassisti nelle ultime 24 ore che terminano in questo punto; interval_bearish_posts è quello del bucket.

series[].bullish_posts
number (double) obbligatorio

Post rialzisti nelle ultime 24 ore che terminano in questo punto; interval_bullish_posts è quello del bucket.

series[].interval_bearish_posts
number (double) opzionale

Post ribassisti in questo bucket temporale emesso.

series[].interval_bullish_posts
number (double) opzionale

Post rialzisti in questo bucket temporale emesso.

series[].interval_neutral_posts
number (double) opzionale

Post neutri in questo bucket temporale emesso.

series[].interval_posts
number (double) opzionale

Post in questo bucket temporale emesso, prima dell'accumulo del lookback.

series[].neutral_posts
number (double) obbligatorio

Post neutri nelle ultime 24 ore che terminano in questo punto; interval_neutral_posts è quello del bucket.

series[].sentiment_signal
number (double) obbligatorio

Post netti rialzisti ponderati per decadimento: rialzisti meno ribassisti. Positivo è rialzista, negativo è ribassista e l'ampiezza cresce con l'attività.

series[].timestamp
string (date-time) obbligatorio

Timestamp UTC in formato RFC 3339 per l'osservazione o l'inizio del bucket.

series[].total_posts
number (double) obbligatorio

Post nelle ultime 24 ore che terminano in questo punto, non solo in questo bucket; interval_posts è quello del bucket.

{
  "cohorts": {
    "bots": [
      {
        "bearish_posts": 438,
        "bullish_posts": 1120,
        "neutral_posts": 284,
        "sentiment_signal": 128.6,
        "timestamp": "2026-08-07T15:00:00Z",
        "total_posts": 1842
      }
    ]
  },
  "series": [
    {
      "bearish_posts": 438,
      "bullish_posts": 1120,
      "interval_bearish_posts": 18,
      "interval_bullish_posts": 46,
      "interval_neutral_posts": 10,
      "interval_posts": 74,
      "neutral_posts": 284,
      "sentiment_signal": 128.6,
      "timestamp": "2026-08-07T15:00:00Z",
      "total_posts": 1842
    }
  ]
}