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

# Market Sentiment

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

Returns the service-level Polymarket market sentiment snapshot across all tracked stocks when you want a single Polymarket-wide market state instead of per-ticker rankings.
It includes service-wide buzz, sentiment split, activity trend, breadth metrics and the top drivers by current `buzz_score`.

`buzz_score` here means relative Polymarket market heat, not pure bullishness.
It measures how hot overall Polymarket stock-market activity is versus Polymarket's 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.
- `days` integer — Deprecated v1 compatibility shorthand. Prefer `from` and `to` for reproducible UTC date windows.

## 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 assets by current buzz_score driving the service-level reading
    - `ticker` string, required — Stock ticker symbol
    - `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

---

[API](https://skmtc.net/adanos/apis/adanos-market-sentiment-api.md) · [All operations](https://skmtc.net/adanos/apis/adanos-market-sentiment-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adanos/adanos-market-sentiment-api/revisions/351caf64ba81/schema)
