---
title: "Trending stocks"
method: GET
path: "/polymarket/stocks/v1/trending"
tags: ["Polymarket Stocks"]
---

# Trending stocks

`GET /polymarket/stocks/v1/trending`

Returns the stocks with the strongest Polymarket prediction-market activity in the selected period, ranked by `buzz_score`.

**Includes:**
- `buzz_score`: normalized 0-100 activity score used for ranking; bullish and bearish market activity can both rank highly
- `trend`: 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)
- `sentiment_score`, `bullish_pct`, `bearish_pct`: outcome-aware market sentiment signals
- `trade_count`, `market_count`, `unique_traders`, `total_liquidity`: activity, breadth, observed participation and liquidity signals
- `trend_history`: independent UTC-day buzz scores, oldest to newest; minimum 7 values. For a closed single-day window with an available final Daily score, the final value equals `buzz_score`; live and multi-day values can differ. Missing days are `0.0`

## 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.
- `limit` integer — Maximum stocks to return
- `offset` integer — Number of items to skip
- `type` 'stock' | 'etf' | 'all', nullable — Filter by asset type. Omit or use 'all' for all assets.

## Response `200`

Successful Response

- PolymarketTrendingStock[]
  - `ticker` string, required — Stock ticker symbol
  - `company_name` string, nullable — Company name from ticker_reference
  - `buzz_score` number, nullable, required — Polymarket activity/flow discovery score (0-100); not directional sentiment
  - `trend` 'rising' | 'falling' | 'stable', required — 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).
  - `trade_count` integer, required — Trade count in selected period
  - `market_count` integer, required — Distinct markets that existed for ticker within the selected UTC window, counted by market-catalog lifetime overlap
  - `current_market_count` integer, required — Number of currently open markets in the latest UTC-day snapshot for ticker; use this for live-only market breadth
  - `unique_traders` integer, nullable — Exact distinct union of observed proxy and explicit maker wallet hashes for the delivered scope and UTC window; null when retained wallet-level trades do not fully cover the window; not a complete market-wide participant census
  - `sentiment_score` number, nullable — Orderbook-aware implied sentiment (-1 to +1); null when no directional sentiment evidence exists in the selected period
  - `bullish_pct` integer, required — Outcome-aware bullish market percentage
  - `bearish_pct` integer, required — Outcome-aware bearish market percentage
  - `total_liquidity` number, required — Windowed aggregated liquidity signal in USD over the selected period; not a current snapshot
  - `trend_history` number[] — Recent buzz history (oldest→newest). Length follows the resolved period, with a minimum of 7 values. Closed historical windows end at `to`.

## 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)
