Emotion distribution
/emotions
Which of 15 emotions dominate the conversation about an asset or subject over time. proportion is each emotion's share of the bucket's emotions (they add up to 1); post_count counts posts showing it. A post can show several.
Parameter rules:
- Send
asset_idorsubject_id. asset_idmust be sent withasset_class.subject_idcannot be combined withasset_idorasset_class.
Wallet payment available at https://nebula-api.hiddensystems.ai/api/v1/x402/emotions. No Nebula account or API key required; check the payment offer before signing. x402 payment guide.
Parameters
Asset ID from /assets or /search, such as NVDA, GLD, SPX, or bitcoin. Send it with the asset_class returned alongside it.
Example:NVDA
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.
equitycommodityindexcrypto
Example:equity
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
Lookback window in hours. Free plans reach back 90 days; further returns 403.
Default:720
Requested time-series bucket size. When omitted, the service chooses a bucket size appropriate for the lookback window.
1h2h4h12h1d
Example:1h
cURL Example
curl --get \
--url 'https://nebula-api.hiddensystems.ai/api/v1/public/emotions' \
--data-urlencode 'asset_id=NVDA' \
--data-urlencode 'asset_class=equity' \
--header 'X-API-Key: YOUR_API_KEY'
Responses
Media type application/json
metadata
object
Methodology and request-window metadata needed to interpret the response.
metadata
Methodology and request-window metadata needed to interpret the response.
metadata.empty_bucket_policy
How clients should interpret buckets omitted or emitted without data.
metadata.empty_buckets
Number of buckets with no qualifying data.
metadata.granularity
Time bucket size used by the returned series.
metadata.hours
Lookback window represented by the response, in hours.
metadata.latest_empty_bucket
Most recent UTC bucket with no qualifying data.
series
object
Emotion observations keyed by the detected emotion label.
Allowed keys
angeranticipationboredomconfidencedisgustdistrustfeargreedjoyloveoptimismpessimismsadnesssurprisetrust
series
Emotion observations keyed by the detected emotion label.
angeranticipationboredomconfidencedisgustdistrustfeargreedjoyloveoptimismpessimismsadnesssurprisetrust
series.{key}[].post_count
Raw number of posts carrying this emotion in the bucket.
series.{key}[].proportion
This emotion's share of all emotion tags in the bucket, from 0 to 1.
series.{key}[].timestamp
UTC RFC 3339 timestamp for the observation or bucket start.
{
"series": {
"optimism": [
{
"post_count": 286,
"proportion": 0.37,
"timestamp": "2026-08-07T15:00:00Z"
}
]
}
}