Skip to main content
Markets represent the type of bet available for an event. Each market has a numeric market_id used throughout the API. Markets are split into prematch and live/in-play categories.

Prematch Markets

Half & Period Markets

Halves have their own market IDs, and unlike full game they use the same ID prematch and in-play: There is no separate “halftime line” market — the second-half markets are the halftime lines: books post them at (or just before) the half, and they stay live through the second half.

Live / In-Play Markets

Live markets are the in-play equivalents of prematch markets. They use separate IDs but map back to their prematch counterparts.
Live rows arrive under the in-play IDs — make sure your client accepts them. Once a game kicks off, the sportsbooks’ full-game moneyline/spread/total updates flow under markets 41/42/43, not the prematch 1,2,3. Requesting market_ids=1,2,3 on the REST events endpoints or a WebSocket subscription automatically includes the live variants (1→41, 2→42, 3→43, 94→96, and the tennis set markets), so the data reaches you either way — but the rows come back tagged with the in-play IDs, not relabeled as 1/2/3. A client that filters or keys strictly on the prematch IDs will silently discard almost the entire live stream and typically sees only the one or two books that still dual-write on 1/2/3 after kickoff. Treat each prematch/live pair as one logical market keyed on either ID. Half markets are simpler — they keep the same IDs in-play (4,5,6 first half; 1008,1009,1010 second half). A complete live main-lines scope for a football game: 41,42,43 + 4,5,6 + 1008,1009,1010.

Sport × Market Availability

Not every market is available for every sport. Core markets (moneyline, spread, total) are broadly available, but player props and sport-specific markets vary. Use GET /api/v2/sports/{sportID}/markets/{date} to check which markets have active pricing on a given day.
The player prop market IDs listed above (29, 33, 35, 38, 39, etc.) are basketball-centric examples. Each sport has its own set of prop markets — for example, MLB has Player Strikeouts, Player Hits, and Player Home Runs. Use the market definitions endpoint or GET /api/v2/markets to discover all available markets and their IDs.

Sport-Specific Notes

  • MLB: Includes pitcher-specific markets. Starting pitcher information affects line availability — lines may show 0.0001 (off the board) until pitchers are confirmed. See Sentinel Values.
  • Soccer (IDs 10-19 and 33): The soccer 3-way moneyline (home/draw/away) is served on Moneyline (1) as three participants — the draw is a participant of the market, not a separate market. Soccer endpoints default market_ids to 1,2,3,563.
  • NHL (ID 6): The 60-minute regulation-time line — a genuinely different bet from the full-game moneyline, since regulation excludes overtime and shootouts — is served as 3-Way Result (563), with live variant 1105. NHL endpoints default market_ids to 1,2,3,563. Alternate puck lines appear as alternate lines under Spread (2) rather than a separate market.
  • Tennis (IDs 38-39): Match markets use full-game periods (0 prematch, 7 live). Set-specific markets use tennis-only market IDs such as moneyline_first_set (1150), spread_first_set (1151), and totals_first_set (1152) with set periods such as 3, 4, 15, and 16.
  • UFC/MMA: Does not have spread markets. Moneyline and total rounds are the primary markets. Method-of-victory and round betting are available as prop markets.
  • CFL: Supports core markets (moneyline, spread, total) but does not currently support player props.
For the API endpoints that return market data, see the Markets API reference. For how markets fit into the overall data hierarchy, see the Data Model.

Participant-Shaped vs. Line-Valued Markets

Market definitions include line_value_is_participant to tell you where the meaningful selection detail lives. When line_value_is_participant: true, the market is participant-shaped: the participant carries the selection, and the line value may be a placeholder or label. Moneylines and Yes/No-style result markets commonly work this way. When line_value_is_participant: false, the line value is meaningful and should be displayed when present. This includes spreads, totals, player stat thresholds, and special markets where the detail is a method, round, or other outcome qualifier. For example, UFC method-of-victory markets use the fighter as the participant and expose the method, such as decision or KO/TKO, as the line value.