Skip to content

Market keys

Market catalogue

GET /v1/markets lists the supported market keys and periods. Use its optional query parameter to discover coverage for one sport:

ParameterDefaultMeaning
sportAll sportsA sport key such as nfl, soccer, epl or tennis. Returns only that sport's markets and the bookmakers that carry each market for that sport.

For example, GET /v1/markets?sport=soccer returns soccer markets with sports: ["soccer"] and their soccer bookmakers. A soccer league key such as epl selects soccer-wide coverage; a tennis tournament key selects tennis-wide coverage. Coverage describes supported markets, not prices available on a particular fixture. An unknown sport key returns 404 UNKNOWN_SPORT. Omit sport for the union across all sports.

These worked examples illustrate a full-game market, a period market and a prop; they are not a complete catalog.

Worked examples

KeyPeriodDescription
h2hfull gameTwo-way match winner; soccer includes Draw.
h2h_3_wayfull gameThree-way match result including Draw, outside soccer.
h2h_3_wayregHockey regulation-time result including Draw.
spreads1hPoint spread, first half.
totalsf5Total runs, first 5 innings (baseball only).
player_pass_ydsfull gamePlayer passing yards.

Outside soccer, moneylines with a separately priced Draw use h2h_3_way; two-way prices use h2h. Soccer keeps its standard result including Draw under h2h. NHL regulation-time results use h2h_3_way with period: reg. Ask for markets=h2h,h2h_3_way to receive both contracts, and choose periods separately, for example periods=1q. The default markets remain h2h,spreads,totals and exclude three-way results outside soccer.

Periods

A key is always the market family alone (h2h, spreads, totals, player_pass_yds, ...); it never carries a period. A period market carries a separate period field instead: 1h/2h (halves), 1q through 4q (quarters), 1p through 3p (hockey periods), f5 (baseball, first 5 innings), 1i (baseball, first inning), 1s through 5s (tennis sets), or reg (hockey regulation time). A full-game market has no period field at all.

Ask for periods with the periods request parameter, separately from markets: omit it for the full game only, periods=1h,1q for just those periods, periods=full,1h for the full game plus the first half (full is accepted on input only), or periods=all for everything. An old suffixed key (totals_f5) or an unknown period is rejected with 422 INVALID_MARKET naming the new spelling.

For CS2, League of Legends, Dota 2 and Valorant keys, map periods and worked requests, see the esports guide.