Stock sentiment API powered by prediction market data. Track probability-implied sentiment, market liquidity, 24h volume and buzz scores. Real-money signals that go beyond social chatter.
| # | Ticker | Company | Buzz | Trades | Bullish | Trend |
|---|---|---|---|---|---|---|
| Loading trending stocks... | ||||||
The Trending API allows developers and traders to retrieve all trending tickers, sectors & countries from Polymarket. Need headline and publisher coverage alongside market-implied signals? Compare it with the Stock News Sentiment API.
Polymarket hosts thousands of stock-related prediction markets. Prices shift as real money flows in. Tracking which tickers are gaining attention across contracts takes time and you still miss signals buried in niche markets.
Hundreds of stock-related contracts across Polymarket. No unified view of which tickers are active.
Individual market probabilities lack context. You need aggregated sentiment across all contracts for a ticker.
You need a single score to compare $TSLA prediction activity vs $NVDA objectively.
REST endpoints that fit into any trading workflow, from single-ticker analysis to market-wide positioning snapshots. Prediction market data aggregated per ticker with cross-platform validation from Reddit and X.
Polymarket data fetched hourly. Today shows activity so far, while trend compares current 3 UTC days with the previous 3 UTC days using market flow signals.
Unlike social sentiment, prediction market prices are backed by real money. Higher conviction, less noise.
Market count, implied sentiment, liquidity depth, volume and trend momentum combined into one 0-100 score.
Integrate Polymarket prediction market data into your trading algorithms, dashboards, or research tools. Real-money signals updated every 60 minutes.
Fill out the form below. We'll send you a secure link to retrieve your API key.
We've sent a link to retrieve your API key. The link expires in 24 hours and can only be used once.
RESTful JSON API. All listed endpoints require authentication via X-API-Key. View full documentation → · BuzzScore Whitepaper →
https://api.adanos.org/polymarket/stocks
X-API-Key: sk_live_...
/v1/trending
Returns trending stocks based on Polymarket market activity, ranked by buzz score.
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
type | Filter by asset type: stock, etf, or all (default: all) |
[
{
"ticker": "TSLA",
"company_name": "Tesla, Inc.",
"buzz_score": 71.4,
"trend": "rising",
"trade_count": 312,
"market_count": 27,
"current_market_count": 12,
"unique_traders": 119,
"sentiment_score": 0.34,
"bullish_pct": 67,
"bearish_pct": 33,
"total_liquidity": 94750,
"trend_history": [48.2, 51.0, 55.3, 61.1, 65.8, 69.2, 71.4]
}
]
ticker | Stock ticker symbol |
company_name | Company name (null if not found) |
buzz_score | Buzz score (0-100) |
trend | rising, falling, or stable flow trend for current 3 UTC days vs previous 3 UTC days |
trade_count | Total trade count for this ticker in the selected period |
market_count | Distinct markets active for this ticker in the selected period |
current_market_count | Currently active markets for this ticker in the latest UTC-day snapshot |
unique_traders | Unique traders in the selected period (nullable) |
sentiment_score | Implied sentiment (-1 to +1) |
bullish_pct | Share of markets with YES price > 0.5 |
bearish_pct | Share of markets with YES price < 0.5 |
total_liquidity | Total liquidity in USD across markets for this ticker |
trend_history | Daily buzz scores (oldest to newest), length max(days, 7) |
/v1/trending/sectors
Returns sector-level aggregation for Polymarket stocks, ranked by buzz score.
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
[
{
"sector": "Technology",
"buzz_score": 72.8,
"trend": "rising",
"trend_history": [40.2, 45.6, 51.9, 58.4, 64.1, 69.5, 72.8],
"trade_count": 312,
"market_count": 147,
"current_market_count": 71,
"unique_tickers": 6,
"unique_traders": 211,
"sentiment_score": 0.22,
"bullish_pct": 61,
"bearish_pct": 39,
"top_tickers": ["AAPL", "MSFT", "NVDA", "TSLA", "AMD"],
"total_liquidity": 325000
}
]
sector | Industry sector name |
buzz_score | Aggregated buzz score (0-100) |
trend | Sector prediction-market flow trend for current 3 UTC days vs previous 3 UTC days |
trend_history | Daily sector buzz-score history, oldest to newest, length max(days, 7) |
trade_count | Total trade count in the selected period |
market_count | Sum of per-ticker distinct markets active in the selected period for this sector |
current_market_count | Sum of currently active markets for sector tickers in the latest UTC-day snapshot |
unique_tickers | Number of unique tickers in the sector |
unique_traders | Unique traders in the selected period (nullable) |
sentiment_score | Weighted implied sentiment (-1 to +1) |
bullish_pct | Bullish market share |
bearish_pct | Bearish market share |
top_tickers | Top 5 tickers by trade_count |
total_liquidity | Total liquidity across the sector (USD) |
/v1/trending/countries
Returns country-level aggregation for Polymarket stocks, ranked by buzz score.
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
[
{
"country": "United States",
"buzz_score": 70.1,
"trend": "stable",
"trend_history": [66.8, 68.2, 69.4, 70.8, 69.9, 70.5, 70.1],
"trade_count": 712,
"market_count": 265,
"current_market_count": 129,
"unique_tickers": 10,
"unique_traders": 402,
"sentiment_score": 0.18,
"bullish_pct": 58,
"bearish_pct": 42,
"top_tickers": ["AAPL", "TSLA", "NVDA", "AMZN", "GOOGL"],
"total_liquidity": 472000
}
]
country | Country name |
buzz_score | Aggregated buzz score (0-100) |
trend | Country prediction-market flow trend for current 3 UTC days vs previous 3 UTC days |
trend_history | Daily country buzz-score history, oldest to newest, length max(days, 7) |
trade_count | Total trade count in the selected period |
market_count | Sum of per-ticker distinct markets active in the selected period for this country dimension |
current_market_count | Sum of currently active markets for country tickers in the latest UTC-day snapshot |
unique_tickers | Number of unique tickers in the country aggregation |
unique_traders | Unique traders in the selected period (nullable) |
sentiment_score | Weighted implied sentiment (-1 to +1) |
bullish_pct | Bullish market share |
bearish_pct | Bearish market share |
top_tickers | Top 5 tickers by trade_count |
total_liquidity | Total liquidity across the country dimension (USD) |
/v1/stock/{ticker}
Returns detailed Polymarket metrics for a ticker, including market-level buzz on top market snapshots. Returns HTTP 200 with found=false when no data is available for the symbol.
ticker | Stock ticker symbol (^\\$?[A-Za-z]{1,10}$, e.g., TSLA, aapl, $GME) |
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
{
"ticker": "TSLA",
"company_name": "Tesla, 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,
"positive_count": 9,
"negative_count": 5,
"neutral_count": 2,
"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 },
{ "date": "2026-02-12", "trade_count": 7, "sentiment_score": 0.31, "buzz_score": 66.4 }
],
"top_mentions": [
{
"condition_id": "0xabc...",
"question": "Will TSLA close above $400 this week?",
"market_type": "close_above",
"trade_count": 42,
"sentiment_score": 0.23,
"buzz_score": 57.6,
"yes_price": 0.68,
"no_price": 0.32,
"liquidity": 7905.52,
"volume_24h": 2408.43,
"end_date": "2026-02-28",
"active": true
}
]
}
ticker | Stock ticker symbol |
company_name | Company name (null if not found) |
found | Whether prediction markets were found for this ticker |
buzz_score | Buzz score (0-100, null if not found) |
trend | Stock prediction-market flow trend for current 3 UTC days vs previous 3 UTC days |
period_days | Analysis period in days |
trade_count | Total trade count in the selected period (nullable) |
market_count | Distinct markets active for the ticker in the selected period (nullable) |
current_market_count | Currently active markets for the ticker in the latest UTC-day snapshot (nullable) |
unique_traders | Unique traders in the selected period (nullable) |
sentiment_score | Probability-implied sentiment (-1 to +1) |
bullish_pct | Percentage implied bullish |
bearish_pct | Percentage implied bearish |
positive_count | Markets with YES price > 0.5 (nullable) |
negative_count | Markets with YES price < 0.5 (nullable) |
neutral_count | Markets near YES price 0.5 (nullable) |
total_liquidity | Total USD liquidity across all markets |
daily_trend | Array of daily data with date, trade_count, sentiment_score and buzz_score (nullable) |
top_mentions | Top prediction markets by liquidity |
top_mentions[].question | Market question (e.g., "Will TSLA close above $400?") |
top_mentions[].trade_count | 24h trade count for the market (nullable) |
top_mentions[].sentiment_score | Market-level sentiment signal (nullable) |
top_mentions[].buzz_score | Market-level buzz score for this market snapshot (nullable) |
top_mentions[].yes_price | YES probability (0-1) |
top_mentions[].no_price | NO probability (0-1) |
top_mentions[].liquidity | Market liquidity in USD |
top_mentions[].volume_24h | Market 24h volume in USD |
top_mentions[].end_date | Market expiration date |
401 | Missing or invalid API key |
403 | Historical data limit exceeded for the current plan |
429 | Rate limit exceeded |
/v1/search
Search ticker metadata and enrich results with Polymarket discovery metrics. Search accepts only q and limit; summary metrics use a fixed last 7 UTC calendar days window.
q | Search query (ticker or company name, required) |
limit | Maximum result count (1-200, default: 50) |
{
"query": "tesla",
"count": 1,
"period_days": 7,
"results": [
{
"ticker": "TSLA",
"name": "Tesla Inc.",
"type": "Stock",
"exchange": "NASDAQ",
"sector": "Consumer Discretionary",
"country": "United States",
"aliases": ["Tesla", "Elon"],
"summary": {
"trade_count": 14,
"buzz_score": 71.4,
"trend": "rising",
"sentiment_score": 0.34
}
}
]
}
query | Original search query |
count | Number of results found |
period_days | Fixed 7 UTC calendar-day lookback used for each summary block |
results | Array of matching stocks |
results[].ticker | Stock ticker symbol |
results[].name | Company name |
results[].type | Asset type (e.g., Stock, ETF) |
results[].exchange | Exchange (e.g., NASDAQ, NYSE) |
results[].sector | Industry sector |
results[].country | Country of headquarters |
results[].aliases | Alternative names/aliases |
results[].summary | Compact Polymarket discovery summary for the fixed last 7 UTC calendar days |
results[].summary.trade_count | Trade count in the last 7 UTC calendar days |
results[].summary.buzz_score | Buzz score over the last 7 UTC calendar days |
results[].summary.trend | Polymarket flow trend over current 3 UTC days vs previous 3 UTC days |
results[].summary.sentiment_score | Probability-implied sentiment over the last 7 UTC calendar days |
/v1/compare
Compare up to 10 stocks side-by-side on Polymarket metrics.
tickers | Comma-separated list of tickers (max 10, required) |
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
{
"period_days": 7,
"stocks": [
{
"ticker": "AAPL",
"company_name": "Apple Inc.",
"buzz_score": 68.9,
"trend": "stable",
"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
}
]
}
period_days | Analysis period in days |
stocks | Array of stock comparison data |
stocks[].ticker | Stock ticker symbol |
stocks[].company_name | Company name (null if not found) |
stocks[].buzz_score | Overall buzz score (0-100) |
stocks[].trend | Stock prediction-market flow trend for current 3 UTC days vs previous 3 UTC days |
stocks[].trade_count | Total trade count in the selected period |
stocks[].market_count | Distinct markets active in the selected period |
stocks[].current_market_count | Currently active markets in the latest UTC-day snapshot |
stocks[].unique_traders | Unique traders in the selected period (nullable) |
stocks[].sentiment_score | Probability-implied sentiment (-1 to +1) |
stocks[].bullish_pct | Percentage of bullish markets |
stocks[].bearish_pct | Percentage of bearish markets |
stocks[].total_liquidity | Total USD liquidity |
400 | Maximum 10 tickers allowed |
401 | Missing or invalid API key |
403 | Historical data limit exceeded for the current plan |
429 | Rate limit exceeded |
/v1/market-sentiment
Returns a market-wide Polymarket snapshot with aggregate trade activity, liquidity, sentiment balance and the tickers currently driving prediction-market positioning.
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Earliest start date by plan, counted back from the current UTC date: Free 30 days, Hobby 90 days, Professional 365 days |
{
"buzz_score": 57.9,
"trend": "rising",
"trade_count": 2841,
"market_count": 318,
"current_market_count": 190,
"unique_traders": 902,
"total_liquidity": 1842500,
"active_tickers": 42,
"sentiment_score": 0.16,
"positive_count": 134,
"negative_count": 96,
"neutral_count": 88,
"bullish_pct": 42,
"bearish_pct": 30,
"trend_history": [48.3, 50.2, 51.9, 53.6, 55.1, 56.4, 57.9],
"drivers": [
{ "ticker": "TSLA", "trade_count": 312, "buzz_score": 68.9, "sentiment_score": 0.28 },
{ "ticker": "AAPL", "trade_count": 287, "buzz_score": 66.3, "sentiment_score": 0.22 }
]
}
buzz_score | Relative prediction-market heat vs. the trailing 90-day Polymarket stocks baseline (~50 is normal) |
trend | Service-level Polymarket flow trend for current 3 UTC days vs previous 3 UTC days |
trade_count | Total trade count across all matched markets in the selected window |
market_count | Sum of per-ticker distinct markets active in the selected period |
current_market_count | Sum of currently active markets for all tickers in the latest UTC-day snapshot |
unique_traders | Number of distinct traders contributing to the aggregate snapshot |
total_liquidity | Total USD liquidity across all matched markets |
active_tickers | Number of tickers active in the selected window |
sentiment_score | Average probability-implied sentiment across all matched markets (-1 to +1) |
positive_count | Number of bullish markets in the aggregate window |
negative_count | Number of bearish markets in the aggregate window |
neutral_count | Number of neutral markets in the aggregate window |
bullish_pct | Percentage of bullish markets across the whole Polymarket stocks universe |
bearish_pct | Percentage of bearish markets across the whole Polymarket stocks universe |
trend_history | Daily aggregate buzz-score history (oldest to newest) |
drivers | Top tickers currently driving aggregate Polymarket positioning |
/v1/stock/{ticker}/mentions
Pro
Returns raw Polymarket market snapshot rows for one ticker within the live raw-data retention window. from/to date windows are interpreted as inclusive UTC calendar dates. Use it when you need market-level evidence behind aggregate ticker metrics, original timestamps and outcome-aware price sentiment on individual rows.
from | Inclusive UTC start date (YYYY-MM-DD) |
to | Inclusive UTC end date (YYYY-MM-DD). If no date window is provided, the API uses the default 7-day lookback. Professional-only raw endpoint; earliest start date, counted back from the current UTC date: 90 days |
limit | Maximum raw snapshot rows to return (1-100, default: 50) |
{
"ticker": "NVDA",
"period_days": 7,
"count": 1,
"results": [
{
"condition_id": "0xabc...",
"event_id": "12345",
"market_slug": "nvda-up-or-down-on-april-20-2026",
"question": "NVDA up or down on April 20?",
"market_type": "up_down",
"yes_price": 0.63,
"no_price": 0.37,
"liquidity": 7905.52,
"volume_24h": 2408.43,
"trade_count": 42,
"buy_trades": 23,
"sell_trades": 19,
"unique_traders": 31,
"sentiment_score": 0.26,
"sentiment_label": "positive",
"end_date": "2026-04-20T23:59:00Z",
"active": true
}
]
}
ticker | Resolved ticker symbol |
period_days | Applied raw snapshot lookback window |
count | Total matching raw snapshot rows before the limit cut |
results | Newest-first Polymarket market snapshot rows for the ticker |
results[].condition_id | Polymarket condition id for the market |
results[].event_id | Polymarket event id |
results[].market_slug | Market slug used on Polymarket |
results[].question | Original market question |
results[].yes_price | Current YES price on that stored snapshot row |
results[].no_price | Current NO price on that stored snapshot row |
results[].liquidity | Liquidity captured on the raw row |
results[].volume_24h | 24h volume captured on the raw row |
results[].trade_count | Trade count captured on the raw row |
results[].buy_trades | Buy-side trade counter captured on the raw row |
results[].sell_trades | Sell-side trade counter captured on the raw row |
results[].unique_traders | Distinct traders captured on the raw row, when available |
results[].sentiment_score | Outcome-aware market sentiment score for that raw row (-1 to +1) |
results[].sentiment_label | Sentiment class for that raw row |
results[].end_date | Raw snapshot timestamp preserved from the source row |
results[].active | Whether the market is currently open in the latest stored state |
401 | Missing or invalid API key |
403 | Professional plan required for raw mention access |
422 | Invalid ticker or query parameter |
All plans share the same base API. Professional adds raw market snapshot data, commercial rights and priority support.
Perfect for quick tests, API exploration and early prototypes. No credit card required.
For professional traders, personal trading bots, academic research & side projects
For hedge funds, fintech startups, trading platforms & commercial applications
Enterprise: Get in touch for API access, higher rate limits or custom data feeds. We work with quant teams, fintech startups and research groups across stock and crypto sentiment. Contact us → Non-profit or education use? Apply for free access →
Everything you need to know about the Polymarket Stock Sentiment API.
Polymarket is a prediction market platform where traders bet real money on future events, including stock price movements. Markets like "Will TSLA close above $400?" produce probabilities backed by real capital. We aggregate these markets per ticker to generate sentiment signals.
Sentiment is derived from market probabilities. For each stock-related contract, the YES/NO price implies how likely traders think an event is. We aggregate across all contracts per ticker: higher YES prices on bullish contracts = more bullish. Scores range from -1.0 (bearish) to +1.0 (bullish).
Buzz score (0-100) combines five weighted factors: market count (20), implied sentiment (20), liquidity depth (15), volume momentum (15) and trend (-10 to +20). Scores above 50 use asymptotic scaling to prevent ceiling clustering.
Trend compares normalized Polymarket flow for the current 3 UTC days with the previous 3 UTC days using trades, volume, active markets, unique traders and liquidity where available. Result: rising (>+10%), falling (<-10%), or stable (within ±10%). It is prediction-market activity flow, not a stock price trend. The trend_history array remains daily buzz-score history.
Polymarket data is fetched hourly. Trend uses the current 3 UTC days vs the previous 3 UTC days, while daily history uses completed UTC days plus the current live day. Historical data is available for up to 365 days.
The free tier includes 250 API calls per month, 100 requests per minute, access to the full base endpoint surface including the market-wide sentiment snapshot and 30 days historical data. Raw mention endpoints are Professional-only. Perfect for personal projects and prototyping.
All responses are JSON (UTF-8). The /v1/stock/{ticker} endpoint returns the richest per-ticker data: trade_count, market_count, current_market_count, daily_trend, top_mentions with market-level buzz_score and sentiment distribution. Sector and country trending responses include trend_history. Use market_count for selected-period market breadth and current_market_count for live-only active markets. For a broader view, /v1/market-sentiment returns aggregate trade activity, liquidity and the tickers driving current prediction-market positioning. Professional accounts can also call /v1/stock/{ticker}/mentions for raw market snapshot rows with count and results.
Yes. Free tier keys are limited to 100 requests per minute and 250 requests per month. Hobby allows 1000 requests per minute with 250,000 requests per month. Professional allows 2,500,000 requests per month. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response. Exceeding limits returns HTTP 429.
Unlike social sentiment (Reddit, X), prediction market prices are backed by real money. Traders have "skin in the game," making probabilities more calibrated than opinion-based signals. This produces higher-conviction, lower-noise sentiment data.
Our data is for informational purposes only. Prediction market probabilities reflect collective trader expectations, not guaranteed outcomes. Many traders use this as one signal among many. Past prediction market sentiment is not indicative of future performance. Always do your own research.
Need a higher-volume or custom data setup? Contact us and we will help map the right access model.