Polymarket

10 tables

Polymarket's on-chain prediction markets — events and the YES/NO outcome tokens that trade against them, with token-level snapshots, OHLC candles, price history, order books, and the full public trade tape.

Machine-readable spec: /api/openapi/public.json (OpenAPI 3.1)

Main· 3 tables

eventspolymarket.events
A real-world event that anchors a set of Polymarket markets — a single sports game, an election, a futures question, or any other resolvable scenario. E.g., "Mavericks vs Suns" game event or "2026 NBA Champion" futures event.
Fields18
FieldTypeReferencesDescription
idkeybigintPrimary Key
competition_idbigintnullablePolymorphic cross-schema ref — {league}.games (team sports) or golf.tournaments (golf), resolved at app level by slug parsing via league_code. Dereference via main.competitions. NULL until linked.
condition_idstringPolymarket event condition ID (stable identifier)
e.g. 10354
away_teamstringnullableTricode: "DAL"
e.g. BOS
descriptionstringnullable
e.g. asd
end_datetimestamptznullable
e.g. 2025-02-09T12:00:00.000Z
fetched_attimestamptz
e.g. 2026-06-14T18:21:39.195Z
game_datedatenullableGame date parsed from slug
e.g. 2025-04-11T04:00:00.000Z
home_teamstringnullableTricode: "PHX"
e.g. MIA
league_codestringnullablee.g. "nba", denormalized for filtering
Values:nbanflmlbnhl
liquiditybigintnullableCurrent liquidity in USDC minor units
e.g. 272
market_countintegernullable
e.g. 1
neg_riskbooleanTrue for multi-outcome groups (e.g., 30-team NBA Champion)
Values:falsetrue
slugstringURL slug, e.g. "nba-dal-phx-2026-04-08"
e.g. nba-play-in-lakers-vs-pelicans
start_datetimestamptznullable
e.g. 2024-08-17T12:00:00.000Z
statusstring"active", "closed", "resolved"
Values:closedactive
titlestring
e.g. NBA
volumebigintnullableLifetime volume in USDC minor units
e.g. 150
GET/api/v1/polymarket/events
Requires one of: league_code — requests satisfying none of these return 400.
Parameters
league_codequerystringoptional
Filter to events for a single league/sport slug (e.g., "nba", "nfl", "soccer").
competition_idquerybigintoptional
Filter to events linked to a specific competition (cross-schema game; resolved from slug).
statusquerystringoptional
Filter by event status — "active" or "closed". Values: active, closed.
game_datequerydateoptional
Filter to events scheduled on a specific date (YYYY-MM-DD).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/events?league_code=example'
Responses
200events rows matching the declared filter set, wrapped in { events, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/events/{id}
Parameters
idpathbigintrequired
Primary key (id) of the event row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/events/{pk_value}'
Responses
200Single event row.application/jsonshow example ▸
404Row not found.
tokenspolymarket.tokens
The tradable outcome tokens within a Polymarket market — YES and NO for binary markets, or one token per outcome for multi-outcome markets (e.g., each team in a championship futures market). The clobTokenId is used to query CLOB API for pricing and trades.
Fields10
FieldTypeReferencesDescription
idkeybigintPrimary Key
event_idbigintnullableDenormalized for direct event queries
e.g. 1088
market_idbigint
e.g. 1
token_idstringPolymarket clobTokenId (used for CLOB API queries)
e.g. 11205199261467113320159240005096995304332333883272177893362…
fetched_attimestamptz
e.g. 2026-06-14T18:21:39.195Z
final_price_bpsintegernullableSettlement price (10000 for winner, 0 for loser)
e.g. 10000
outcomestringOutcome label: team name, "Yes", "No"
e.g. Yes
outcome_indexinteger0-based index of this outcome within the market
e.g. 0
price_bpsintegernullableLatest price in basis points (0-10000)
e.g. 10000
winnerbooleannullableTrue if this outcome won, null if unresolved
Values:falsetrue
GET/api/v1/polymarket/tokens
Requires one of: market_id — requests satisfying none of these return 400.
Parameters
market_idquerybigintoptional
Filter to outcome tokens for a single Polymarket market.
event_idquerybigintoptional
Filter to tokens linked to a single event (denormalized for direct event queries).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/tokens?market_id=1'
Responses
200tokens rows matching the declared filter set, wrapped in { tokens, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/tokens/{id}
Parameters
idpathbigintrequired
Primary key (id) of the token row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/tokens/{pk_value}'
Responses
200Single token row.application/jsonshow example ▸
404Row not found.
marketspolymarket.markets
An individual prediction market on Polymarket — a specific question tied to an event, resolved on-chain, with one or more tradable outcome tokens. Each market has 2+ tokens representing outcome positions.
Fields21
FieldTypeReferencesDescription
idkeybigintPrimary Key
competition_idbigintnullablePolymorphic cross-schema ref (denormalized from event) resolved at app level by league_code. Dereference via main.competitions. NULL until linked.
condition_idstringPolymarket market condition ID (stable identifier)
e.g. 0x141f2fb7dc316ca019d7ce9d0fe530a78e18b637ea84211d8f4cebe43…
event_idbigint
e.g. 1088
payout_token_idstringnullableToken ID that paid out at 1.00 (winner)
e.g. 11205199261467113320159240005096995304332333883272177893362…
activeboolean
Values:truefalse
best_ask_bpsintegernullableBasis points (0-10000)
e.g. 10000
best_bid_bpsintegernullableBasis points (0-10000)
e.g. 100
closedboolean
e.g. true
fetched_attimestamptz
e.g. 2026-06-14T18:21:39.195Z
last_trade_price_bpsintegernullableBasis points (0-10000)
e.g. 10000
liquiditybigintnullable
e.g. — (all-null in sample)
neg_riskboolean
Values:falsetrue
outcome_countintegerNumber of tokens/outcomes (2 for binary, N for multi-outcome)
e.g. 2
questionstringnullableFull question text
e.g. Over 229.5
resolution_sourcestringnullable"uma", "manual", etc.
e.g. uma
resolved_attimestamptznullableWhen the market was resolved
e.g. 2024-05-07T23:10:10.610Z
resultstringnullableWinning outcome string, null if unresolved
e.g. Over
slugstringnullable
e.g. nba-play-in-lakers-vs-pelicans
statusstring"active", "closed", "resolved"
e.g. closed
volumebigintnullable
e.g. 150
GET/api/v1/polymarket/markets
Requires one of: event_id or competition_id — requests satisfying none of these return 400.
Parameters
event_idquerybigintoptional
Filter to all markets that belong to a single Polymarket event.
competition_idquerybigintoptional
Filter to markets linked to a specific competition (denormalized from event).
statusquerystringoptional
Filter by market status — "active" or "closed" ("resolved" appears only on 22 legacy rows that carry no resolution data; resolution fields live on closed rows). Values: active, closed, resolved.
activequerybooleanoptional
Filter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/markets?event_id=1'
Responses
200markets rows matching the declared filter set, wrapped in { markets, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/markets/{id}
Parameters
idpathbigintrequired
Primary key (id) of the market row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/markets/{pk_value}'
Responses
200Single market row.application/jsonshow example ▸
404Row not found.

Markets· 6 tables

candlespolymarket.candles
OHLC candlestick price summaries for Polymarket outcome tokens — the open, high, low, close, and volume over standard time bins (1 minute, 5 minute, 1 hour, 1 day). Bucketed by (token_id, period_interval, end_period_ts).
Fields11
FieldTypeReferencesDescription
idkeybigintPrimary Key
market_idbigint
e.g. 51150
token_idstring
e.g. 66335248502015003064991075849688982103034628117228927894281…
close_bpsintegernullable
e.g. 9980
end_period_tsintegerUnix epoch second of period end
e.g. 1775238091
high_bpsintegernullable
e.g. 9980
low_bpsintegernullable
e.g. 9980
open_bpsintegernullable
e.g. 9980
period_intervalintegerPeriod length in seconds (1, 60, 300, 3600)
e.g. 1
sizebigintTotal share size in micro-units
e.g. 5000000
volumeintegerTrade count in period
e.g. 1
GET/api/v1/polymarket/candles
Requires one of: market_id — requests satisfying none of these return 400.
Parameters
market_idquerybigintoptional
Filter to candles for all tokens in a single Polymarket market.
token_idquerystringoptional
Filter to candles for a single outcome token (clobTokenId).
period_intervalqueryintegeroptional
Bin width in seconds. Currently every row is period_interval=1 (event-driven captures, irregular spacing) — resample client-side for fixed OHLC bins.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/candles?market_id=1'
Responses
200candles rows matching the declared filter set, wrapped in { candles, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/candles/{id}
Parameters
idpathbigintrequired
Primary key (id) of the candle row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/candles/{pk_value}'
Responses
200Single candle row.application/jsonshow example ▸
404Row not found.
market_snapshotspolymarket.market_snapshots
Market-level snapshots on Polymarket — aggregate volume, open interest, last trade price, and resolution status captured over time as the market trades. Tracks bid/ask/last and volume/liquidity over time. Coverage begins 2026-04; cadence is roughly hourly.
Fields9
FieldTypeReferencesDescription
idkeybigintPrimary Key
condition_idstringDenormalized for efficient queries
e.g. 0x141f2fb7dc316ca019d7ce9d0fe530a78e18b637ea84211d8f4cebe43…
market_idbigint
e.g. 1
best_ask_bpsintegernullable
e.g. 10000
best_bid_bpsintegernullable
e.g. 100
captured_attimestamptz
e.g. 2026-04-03T03:33:29.023Z
last_trade_price_bpsintegernullable
e.g. 10000
liquiditybigintnullable
e.g. — (all-null in sample)
volumebigintnullableCumulative at capture time
e.g. 150
GET/api/v1/polymarket/market_snapshots
Requires one of: market_id — requests satisfying none of these return 400.
Parameters
market_idquerybigintoptional
Filter to snapshots for a single Polymarket market.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/market_snapshots?market_id=1'
Responses
200market_snapshots rows matching the declared filter set, wrapped in { market_snapshots, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/market_snapshots/{id}
Parameters
idpathbigintrequired
Primary key (id) of the market_snapshot row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/market_snapshots/{pk_value}'
Responses
200Single market_snapshot row.application/jsonshow example ▸
404Row not found.
order_book_snapshotspolymarket.order_book_snapshots
Order-book depth snapshots for Polymarket outcome tokens — the bid and ask ladders captured at a point in time, showing the resting liquidity at each price level. Top 10 levels per side per token at capture time. Coverage begins 2026-04; pregame cadence (captures generally stop shortly after tip-off).
Fields10
FieldTypeReferencesDescription
idkeybigintPrimary Key
market_idbigint
e.g. 51444
token_idstring
e.g. 10598314929116624557920643614421478308169503386167507401691…
captured_attimestamptz
e.g. 2026-04-11T04:19:05.691Z
depth_rankinteger0=best (top of book), 1=second best, etc.
e.g. 0
midpoint_bpsintegernullableMidpoint price at capture time
e.g. 15
price_bpsintegerPrice level in basis points
e.g. 10
sidestring"BID" or "ASK"
Values:ASKBID
sizebigintSize at this level in micro-units
e.g. 25000000
spread_bpsintegernullableBid-ask spread at capture time (top of book only)
e.g. 10
GET/api/v1/polymarket/order_book_snapshots
Requires one of: market_id — requests satisfying none of these return 400.
Parameters
market_idquerybigintoptional
Filter to order-book snapshots for all tokens in a single Polymarket market.
token_idquerystringoptional
Filter to order-book snapshots for a single outcome token (clobTokenId).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/order_book_snapshots?market_id=1'
Responses
200order_book_snapshots rows matching the declared filter set, wrapped in { order_book_snapshots, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/order_book_snapshots/{id}
Parameters
idpathbigintrequired
Primary key (id) of the order_book_snapshot row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/order_book_snapshots/{pk_value}'
Responses
200Single order_book_snapshot row.application/jsonshow example ▸
404Row not found.
price_historiespolymarket.price_histories
Historical price tracks for each Polymarket outcome token — the full time-series of trading prices since the market opened. Analogous to kalshi.candle.
Fields10
FieldTypeReferencesDescription
idkeybigintPrimary Key
market_idbigintDenormalized for market-level queries
e.g. 51144
token_idstringPolymarket clobTokenId
e.g. 57716766271829541136771648575472282770893966395215942629640…
close_bpsinteger
e.g. 5
high_bpsinteger
e.g. 5
interval_secondsintegerPeriod length in seconds (60, 3600, 86400)
e.g. 86400
low_bpsinteger
e.g. 5
open_bpsintegerOpening price in basis points
e.g. 5
period_starttimestamptzStart of this OHLC period
e.g. 2026-04-03T03:36:43.000Z
volumebigintnullablePeriod volume
e.g. — (all-null in sample)
GET/api/v1/polymarket/price_histories
Requires one of: token_id — requests satisfying none of these return 400.
Parameters
token_idquerystringoptional
Filter to price history for a single Polymarket outcome token (clobTokenId).
market_idquerybigintoptional
Filter to price history for all tokens in a single market.
interval_secondsqueryintegeroptional
Upstream fetch-window label (currently always 86400) — NOT a bin width; points within a window are irregularly spaced. Resample client-side.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/price_histories?token_id=example'
Responses
200price_histories rows matching the declared filter set, wrapped in { price_histories, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/price_histories/{id}
Parameters
idpathbigintrequired
Primary key (id) of the price_history row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/price_histories/{pk_value}'
Responses
200Single price_history row.application/jsonshow example ▸
404Row not found.
public_tradespolymarket.public_trades
Every executed trade on Polymarket — price, size, side (buy or sell of each token), and timestamp, comprising the public market tape. Represents completed market trades.
Fields10
FieldTypeReferencesDescription
idkeybigintPrimary Key
market_idbigintDenormalized for market-level queries
e.g. 51137
token_idstringPolymarket clobTokenId
e.g. 44914465637297319816681463234953032477919413063019359633128…
trade_idstringTrade ID from Polymarket API
e.g. 0x8cf169f32ea173f635deebbeab98aeb505e9b654687ec7a243d288e3a…
maker_addressstringnullableMaker address (limit order provider) from on-chain event
e.g. 0x88906147a72d6e22a916f9bd17351a01e045cefb
price_bpsintegerTrade price in basis points (0-10000)
e.g. 6300
sidestring"BUY" or "SELL"
Values:BUYSELL
sizebigintTrade size (number of shares)
e.g. 5000000
taker_addressstringnullableTaker address (market order) from on-chain event
e.g. 0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e
traded_attimestamptz
e.g. 2026-03-18T20:53:01.000Z
GET/api/v1/polymarket/public_trades
Requires one of: market_id — requests satisfying none of these return 400.
Parameters
market_idquerybigintoptional
Filter to trades on a single Polymarket market.
token_idquerystringoptional
Filter to trades for a single outcome token (clobTokenId).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/public_trades?market_id=1'
Responses
200public_trades rows matching the declared filter set, wrapped in { public_trades, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/public_trades/{id}
Parameters
idpathbigintrequired
Primary key (id) of the public_trade row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/public_trades/{pk_value}'
Responses
200Single public_trade row.application/jsonshow example ▸
404Row not found.
token_snapshotspolymarket.token_snapshots
Token-level snapshots on Polymarket — the bid, ask, and last trade price for each outcome token captured over time as the market trades. Critical for multi-outcome markets where each token moves independently. Coverage begins 2026-04; cadence is roughly 1-2 hours.
Fields5
FieldTypeReferencesDescription
idkeybigintPrimary Key
market_idbigintDenormalized for market-level queries
e.g. 1
token_idstringPolymarket clobTokenId
e.g. 11205199261467113320159240005096995304332333883272177893362…
captured_attimestamptz
e.g. 2026-04-03T03:33:29.023Z
price_bpsintegerPrice in basis points (0-10000)
e.g. 10000
GET/api/v1/polymarket/token_snapshots
Requires one of: token_id — requests satisfying none of these return 400.
Parameters
token_idquerystringoptional
Filter to snapshots for a single Polymarket outcome token (clobTokenId).
market_idquerybigintoptional
Filter to snapshots for all tokens in a single market (denormalized for market-level queries).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/token_snapshots?token_id=example'
Responses
200token_snapshots rows matching the declared filter set, wrapped in { token_snapshots, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
GET/api/v1/polymarket/token_snapshots/{id}
Parameters
idpathbigintrequired
Primary key (id) of the token_snapshot row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/token_snapshots/{pk_value}'
Responses
200Single token_snapshot row.application/jsonshow example ▸
404Row not found.

Misc· 1 table

sportspolymarket.sports
Sport categories used on Polymarket — basketball, football, baseball, hockey, soccer, MMA, and other tags that organize sports markets. Small reference table (~20 rows).
Fields5
FieldTypeReferencesDescription
idkeybigintPrimary Key
sport_idintegernullablePolymarket sport ID from API
e.g. — (all-null in sample)
fetched_attimestamptz
e.g. — (all-null in sample)
namestringDisplay name, e.g. "NBA"
e.g. — (all-null in sample)
tag_slugstringe.g. "nba", "nfl", "soccer"
e.g. — (all-null in sample)
⚠️ This endpoint is documented but not yet live. Calls return 503 until data is wired in.
GET/api/v1/polymarket/sports
Parameters
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 200.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/sports?limit=3'
Responses
200sports rows matching the declared filter set, wrapped in { sports, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
503Coming soon — handler returns 503 until data is wired in.
GET/api/v1/polymarket/sports/{id}
Parameters
idpathbigintrequired
Primary key (id) of the sport row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/polymarket/sports/{pk_value}'
Responses
200Single sport row.application/jsonshow example ▸
404Row not found.
503Coming soon — handler returns 503 until data is wired in.