---
title: "Market sentiment"
method: GET
path: "/polymarket/stocks/v1/market-sentiment"
tags: ["Polymarket Stocks"]
---

# Market sentiment

`GET /polymarket/stocks/v1/market-sentiment`

## Request

- Base URL: `https://api.adanos.com`
- URL: `https://api.adanos.com/polymarket/stocks/v1/market-sentiment`
- Auth: API key in header `X-API-Key`

Returns one reading for all stock-related Polymarket activity: overall buzz, sentiment split, activity trend, breadth and the `drivers` behind it, ranked by `buzz_score`.

Here `buzz_score` compares overall Polymarket stock-market activity with its own trailing 90-day baseline:
- around `50` = normal market activity
- higher = more active than usual
- lower = quieter than usual

`trend` is flow momentum over the current 3 UTC days vs previous 3 UTC days using trades, volume, market breadth and liquidity; not price movement. For `from`/`to`, anchors at `to` (or now when `to` is today).

Use `sentiment_score`, `bullish_pct` and `bearish_pct` for direction.

## Query parameters

- `from` string, date, nullable: Start date in YYYY-MM-DD. Inclusive UTC date.
- `to` string, date, nullable: End date in YYYY-MM-DD. Inclusive UTC date. Omit to use the current UTC date.

## Response `200`

Successful Response

- PolymarketMarketSentimentResponse: Service-level Polymarket market sentiment across all tracked stocks.
  - `buzz_score` number, nullable, required: Service-wide Polymarket heat score relative to the service's trailing 90-day baseline. Around 50 = normal activity, higher values = hotter-than-usual Polymarket activity.
  - `trend` 'rising' | 'falling' | 'stable', nullable: Flow momentum over the current 3 UTC days vs previous 3 UTC days using trades, volume, market breadth and liquidity; not price movement. Null when the selected window has no measurable Polymarket heat. For `from`/`to`, anchors at `to` (or now when `to` is today).
  - `trade_count` integer, required: Service-wide trade count in the selected period
  - `market_count` integer, required: Sum of ticker-level catalog lifetime-overlap market counts in the selected UTC window; not a cross-ticker global condition-id union
  - `current_market_count` integer, required: Sum of ticker-level currently open markets in the latest UTC-day snapshot; use this for live-only market breadth
  - `unique_traders` integer, nullable: Exact service-wide observed participant/proxy-wallet union in the selected period; null when retained wallet-level trades do not fully cover the requested window
  - `total_liquidity` number, required: Windowed aggregated liquidity signal in USD over the selected period
  - `active_tickers` integer, required: Number of tickers with market activity in the selected period
  - `sentiment_score` number, nullable: Service-wide weighted orderbook-aware implied sentiment score
  - `positive_count` integer, required: Deprecated. Outcome-aware bullish market count retained for v1 compatibility; prefer bullish_pct with trade_count and market_count for public analysis.
  - `negative_count` integer, required: Deprecated. Outcome-aware bearish market count retained for v1 compatibility; prefer bearish_pct with trade_count and market_count for public analysis.
  - `neutral_count` integer, required: Deprecated. Outcome-aware neutral/unclassified market count retained for v1 compatibility; prefer bullish_pct, bearish_pct, trade_count and market_count for public analysis.
  - `bullish_pct` integer, required: Outcome-aware bullish market percentage
  - `bearish_pct` integer, required: Outcome-aware bearish market percentage
  - `trend_history` number[]: Daily service-wide buzz scores (oldest→newest) using the same relative baseline calibration. Length = max(requested_days, 7) for successful requests; windows before platform availability return HTTP 422.
  - `drivers` PolymarketMarketSentimentDriver[]: Top 5 stocks of the selected period by buzz_score. trade_count and sentiment_score cover every day of the period.
    - `ticker` string, required: Instrument Graph key: the company key for a stock (AAPL, BNY), the product key for an ETF (EWG)
    - `trade_count` integer, required: Trade count for this asset in the selected period
    - `buzz_score` number, nullable, required: Asset buzz score in the selected period
    - `sentiment_score` number, nullable: Implied sentiment score for this asset in the selected period

## Other responses

- `401`: Authentication failed
- `403`: Historical data limit exceeded
- `422`: Invalid period or query parameters
- `429`: Rate limit exceeded
- `503`: Database temporarily unavailable
- `504`: Analytics request deadline exceeded

## Changes

- **2026-09-30** `a74a23b969c4`: 1 info
  - deleted the `query` request parameter `days` with deprecation

[Operation history](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/changes/polymarket/stocks/v1/market-sentiment/get.md)

---

[API](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api.md) - [All operations](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/revisions/7e8bdb1e7e75?raw)
