Skip to main content
Version: 0.1.5

ODDS — Polymarket read APIs (gamma-api + clob.polymarket.com)

sportsdataverse.odds — 8 endpoints.

polymarket_gamma_events​

Events -- groups of related markets -- on the Gamma metadata host.

Endpoint URL: GET https://gamma-api.polymarket.com/events

Valid URL: https://gamma-api.polymarket.com/events?limit=3&closed=false&tag_slug=sports

API ParameterPythonPatternRequiredNullableDescription
limitlimitYPage size.
closedclosedYFilter closed markets/events (true/false).
tag_slugtag_slugYFilter events by tag slug (e.g. sports; see /tags).
offsetoffsetYRow offset; offset=1 shifts the first row by one (verified 2026-10-06).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idcharacter
tickercharacter
slugcharacter
titlecharacter
descriptioncharacter
resolution_sourcecharacter
start_datecharacter
creation_datecharacter
end_datecharacter
imagecharacter
iconcharacter
activelogical
closedlogical
archivedlogical
newlogical
featuredlogical
restrictedlogical
liquiditynumeric
volumenumeric
open_interestnumeric
sort_bycharacter
created_atcharacter
updated_atcharacter
competitivenumeric
volume24hrnumeric
volume1wknumeric
volume1monumeric
volume1yrnumeric
enable_order_booklogical
liquidity_clobnumeric
neg_risklogical
neg_risk_market_idcharacter
comment_countinteger
marketscharacter
tagscharacter
cyomlogical
show_all_outcomeslogical
show_market_imageslogical
enable_neg_risklogical
automatically_activelogical
gmp_chart_modecharacter
neg_risk_augmentedlogical
featured_ordernumeric
estimate_valuelogical
cumulative_marketslogical
pending_deploymentlogical
deployinglogical
deploying_timestampcharacter
versioncharacter
event_metadata_context_requires_regenlogical

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_gamma_events(closed='false', limit='3', tag_slug='sports')

Last validated n/a.

polymarket_gamma_market​

One market by its Gamma id.

Endpoint URL: GET https://gamma-api.polymarket.com/markets/{id}

Valid URL: https://gamma-api.polymarket.com/markets/608565

API ParameterPythonPatternRequiredNullableDescription
ididYGamma market id (from /markets).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idcharacter
questioncharacter
condition_idcharacter
slugcharacter
resolution_sourcecharacter
end_datecharacter
liquiditycharacter
start_datecharacter
imagecharacter
iconcharacter
descriptioncharacter
outcomescharacter
outcome_pricescharacter
volumecharacter
activelogical
closedlogical
market_maker_addresscharacter
created_atcharacter
updated_atcharacter
newlogical
featuredlogical
submitted_bycharacter
archivedlogical
resolved_bycharacter
restrictedlogical
group_item_titlecharacter
group_item_thresholdcharacter
question_idcharacter
enable_order_booklogical
order_price_min_tick_sizenumeric
order_min_sizeinteger
volume_numnumeric
liquidity_numnumeric
end_date_isocharacter
start_date_isocharacter
has_reviewed_dateslogical
volume24hrnumeric
volume1wknumeric
volume1monumeric
volume1yrnumeric
clob_token_idscharacter
combo_statuscharacter
uma_bondcharacter
uma_rewardcharacter
volume24hr_clobnumeric
volume1wk_clobnumeric
volume1mo_clobnumeric
volume1yr_clobnumeric
volume_clobnumeric
liquidity_clobnumeric
maker_base_feeinteger
taker_base_feeinteger
custom_livenessinteger
accepting_orderslogical
neg_risklogical
neg_risk_market_idcharacter
neg_risk_request_idcharacter
readylogical
fundedlogical
accepting_orders_timestampcharacter
cyomlogical
competitivenumeric
approvedlogical
rewards_min_sizeinteger
rewards_max_spreadnumeric
spreadnumeric
one_day_price_changenumeric
one_hour_price_changenumeric
one_week_price_changenumeric
one_month_price_changenumeric
last_trade_pricenumeric
best_bidnumeric
best_asknumeric
automatically_activelogical
clear_book_on_startlogical
series_colorcharacter
show_gmp_serieslogical
show_gmp_outcomelogical
manual_activationlogical
neg_risk_otherlogical
uma_resolution_statusescharacter
pending_deploymentlogical
deployinglogical
deploying_timestampcharacter
rfq_enabledlogical
holding_rewards_enabledlogical
fees_enabledlogical
fee_typecharacter
versioncharacter
fee_schedule_exponentinteger
fee_schedule_ratenumeric
fee_schedule_taker_onlylogical
fee_schedule_rebate_ratenumeric

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_gamma_market(id='608565')

Last validated n/a.

polymarket_gamma_markets​

Markets on the Gamma metadata host, orderable by volume or liquidity.

Endpoint URL: GET https://gamma-api.polymarket.com/markets

Valid URL: https://gamma-api.polymarket.com/markets?limit=3&closed=false&order=volume24hr&ascending=false

API ParameterPythonPatternRequiredNullableDescription
limitlimitYPage size.
closedclosedYFilter closed markets/events (true/false).
orderorderYSort field, e.g. volume24hr, liquidity, startDate.
ascendingascendingYSort direction (true/false).
offsetoffsetYRow offset; offset=1 shifts the first row by one (verified 2026-10-06).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idcharacter
questioncharacter
condition_idcharacter
slugcharacter
resolution_sourcecharacter
end_datecharacter
liquiditycharacter
start_datecharacter
imagecharacter
iconcharacter
descriptioncharacter
outcomescharacter
outcome_pricescharacter
volumecharacter
activelogical
closedlogical
market_maker_addresscharacter
created_atcharacter
updated_atcharacter
newlogical
featuredlogical
submitted_bycharacter
archivedlogical
resolved_bycharacter
restrictedlogical
question_idcharacter
enable_order_booklogical
order_price_min_tick_sizenumeric
order_min_sizeinteger
uma_resolution_statuscharacter
volume_numnumeric
liquidity_numnumeric
end_date_isocharacter
start_date_isocharacter
has_reviewed_dateslogical
volume24hrnumeric
volume1wknumeric
volume1monumeric
volume1yrnumeric
clob_token_idscharacter
combo_statuscharacter
uma_bondcharacter
uma_rewardcharacter
volume24hr_clobnumeric
volume1wk_clobnumeric
volume1mo_clobnumeric
volume1yr_clobnumeric
volume_clobnumeric
liquidity_clobnumeric
maker_base_feeinteger
taker_base_feeinteger
custom_livenessinteger
accepting_orderslogical
neg_risklogical
eventscharacter
readylogical
fundedlogical
accepting_orders_timestampcharacter
cyomlogical
competitivenumeric
approvedlogical
rewards_min_sizeinteger
rewards_max_spreadnumeric
spreadnumeric
one_day_price_changenumeric
last_trade_pricenumeric
best_bidnumeric
best_asknumeric
automatically_activelogical
clear_book_on_startlogical
manual_activationlogical
neg_risk_otherlogical
uma_resolution_statusescharacter
pending_deploymentlogical
deployinglogical
deploying_timestampcharacter
rfq_enabledlogical
event_start_timecharacter
holding_rewards_enabledlogical
fees_enabledlogical
fee_typecharacter
versioncharacter
fee_schedule_exponentinteger
fee_schedule_ratenumeric
fee_schedule_taker_onlylogical
fee_schedule_rebate_ratenumeric
group_item_titlecharacter
group_item_thresholdcharacter
neg_risk_market_idcharacter
neg_risk_request_idcharacter
clob_rewardscharacter
one_week_price_changenumeric
one_month_price_changenumeric
one_year_price_changenumeric
series_colorcharacter
show_gmp_serieslogical
show_gmp_outcomelogical
one_hour_price_changenumeric

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_gamma_markets(ascending='false', closed='false', limit='3', order='volume24hr')

Last validated n/a.

polymarket_gamma_tags​

Tags used to categorise Gamma events and markets.

Endpoint URL: GET https://gamma-api.polymarket.com/tags

Valid URL: https://gamma-api.polymarket.com/tags?limit=3

API ParameterPythonPatternRequiredNullableDescription
limitlimitYPage size.
offsetoffsetYRow offset; offset=1 shifts the first row by one (verified 2026-10-06).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idcharacter
labelcharacter
slugcharacter
created_atcharacter
updated_atcharacter
published_atcharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_gamma_tags(limit='3')

Last validated n/a.

polymarket_clob_book​

Full order book, bids and asks, for one outcome token.

Endpoint URL: GET https://clob.polymarket.com/book

Valid URL: https://clob.polymarket.com/book?token_id=14940935985254400645996902276818598247231942791302218826999289776538227075176

API ParameterPythonPatternRequiredNullableDescription
token_idtoken_idYRequired. CLOB token id (uint256 as a decimal string) = one entry of a Gamma market's clobTokenIds.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
marketcharacter
asset_idcharacter
timestampcharacter
hashcharacter
min_order_sizecharacter
tick_sizecharacter
neg_risklogical
last_trade_pricecharacter
sidecharacter
pricecharacter
sizecharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_clob_book(token_id='14940935985254400645996902276818598247231942791302218826999289776538227075176')

Last validated n/a.

polymarket_clob_markets​

Markets on the CLOB host, cursor-paged.

Endpoint URL: GET https://clob.polymarket.com/markets

Valid URL: https://clob.polymarket.com/markets?next_cursor=MA%3D%3D

API ParameterPythonPatternRequiredNullableDescription
next_cursornext_cursorYPage cursor from the previous response; MA== (base64 0) or empty is the first page, LTE= means no more pages.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
enable_order_booklogical
activelogical
closedlogical
archivedlogical
accepting_orderslogical
accepting_order_timestampcharacter
minimum_order_sizeinteger
minimum_tick_sizenumeric
condition_idcharacter
question_idcharacter
questioncharacter
descriptioncharacter
market_slugcharacter
end_date_isocharacter
game_start_timecharacter
seconds_delayinteger
fpmmcharacter
maker_base_feeinteger
taker_base_feeinteger
notifications_enabledlogical
neg_risklogical
neg_risk_market_idcharacter
neg_risk_request_idcharacter
iconcharacter
imagecharacter
is_50_50_outcomelogical
tokenscharacter
tagscharacter
versioncharacter
rewards_ratescharacter
rewards_min_sizeinteger
rewards_max_spreadinteger

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_clob_markets(next_cursor='MA==')

Last validated n/a.

polymarket_clob_midpoint​

Midpoint between the best bid and the best ask for one outcome token.

Endpoint URL: GET https://clob.polymarket.com/midpoint

Valid URL: https://clob.polymarket.com/midpoint?token_id=14940935985254400645996902276818598247231942791302218826999289776538227075176

API ParameterPythonPatternRequiredNullableDescription
token_idtoken_idYRequired. CLOB token id (uint256 as a decimal string) = one entry of a Gamma market's clobTokenIds.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
midcharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_clob_midpoint(token_id='14940935985254400645996902276818598247231942791302218826999289776538227075176')

Last validated n/a.

polymarket_clob_price​

Best price on one side of the book for one outcome token.

Endpoint URL: GET https://clob.polymarket.com/price

Valid URL: https://clob.polymarket.com/price?token_id=14940935985254400645996902276818598247231942791302218826999289776538227075176&side=buy

API ParameterPythonPatternRequiredNullableDescription
token_idtoken_idYRequired. CLOB token id (uint256 as a decimal string) = one entry of a Gamma market's clobTokenIds.
sidesideYRequired. buy or sell.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
pricecharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

polymarket_clob_price(side='buy', token_id='14940935985254400645996902276818598247231942791302218826999289776538227075176')

Last validated n/a.