Skip to main content

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 specifying market_ids, the API defaults to 1,2,3:
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

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

Example Response

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

Bootstrap only from a known-zero-delay events snapshot that explicitly reports X-Data-Delay-Seconds: 0, using its positive meta.delta_last_id; do not substitute 0 for a missing or invalid cursor. The event snapshot expands core market_ids=1,2,3 to include the in-play IDs. This delta endpoint filters IDs literally, so include 41,42,43 when polling full-game core live updates. Delta rows retain their actual market IDs.

Example Response

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

Example Response

A market_line_price_id identifies one sportsbook’s price on one line value, so a line ID never changes its line. Rows 90003 and 90004 show the main spread moving from -3.5 to -4.5: the is_main_line flag leaves line 12345 and arrives on line 12346 at the same timestamp.
Lists teams, players, or result sides for the requested event and markets. Use participant_id from this response, rather than id, to filter a participant-specific chart.For totals (market 3), request participant_type=TYPE_RESULT to discover the Over and Under sides. Markets 1 and 2 use TYPE_TEAM participants. When market_ids is omitted, it defaults to 1,2,3.

Parameters

Example Response

This is an illustrative response with example record IDs and timestamps; use participant_id for a chart request.
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

Example Response

Returns the same market definition schema as GET /api/v2/markets, filtered to the markets available for this event.
Returns recorded price-history rows for an event. Results are newest first and are subject to the historical access included with your plan.

Parameters

There is no paging cursor or truncation flag. If a response reaches the limit, narrow the market, sportsbook, or time window; it is not guaranteed to contain every matching row.

Example Response

Returns time-series price data suitable for charting line movement on a single market. More granular than the general history endpoint. To chart one side, first discover participants for the same event and market, then pass its public participant_id. For totals (market 3), discover TYPE_RESULT Over/Under and request each side separately. The response is grouped by affiliate and can otherwise contain points for more than one participant; main_line=true keeps only points that were the main line when written.

Parameters

The response has no pagination cursor or truncation flag. Narrow the filters or time window when the total point count reaches limit.

Example Response

The chart-optimized response groups data points into series keyed by affiliate ID and orders points oldest first. Each point uses shorthand fields: t (timestamp), l (line value), p (price), m (main-line flag, always present), and optional c (closed-at timestamp). A series can include multiple participants and line values: use the public canonical participant_id to select a side, line to pin one value, or both. main_line=true alone does not isolate a participant side.

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:
The prices object is keyed by affiliate_id (sportsbook). A price value of 0.0001 indicates the line is off the board.