Back to the notebook

Entity Sentiment API: Track Sentiment for CEOs, Politicians, and Products, Not Just Tickers

An entity sentiment API tracks sentiment, mentions, and scores for people, products, and organizations the same way a stock API tracks tickers. Here is how to query a CEO, a politician, or a flagship product in two calls.

SentiSense Team
SentiSense Team
July 25, 2026 · 4 min read

Most sentiment data stops at the ticker. The market conversation does not. A CEO keynote, a politician's trade disclosure, or a flagship product launch each carries its own sentiment stream, and by the time it shows up blended into the parent stock's number, the signal is diluted.

An entity sentiment API fixes that: it returns sentiment, mention volume, and composite scores for people, products, and organizations, each addressed by a stable handle, the same way a stock sentiment API addresses tickers. SentiSense tracks thousands of these entities alongside every covered stock, and they share one metrics surface.

The SentiSense ontology: executives, politicians, products, organizations, and news sources connected to a central stock price chart

Why ticker-only sentiment misses the story

Consider three real cases:

  • The executive and the company diverge. Crowd sentiment on a CEO can swing on a keynote or an interview while the stock's own sentiment barely moves. If you only track the ticker, the divergence is invisible.
  • The product moves before the maker. Chatter about a flagship product (a new app, a device, an AI assistant) often accelerates before it shows up in the parent company's mentions.
  • Some market movers have no ticker at all. Committee chairs, central bankers, and regulators drive markets daily. There is no symbol to type.

How do you look up an entity's handle?

One call. Search by name, alias, or ticker fragment and get the canonical handle back:

curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v1/kb/entities/search?q=musk"
[
  {
    "urlSlug": "Elon-Musk",
    "ticker": null,
    "name": "Elon Musk",
    "type": "person"
  }
]

The urlSlug is the handle. It is case-insensitive, stable, and plugs into the same metrics endpoints you already use for stocks. It doubles as the web handle, so https://app.sentisense.ai/entities/Elon-Musk opens that entity's page in the app. If you feed the metrics endpoints a handle that does not resolve, the response is a 404 carrying a machine-readable error code, a plain-language message telling you what the path accepts, and a suggestions array when close matches exist:

{
  "error": "entity_not_found",
  "message": "Unknown entity 'Elon-Mus'. ...",
  "suggestions": [{ "urlSlug": "Elon-Musk", "ticker": null, "name": "Elon Musk" }]
}

That is a structured failure an agent can branch on, rather than an empty array it has to guess at.

How do you pull a person's sentiment time series?

Feed the handle to the metrics endpoint, exactly as you would a ticker:

# SentiSense Score time series for a person
curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v2/metrics/entity/Elon-Musk/metric/sentisense"

# Mention volume for the same person
curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v2/metrics/entity/Elon-Musk/metric/mentions"

The core metric types work the same way for entities as for stocks: the SentiSense Score (sentisense), a composite read on how bullish or bearish the conversation is, plus sentiment and mentions. The fourth type, social_dominance, is share of voice measured against other tracked stocks, so it is a stock-level reading and returns an empty series for a person or product.

Comparing an executive against their company is two calls with two handles:

curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v2/metrics/entity/Elon-Musk/metric/sentisense"
curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
  "https://app.sentisense.ai/api/v2/metrics/entity/TSLA/metric/sentisense"

And if you already know the stock, GET /api/v1/stocks/{ticker}/entities lists its tracked executives and products with their handles, so discovery can start from either end.

What can you build with entity-level sentiment?

  • A politician sentiment tracker that overlays sentiment and mention spikes on disclosure dates.
  • An executive reputation dashboard: one row per CEO, sentiment trend next to the stock's own.
  • Product launch monitoring that watches the product's mentions, not just the maker's.
  • Fed watching: mention volume and tone on central bankers, updated continuously.

Why do most data providers stop at tickers?

Because ticker-level sentiment can be assembled from feeds keyed by symbol. Entity-level sentiment requires an ontology: a typed graph of entities and relationships that knows a quote about a keynote belongs to a specific person, that a product belongs to a company, and that the same name in two contexts can mean two different things. That layer is the differentiator, and it is why handles in the SentiSense ontology resolve predictably: a ticker-shaped query always means the listed company, and every non-ticker entity has exactly one canonical slug.

The full reference lives in the Entities API docs, and an API key on any tier can make the calls above. The API is free to try: get an API key and they work as written.