Skip to main content
The Markets resource provides access to market information, pricing, and order book data. Markets represent individual tradeable contracts within an event.

Methods

MethodEndpointDescription
list(params?)GET /v1/marketsList markets with filtering
retrieve(id)GET /v1/market/id/{id}Get market by ID
retrieve_by_slug(slug)GET /v1/market/slug/{slug}Get market by slug
book(slug)GET /v1/markets/{slug}/bookGet full order book
bbo(slug)GET /v1/markets/{slug}/bboGet best bid/offer
settlement(slug)GET /v1/markets/{slug}/settlementGet settlement price

list

Fetch a paginated list of markets with optional filters.
markets = client.markets.list({
    "limit": 20,
    "active": True,
    "categories": ["sports", "crypto"],
})

for market in markets["markets"]:
    print(f"{market['slug']}: {market['question']}")

Parameters

ParameterTypeDescription
limitintMaximum results to return
offsetintPagination offset
activeboolFilter by active trading status
closedboolFilter by closed status
archivedboolFilter by archived status
categorieslist[str]Filter by category slugs
sportsMarketTypeslist[str]Filter by sports market type (MONEYLINE, SPREAD, TOTAL, PROP)
volumeNumMinfloatMinimum trading volume
liquidityNumMinfloatMinimum liquidity

Response Fields

FieldTypeDescription
idintUnique market identifier
slugstrURL-friendly identifier
questionstrMarket question
descriptionstrDetailed description
activeboolWhether market accepts orders
lastTradePricefloatMost recent trade price
bestBidfloatBest bid price
bestAskfloatBest ask price
volumestrTotal trading volume
liquiditystrCurrent liquidity

retrieve_by_slug

Get a single market by its URL slug.
market = client.markets.retrieve_by_slug("btc-100k-2025")

print(f"Question: {market['question']}")
print(f"Status: {market['active']}")
print(f"Last Price: {market['lastTradePrice']}")

book

Get the full order book with all bid and offer levels.
book = client.markets.book("btc-100k-2025")

print(f"State: {book['marketData']['state']}")
print(f"Bids: {len(book['marketData']['bids'])}")
print(f"Offers: {len(book['marketData']['offers'])}")

for bid in book["marketData"]["bids"][:5]:
    print(f"  ${bid['px']['value']} x {bid['qty']}")

Response Fields

FieldTypeDescription
marketSlugstrMarket identifier
bidslistBuy orders (highest price first)
offerslistSell orders (lowest price first)
statestrMarket state (OPEN, SUSPENDED, etc.)
statsobjectMarket statistics

bbo

Get best bid/offer only. Use this lightweight endpoint when you only need top-of-book prices.
bbo = client.markets.bbo("btc-100k-2025")

data = bbo["marketDataLite"]
print(f"Best Bid: ${data['bestBid']['value']}")
print(f"Best Ask: ${data['bestAsk']['value']}")
print(f"Last Trade: ${data['lastTradePx']['value']}")

Response Fields

FieldTypeDescription
bestBidAmountBest (highest) bid price
bestAskAmountBest (lowest) ask price
lastTradePxAmountLast trade price
bidDepthintNumber of bid levels
askDepthintNumber of ask levels
openIntereststrCurrent open interest

settlement

Get the settlement price for a resolved market.
settlement = client.markets.settlement("btc-100k-2025")

print(f"Settlement: ${settlement['settlement']}")
Settlement values are typically 0.00 (No) or 1.00 (Yes).
For real-time market data, use the WebSocket markets stream instead of polling.