Skip to main content
Markets reference

Betting markets list

Every market name the odds API serves, sport by sport, with the exact string to pass to the markets parameter and whether it is priced pre-match, in-play or both.

Sports
23
Market names
373
Sport markets
635
Priced in-play
448

What a market is

A market is one type of bet on an event. ML is the match winner, Spread is a handicap, Totals is over/under on goals or points, and Player Props covers player stats. Each bookmaker in the response lists the markets it prices for that event, with one or more rows of odds.

Names are the same on every bookmaker, so ML from one book compares directly with ML from another. Half-time and period markets add a suffix, such as ML HT, Totals 2H or Spread 1Q.

Request only the markets you need

Add markets to /v3/odds, /v3/odds/multi or the WebSocket with comma-separated names. Without it you get every market the bookmakers price for the event.

Request
GET https://api.odds-api.io/v3/odds?apiKey=YOUR_API_KEY&eventId=EVENT_ID&bookmakers=Bet365&markets=ML,Spread,Totals
JSONMarkets in the response
[
  {
    "name": "Spread",
    "odds": [
      { "hdp": -0.5, "home": "1.95", "away": "1.85" },
      { "hdp": -1.5, "home": "3.10", "away": "1.36" }
    ]
  },
  {
    "name": "Totals",
    "odds": [
      { "hdp": 2.5, "over": "1.90", "under": "1.90" }
    ]
  }
]

Matching ignores case but needs the full name. Up to 40 names per request.

Markets by sport

Pick a sport for every market name, its shape, and whether it is priced before or during the match.

Sports with a short market list

These sports carry a handful of markets, all listed here.

  • Alpine SkiingML
  • BadmintonML, Spread, Totals
  • BiathlonML
  • Cross-Country SkiingML
  • SnookerML, Spread, Totals
  • Table TennisML, Spread, Totals, ML 1st Set
  • Water PoloML, Totals

What the odds look like

Every market has a shape that tells you how to read its odds rows. These are example rows from the odds endpoints.

  • moneyline

    One row with a price for each side: home and away, plus draw on three-way markets.

    JSONMarkets in the response
    [
      {
        "name": "ML",
        "odds": [
          { "home": "2.10", "draw": "3.40", "away": "3.20" }
        ]
      },
      {
        "name": "ML 1st Set",
        "odds": [
          { "home": "1.62", "away": "2.25" }
        ]
      }
    ]
  • line

    One row per line. hdp is the handicap or the total, with home/away prices on a handicap and over/under on a total.

    JSONMarkets in the response
    [
      {
        "name": "Spread",
        "odds": [
          { "hdp": -0.5, "home": "1.95", "away": "1.85" },
          { "hdp": -1.5, "home": "3.10", "away": "1.36" }
        ]
      },
      {
        "name": "Totals",
        "odds": [
          { "hdp": 2.5, "over": "1.90", "under": "1.90" }
        ]
      }
    ]
  • outcomes

    Fixed named outcomes in one row: 1X, 12 and X2 on Double Chance, odd and even, or home, away and none when no team scores.

    JSONMarkets in the response
    [
      {
        "name": "Double Chance",
        "odds": [
          { "1X": "1.28", "12": "1.30", "X2": "1.70" }
        ]
      },
      {
        "name": "First Team To Score",
        "odds": [
          { "home": "3.20", "away": "2.63", "none": "2.49" }
        ]
      }
    ]
  • yesno

    One row with a yes price and a no price.

    JSONMarkets in the response
    [
      {
        "name": "Both Teams To Score",
        "odds": [
          { "yes": "1.80", "no": "2.00" }
        ]
      }
    ]
  • labelled

    One row per selection. label names it, such as a correct score or a player, and odds holds the price. Player Props rows add a line with over and under.

    JSONMarkets in the response
    [
      {
        "name": "Correct Score",
        "odds": [
          { "label": "1-0", "odds": "7.50" },
          { "label": "2-1", "odds": "9.00" }
        ]
      },
      {
        "name": "Player Props",
        "odds": [
          {
            "label": "Arike Ogunbowale (Assists)",
            "hdp": 5.5,
            "over": "1.87",
            "under": "1.95"
          }
        ]
      }
    ]

Periods

Each market belongs to a part of the event. The suffix in the name tells you which one.

  • match: Match and other periods
  • first-half: First half
  • second-half: Second half
  • quarter: Quarters
  • set: Sets
  • game: Games
  • inning: Innings

Questions about markets

What is a betting market?

A market is one type of bet on an event, such as the match winner, a handicap or the total goals. In the API every market has a fixed name (ML, Spread, Totals and so on) and the same name on every bookmaker.

How do I get odds for specific markets only?

Pass the names in the markets parameter, for example markets=ML,Spread,Totals on /v3/odds or /v3/odds/multi. Matching ignores case but needs the full name, and you can send up to 40 names.

Is there a market called Match Winner or Over/Under?

No. The match winner is ML, a handicap is Spread and over/under is Totals. Longer names such as Goals Over/Under do exist, so always use the full name from this list.

Can I get this list from the API?

Yes. GET https://api.odds-api.io/v3/markets returns every market per sport with its shape, period and pre-match and in-play flags. It needs no API key. Add ?sport=football for one sport.

Why does a market return no odds for an event?

Not every bookmaker prices every market on every event. Check the name against this list, then request the event without a markets filter to see which markets each bookmaker has for it.

Data and citation

The same list as JSON, no API key needed: https://api.odds-api.io/v3/markets

Last updated 12 November 2026.

Link to this page: https://odds-api.io/markets

Fetching odds guide · Bookmakers and their markets

Start pulling odds

One API key covers every market on this page, pre-match and in-play, from 450+ bookmakers.