Overview
Markets are the core data model in V2. Each market represents a type of bet (moneyline, spread, total, player props, etc.) with participants, lines, and prices from each sportsbook.Default Market IDs
When you call event endpoints without specifyingmarket_ids, the API defaults to 1,2,3:
| Market ID | Name | Description |
|---|---|---|
| 1 | Moneyline | Winner of the game. Two-way for most sports, three-way (includes draw) for soccer. |
| 2 | Point Spread | Handicap/spread betting. The favorite must win by more than the spread. |
| 3 | Total (Over/Under) | Combined score of both teams. Bet over or under the posted number. |
To get player props, team totals, or other market types, you must explicitly pass their IDs. For example,
market_ids=29 for Player Points or market_ids=94 for Team Totals. See the full Market IDs reference.For a visual breakdown of how markets, participants, lines, and prices nest together, see the Data Model. For the complete list of market IDs and sport availability, see Market IDs. For delta-based polling of market prices, see the Efficient Polling guide.
Endpoints
GET /api/v2/markets — List all market definitions
GET /api/v2/markets — List all market definitions
Returns every canonical market definition with its ID, name, period info, and whether the line value represents a participant name.This is a reference endpoint — it returns the market catalog, not live prices. Use it to build a mapping of market IDs to display names.
Response fields
| Field | Description |
|---|---|
id | Numeric market identifier |
name | Display name (e.g., “Money Line”, “Player Points”) |
description | Longer description of the market |
short_description | Abbreviated description |
line_value_is_participant | When true, the line value field is a participant name, not a number |
proposition | Whether this is a proposition/player prop market |
period_id | Period this market applies to (see Period IDs) |
live_variant_id | Market ID of the corresponding live/in-play variant, if any |
updated_at | When the market definition was last updated |
Example Response
GET /api/v2/markets/delta — Market price delta feed
GET /api/v2/markets/delta — Market price delta feed
Returns market line price changes (new, updated, removed) since the specified
last_id. This is the most efficient way to keep your odds data up to date via polling.Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
last_id | query | Yes | Integer cursor. Use 0 for initial fetch, then pass the highest ID from the previous response. |
sport_id | query | No | Filter by sport ID |
affiliate_ids | query | No | Comma-separated sportsbook IDs |
market_ids | query | No | Comma-separated market IDs |
event_id | query | No | Filter by event ID |
limit | query | No | Max results (default 1000, max 5000) |
Example Response
GET /api/v2/markets/history — Price history by market line price IDs
GET /api/v2/markets/history — Price history by market line price IDs
Returns the price history for specific market line prices. You need the
market_line_price_id values from a prior event or delta response.Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
market_line_price_ids | query | Yes | Comma-separated IDs (max 50) |
from | query | No | Start time (RFC3339 format) |
to | query | No | End time (RFC3339 format) |
limit | query | No | Max results (default 1000, max 5000) |
Example Response
GET /api/v2/markets/participants — Get market participants
GET /api/v2/markets/participants — Get market participants
GET /api/v2/events/{eventID}/markets — Available markets for an event
GET /api/v2/events/{eventID}/markets — Available markets for an event
Returns the list of market definitions (not prices) available for a specific event. Use this to discover which markets are offered before requesting prices.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventID | path | Yes | Canonical V2 event ID from the event_id field |
participant_ids | query | No | Filter by participant IDs |
participant_type | query | No | Filter by participant type |
Example Response
Returns the same market definition schema asGET /api/v2/markets, filtered to the markets available for this event.GET /api/v2/events/{eventID}/markets/history — Market history for an event
GET /api/v2/events/{eventID}/markets/history — Market history for an event
Returns time-series price history for all markets on an event. Supports filtering by market, affiliate, and time range.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventID | path | Yes | Canonical V2 event ID from the event_id field |
market_ids | query | No | Comma-separated market IDs |
affiliate_ids | query | No | Comma-separated sportsbook IDs |
from | query | No | Start time (RFC3339) |
to | query | No | End time (RFC3339) |
limit | query | No | Max results (default 1000, max 5000) |
Example Response
GET /api/v2/events/{eventID}/markets/{marketID}/history — Line chart data for a specific market
GET /api/v2/events/{eventID}/markets/{marketID}/history — Line chart data for a specific market
Returns time-series price data suitable for charting line movement on a single market. More granular than the general history endpoint.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventID | path | Yes | Canonical V2 event ID from the event_id field |
marketID | path | Yes | Market ID (e.g., 1 for Moneyline) |
participant_id | query | No | Filter by participant ID |
affiliate_ids | query | No | Comma-separated sportsbook IDs |
line | query | No | Filter by line value |
from | query | No | Start time (RFC3339) |
to | query | No | End time (RFC3339) |
Example Response
The chart-optimized response groups data points intoseries keyed by affiliate ID. Each point uses shorthand fields: t (timestamp), p (price), and c (closed_at, empty string if still active).Available Markets by Sport and Date
You can also discover which markets are available for a sport on a given date:Market Data Model
Each market in an event response follows this structure:prices object is keyed by affiliate_id (sportsbook). A price value of 0.0001 indicates the line is off the board.