v1

latestOpenAPI 3.1.0MIT2026-08-0453113564.4 KB
Polymarket Stocks

Stock Sentiment

Returns Polymarket-based sentiment and activity for one stock ticker.

The response combines:

  • Period metrics for the date window defined by days or from/to.
  • Representative market-level evidence in top_mentions.
  • A compact current market read in pulse.

Fields:

  • sentiment_score, bullish_pct, bearish_pct: outcome-aware sentiment derived from Polymarket market prices and outcomes
  • buzz_score: normalized activity score for the selected period; both bullish and bearish activity can increase buzz
  • trend: recent flow momentum, comparing the current 3 UTC days with the previous 3 UTC days using trades, volume, market breadth and liquidity; this is not stock price movement
  • trade_count, market_count, unique_traders, total_liquidity: period activity, breadth, observed participation and liquidity
  • daily_trend: daily activity and sentiment values for the selected window
  • top_mentions: representative Polymarket markets behind the ticker-level signals, including market-level sentiment_score and buzz_score
  • pulse: compact current interpretation from the latest stored open-market snapshots

Notes:

  • pulse is current-state oriented and does not duplicate aggregate response fields.
  • Use top_mentions for concrete market examples; pulse intentionally stays compact.
  • top_mentions includes only markets observed active/open in the selected period; ranking prioritizes outcome-aware directional evidence, keeps opposing signals visible when present, then uses trade count, market status, volume and liquidity as tie-breakers.
  • Prices, volume and liquidity in top_mentions come from the selected in-period snapshot, not necessarily the latest live market state.
  • active indicates whether the market is currently open, so older in-period evidence can now be inactive, resolved or expired.
  • market_status can be tradable, open, resolved, expired or inactive.
  • For windows longer than snapshot retention, aggregate metrics can still use polymarket_daily_stats; top_mentions is limited to retained or stored representative market snapshots.
  • Returns 200 with found: false when the ticker is supported but this service has no qualifying data in the requested window. Returns 404 only when the ticker is unsupported.
get/polymarket/stocks/v1/stock/{ticker}

Path parameters

tickerstring required

Stock ticker symbol (e.g., TSLA, $AAPL, BRK.A)

Example:AAPL

Stock ticker symbol (e.g., TSLA, $AAPL, BRK.A)

Query parameters

fromstring date nullable

Start date in YYYY-MM-DD. Inclusive UTC date.

Start date in YYYY-MM-DD. Inclusive UTC date.

tostring date nullable

End date in YYYY-MM-DD. Inclusive UTC date. Omit to use the current UTC date.

End date in YYYY-MM-DD. Inclusive UTC date. Omit to use the current UTC date.

daysinteger

Deprecated v1 compatibility shorthand. Prefer from and to for reproducible UTC date windows.

Deprecated v1 compatibility shorthand. Prefer from and to for reproducible UTC date windows.

Response

Successful Response

tickerstring required

Stock ticker symbol

company_namestring nullable

Company name from ticker_reference

foundboolean required

Legacy v1 data-availability flag. true means this service has qualifying data for this asset/window. false means the asset is supported, but this service has no qualifying data for the requested window. Planned for removal in v2.

buzz_scorenumber nullable

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

period_daysinteger nullable

Analysis period in days

trade_countinteger nullable

Trade count in period

market_countinteger nullable

Distinct markets that existed for ticker within the selected UTC window, counted by market-catalog lifetime overlap

current_market_countinteger nullable

Number of currently open markets in the latest UTC-day snapshot for ticker; use this for live-only market breadth

unique_tradersinteger 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_scorenumber nullable

Orderbook-aware implied sentiment; null when no directional sentiment evidence exists in the selected period

positive_countinteger nullable

Deprecated. Outcome-aware bullish market count retained for v1 compatibility; prefer bullish_pct with trade_count and market_count for public analysis.

negative_countinteger nullable

Deprecated. Outcome-aware bearish market count retained for v1 compatibility; prefer bearish_pct with trade_count and market_count for public analysis.

neutral_countinteger nullable

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_pctinteger nullable

Outcome-aware bullish market percentage

bearish_pctinteger nullable

Outcome-aware bearish market percentage

total_liquiditynumber nullable

Windowed aggregated liquidity signal in USD over the selected period; not a current snapshot

Example response

{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "found": true,
  "buzz_score": 68.9,
  "trend": "stable",
  "period_days": 7,
  "trade_count": 312,
  "market_count": 27,
  "current_market_count": 12,
  "unique_traders": 119,
  "sentiment_score": 0.28,
  "bullish_pct": 64,
  "bearish_pct": 36,
  "total_liquidity": 128000,
  "daily_trend": [
    {
      "date": "2026-02-13",
      "trade_count": 5,
      "sentiment_score": 0.25,
      "buzz_score": 64.1,
      "bullish_pct": 64,
      "bearish_pct": 21
    }
  ],
  "top_mentions": [
    {
      "condition_id": "0xabc...",
      "question": "Will AAPL close above $220 this week?",
      "market_type": "close_above",
      "trade_count": 42,
      "sentiment_score": 0.23,
      "buzz_score": 77.2,
      "yes_price": 0.62,
      "no_price": 0.38,
      "liquidity": 7905.52,
      "volume_24h": 2408.43,
      "end_date": "2026-02-28",
      "active": true,
      "market_status": "tradable"
    }
  ],
  "pulse": {
    "mood": "mixed",
    "confidence": 60,
    "thin_data": false,
    "why": [
      "opposing_market_signals",
      "upside_targets_rejected",
      "floor_support"
    ],
    "warnings": [
      "high_average_spread",
      "low_trade_breadth"
    ],
    "evidence": {
      "directional_coverage": 1,
      "traded_market_pct": 0.231,
      "zero_trade_market_pct": 0.769,
      "avg_spread": 0.099,
      "snapshot_at": "2026-06-24T06:25:53Z"
    }
  }
}