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

# Compare stocks

`GET /polymarket/stocks/v1/compare`

## Request

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

Compare up to 10 stock or ETF tickers side by side using Polymarket market activity.

Use it for watchlists: one compact row per ticker.
Results are sorted by `buzz_score` descending and include `trend`, `trend_history`, `trade_count`, `market_count`, `current_market_count`, `unique_traders`, `sentiment_score`, `bullish_pct`, `bearish_pct` and `total_liquidity`.
`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).
Each requested ticker gets one row. Tickers are Instrument Graph keys, as on `/stock/{ticker}`; keys used before the Graph switch are not rewritten. Keys without activity in the period, including keys that are not Graph keys, return zeroed metrics. Keys that are not Graph keys have no company name; use `/search` to find a key.

## 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.
- `tickers` string, required: Comma-separated Instrument Graph keys (max 10), same grammar as `/stock/{ticker}`. Keys that are not Graph keys return zero-activity rows without a company name.

## Response `200`

Successful Response

- PolymarketCompareResponse: Response for compare endpoint.
  - `period_days` integer, required: Analysis period in days
  - `stocks` PolymarketCompareStockItem[], required: Stocks sorted by buzz_score descending
    - `ticker` string, required: Instrument Graph key: the company key for a stock (AAPL, BNY), the product key for an ETF (EWG)
    - `company_name` string, nullable: Instrument Graph company name; the product name for an ETF; null for a key that is not a Graph key
    - `buzz_score` number, nullable, required: Buzz score (0-100)
    - `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. For `from`/`to`, anchors at `to` (or now when `to` is today). Null when no qualifying activity exists.
    - `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; null when no directional sentiment evidence exists in the selected period
    - `bullish_pct` integer, nullable: Outcome-aware bullish market percentage
    - `bearish_pct` integer, nullable: 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 when data exists. Closed historical windows end at `to`. Empty when no qualifying data exists.

## Other responses

- `400`: Invalid compare item list
- `401`: Authentication failed
- `403`: Historical data limit exceeded
- `422`: Invalid period or query parameters
- `429`: Rate limit exceeded
- `503`: Instrument Graph key lookup or database service unavailable; no legacy fallback is used
- `504`: Analytics request deadline exceeded

## Changes

- **2026-11-04** `7e8bdb1e7e75`: 1 warning
  - for the `query` request parameter `tickers`, the maxLength was set to `512`
- **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/compare/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)
