API

The Stock Sentiment API

Per-stock sentiment as data, not a chart. SentiSense reads the conversation around each covered US stock across news, Reddit, X, Substack, and finance YouTube, scores the tone of every mention with a model trained on financial text, and serves the result as a time series you can pull with one HTTP call.

The sentiment endpoints work on the free tier: 1,000 requests a month, no credit card. Generate a key and this works:

curl -H "X-SentiSense-API-Key: ss_live_YOUR_KEY" \
  "https://app.sentisense.ai/api/v2/metrics/entity/NVDA/metric/sentiment"

The data

Four sentiment metrics per stock, plus the context around them.

Every metric is a time series: window it with startTime/endTime, downsample with maxDataPoints.

Sentiment

Signed polarity of the conversation around a ticker. Below zero the tone skews bearish, above zero it skews bullish. Track the direction, and watch for divergence against price.

GET /api/v2/metrics/entity/{ticker}/metric/sentiment

SentiSense Score

Our proprietary composite of cross-platform buzz for a ticker: one number that blends sentiment and attention across news and social.

GET /api/v2/metrics/entity/{ticker}/metric/sentisense

Mentions

Raw conversation volume. Volume without tone is not sentiment, but a mention spike tells you where attention is crowding before you read the tone.

GET /api/v2/metrics/entity/{ticker}/metric/mentions

Social Dominance

The stock's share of social conversation among covered tickers: how much of the room this name is taking up right now.

GET /api/v2/metrics/entity/{ticker}/metric/social_dominance

Slice by source

Distribution endpoints break a metric down by dimension, like sentiment by source, so you can see whether news, Reddit, X, Substack, and YouTube agree, and read the divergence when they do not.

Detect anomalies

Baseline endpoints return statistical baselines per metric, so a 3-sigma sentiment deviation can trigger your own alerting.

Read the receipts

The documents API returns the underlying items behind a ticker, news, social posts, and finance videos, each with per-entity sentiment labels and a link back to the source.

Also in the same API: Market Mood (a 0 to 100 market-wide composite), holdings-weighted ETF sentiment, analyst ratings, insider trades, and institutional 13F flows. Quotes are live market data; sentiment and news analytics are recomputed on a regular cadence through the day.

Want to see it before you build? The free market sentiment page renders the same data as a live sector heatmap, a most bullish and most bearish leaderboard, and weekly movers.

Quickstart

From zero to a sentiment series in one request.

Python

import requests

r = requests.get(
    "https://app.sentisense.ai/api/v2/metrics"
    "/entity/NVDA/metric/sentiment",
    headers={"X-SentiSense-API-Key": "ss_live_YOUR_KEY"},
    params={"maxDataPoints": 30},
)
for point in r.json():
    value = point["metricValue"]["value"]["value"]
    print(point["timestamp"], round(value, 3))

Node

const res = await fetch(
  "https://app.sentisense.ai/api/v2/metrics" +
    "/entity/NVDA/metric/sentiment?maxDataPoints=30",
  { headers: { "X-SentiSense-API-Key": "ss_live_YOUR_KEY" } }
);
const series = await res.json();
// series[i].metricValue.value.value -> polarity

Response shape (trimmed)

[
  {
    "timestamp": 1782360000000,
    "metricType": "SENTIMENT",
    "metricValue": {
      "value": { "value": 0.1256 },
      "stats": { "mean": 0.1256, "min": 0.1256, "max": 0.1256, "count": 1 }
    }
  }
]

Prefer a typed client? Official SDKs: pip install sentisense and npm install sentisense. Both are thin wrappers over the same REST endpoints.

Methodology

Sentiment from the text itself, not inferred from price.

Most “sentiment” numbers are price-derived: momentum and volatility dressed up as mood. SentiSense works from the other direction. The pipeline ingests financial news, Reddit, X, Substack, and finance YouTube, resolves which company each mention actually refers to, and scores the tone of every individual mention with a model trained on financial text. Those mention-level scores roll up into the per-stock series the API serves, and the distribution endpoints let you split any metric back out by source.

That distinction matters if you are building on it: text-based sentiment can move before price does, which is exactly the gap a price-derived gauge cannot see. The full pipeline is documented on the methodology page, and if you want the background reading, start with how to track market sentiment.

Pricing

A free tier you can actually build on.

Free

API keys are free to generate, no credit card required. Every metric endpoint, including sentiment, mentions, SentiSense Score, and social dominance, works on the free tier: 1,000 requests a month at up to 30 requests a minute.

PRO, $15/mo

No monthly request cap: the 300 requests per minute rate limit is the only ceiling. Full-depth data on preview endpoints, complete institutional holdings, and room to run daily jobs across your whole universe.

For AI agents

Built to be called by agents, not just apps.

Agent skill file

The whole API is documented for machines at /skill.md: endpoints, auth, and examples in one markdown file your agent can read and act on.

MCP connector

Using Claude or ChatGPT? Connect SentiSense with one URL and ask for sentiment in plain English, no code at all.

Coding agents

npx skills add SentiSenseApp/skills wires the skills into Claude Code, Cursor, Codex, or Gemini so your agent can pull sentiment mid-task. On OpenClaw, use npx clawhub install sentisense.

FAQ

Stock sentiment API questions, answered.

Is there a free stock sentiment API?

Yes. SentiSense API keys are free to generate, no credit card required, and the core metric endpoints (sentiment, mentions, SentiSense Score, social dominance) all work on the free tier. The free tier includes 1,000 requests per month at up to 30 requests per minute, which is enough to build and run a real project.

What does the sentiment score mean?

It is a signed polarity score per stock, computed by a language model that reads the news articles and social posts mentioning that company and scores the tone of each mention. Values below zero mean the conversation skews bearish, values above zero mean it skews bullish. The most useful read is the direction it is moving, not any single value.

How is this different from a fear and greed index?

Price-derived gauges infer mood from market data like momentum and volatility, so they can only confirm what price already shows. A text-based sentiment API reads what people are actually writing about a specific stock, which can shift before price does. SentiSense also publishes Market Mood, a 0 to 100 market-wide composite, if you want the broad thermometer alongside per-stock readings.

What data sources does it cover?

Five source classes, read continuously across the most-watched US stocks: financial news, Reddit, X, Substack, and finance YouTube. The pipeline resolves which company each mention refers to, scores the tone of each mention with a model trained on financial text, and lets you break a stock down by source. Sentiment is recomputed on a regular cadence through the day, so readings reflect the recent conversation rather than a stale snapshot.

Can AI agents and LLMs use it?

Yes, three ways. Agents can read the skill file at sentisense.ai/skill.md and call the REST API directly. Claude and ChatGPT users can add the SentiSense MCP connector with one URL and no code. And builders can use the official Python and Node SDKs inside agent tools.

Start free

One key, and the sentiment series is yours to build on.

Generate a free API key in the app under Settings > Developer Console, then call any metric endpoint. No card required.

Educational use, not investment advice.