MLSSoccer

MLS Odds API

Pull real-time Major League Soccer odds into your platform through a fast, reliable REST API. 1X2, handicaps, goalscorer markets and player props from 85+ sportsbooks worldwide.

Major League Soccer runs on a calendar that no European league shares: the season opens in late February and finishes in December, which puts its busiest months squarely inside the European summer break. For anyone building a soccer product, that makes MLS the competition that keeps a feed alive when the Premier League and the Champions League have stopped for the summer.

Our MLS odds API covers the full regular season and the playoffs across every club in both conferences, returning each match with its complete market tree in one request.

Covering more than MLS? The soccer odds API spans 19 competitions, including Liga MX, the Premier League, La Liga and the Bundesliga.

MLS Odds API Features

MLS is a US-facing market, which changes which sportsbooks matter. The North American books price it deeply while the European books that dominate Premier League markets carry it more thinly — the reverse of the pattern you see in the major European leagues, and something worth accounting for when you choose which books to request.

Available MLS betting markets include:

  • Match winner (1X2) and 2-way moneyline
  • Asian handicaps and European handicaps
  • Totals (over/under goals), team totals and both teams to score
  • Alternative lines and totals
  • Goalscorer markets — anytime, first and last
  • Player props — shots, shots on goal, assists, tackles, passes, cards
  • Goalkeeper props — saves and goals against
  • Card and corner markets, plus first and second half variants

All data is available pre-match and live. Odds refresh sub-minute on the Pro plan, with Rookie and the free Amateur tier updating on a longer interval — see pricing for the frequency on each tier.

Regular season and playoffs settle differently

MLS regular season matches can end in a draw, so the headline market is a 3-way moneyline on the reg period — 90 minutes plus stoppage time, with the draw as its own outcome rather than a push.

The playoffs do not allow draws. A tie level at 90 minutes goes to a penalty shootout, which the API carries on the so period, and the full-match result including that shootout sits on game. This is the same regulation-versus-full-match split that applies across our soccer coverage, and it is the one thing to get right before you write settlement logic: reg gives you the 90-minute result, game gives you who actually advanced.

Player props and prop-style markets sit on game.

MLS Player Props

Query goalscorer and player performance markets across every match on the schedule — anytime goalscorer odds, shots on goal totals, assist props, card markets and goalkeeper saves.

Filter by player ID, stat type or bookmaker to return only the props relevant to your platform. Designated players concentrate a disproportionate share of the goalscorer market in MLS, so anytime scorer and shots markets on those names carry the most liquidity and move the most on lineup news. See the player prop odds API for the full market list across every sport we cover.

MLS Odds API with Results

Our API delivers MLS odds and match results together in a single response, with no secondary calls and no data stitching. Each response includes:

  • Live, upcoming and completed MLS matches
  • Home and away team data
  • Player and match statistics
  • Full odds coverage: 1X2, handicaps, totals, goalscorer and player props, alternative lines
  • Final scores and settlement data, including playoff shootouts

Line movement tracking lets you monitor how MLS prices evolve from the moment team news drops through kickoff. Travel matters more here than in a compact European league — a west coast side playing an early kickoff on the east coast is a real market factor, and it shows up in the numbers.

SportsGameOdds API
GEThttps://api.sportsgameodds.com/v2/events

Request Parameters

leagueID=MLB

Only NBA games

oddsAvailable=true

Only games with available odds

includeAltLines=false

Don't return alt-lines

limit=1

Number of games to return

Quick Start: Your First MLS Odds API Call

Fetching MLS odds takes a single HTTP request. Here's the quickest way to get upcoming Major League Soccer matches with full odds:

https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&oddsAvailable=true&leagueID=MLS&limit=10

This returns all available markets including 1X2, handicaps, totals and player props across the next 10 MLS fixtures.

To target a specific market, use the oddIDs parameter. This returns the total goals line for every match on the slate:

https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&oddsAvailable=true&leagueID=MLS&oddIDs=points-all-reg-ou-over,points-all-reg-ou-under

To pull MLS and Liga MX together — useful for North American products, since the two calendars overlap:

https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&oddsAvailable=true&leagueID=MLS,LIGA_MX&limit=25

OddIDs follow the format {statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}. Goals are carried under the points statID, since points is the score stat for every sport.

Tips to keep your MLS queries fast and efficient:

  • Use reg for match lines and game for props — and see the section above for why that matters in the playoffs
  • Add bookmakerID=draftkings,fanduel,betmgm to focus on the North American books that price MLS most deeply
  • Use includeOpposingOdds=true so you only need to specify one side of a market and automatically receive both
  • Note: 1 object = 1 event regardless of how many markets are returned, so a 14-match Saturday = 14 objects

What an MLS response looks like

Every match returns an odds object keyed by oddID. Here's a trimmed total goals market, with the bookmaker list cut to two books:

{
  "eventID": "...",
  "leagueID": "MLS",
  "odds": {
    "points-all-reg-ou-over": {
      "oddID": "points-all-reg-ou-over",
      "opposingOddID": "points-all-reg-ou-under",
      "marketName": "Over/Under (Regulation)",
      "statID": "points",
      "statEntityID": "all",
      "periodID": "reg",
      "betTypeID": "ou",
      "sideID": "over",
      "fairOdds": "-106",
      "fairOverUnder": "3",
      "bookOdds": "-110",
      "bookOverUnder": "3",
      "byBookmaker": {
        "draftkings": { "odds": "-115", "overUnder": "3", "available": true },
        "fanduel": { "odds": "-105", "overUnder": "3.5", "available": true }
      }
    }
  }
}

Note the statID is points, not a goals-specific field — points is the score stat across every sport in the API, so it means goals in soccer, runs in baseball and points in basketball. The line here is a whole number rather than a half, which in soccer totals means the bet can push. And as always the two books are on different lines, so read the overUnder alongside the price.

MLS Odds API Technical Specifications

API Architecture

  • REST API — standard HTTP endpoints returning clean JSON responses
  • WebSocket feeds — real-time push updates with no polling required
  • Rate limits — scalable plans matched to your usage volume
  • Authentication — secure API key access

Data Update Speed

  • Odds updates — sub-minute refresh on Pro; longer intervals on Rookie and Amateur
  • Live scores — updated in real time, including stoppage time and playoff shootouts

Developer Resources

Use Cases

Odds Comparison Platforms — Display MLS 1X2 prices, handicaps and totals from 85+ bookmakers in one place across a full Saturday slate.

Arbitrage & +EV Tools — MLS is priced deeply by the North American books and more thinly by European ones, which is exactly the asymmetry that creates gaps. See also positive EV betting.

Goalscorer & Player Prop Tools — Surface anytime goalscorer odds, shots on goal and assist props across every fixture, updating as confirmed lineups drop.

Sportsbook & Fantasy Apps — Power a soccer product through the European summer break, when MLS is one of the few major competitions still playing.

Sports Analytics & Research — Study how markets price travel, conference structure and a playoff format that has no equivalent in European football.

MLS API Documentation

Our interactive documentation covers everything you need to integrate MLS odds into your application:

  • Full endpoint reference with parameters and response schemas
  • Live request and response examples
  • Code snippets in Python, JavaScript and more
  • Authentication setup and API key management
  • Webhook configuration
  • Error handling and troubleshooting

For a practical walkthrough of querying the /v2/events endpoint with soccer examples, see our API documentation. If you are planning North American soccer coverage more broadly, our World Cup 2026 coverage guide is worth a read.

What MLS betting markets does the API cover?
Match winner (1X2) and 2-way moneyline, Asian and European handicaps, totals, team totals, both teams to score, alternative lines, goalscorer props (anytime, first, last), player props covering shots, assists and cards, goalkeeper props, and card and corner markets — pre-match and live, with first and second half variants.
When does the MLS season run?
Late February through December, including the playoffs. That places its busiest months inside the European summer break, which makes MLS useful for keeping a soccer product active when the Premier League and Champions League have stopped.
How do MLS playoff matches settle in the API?
Regular season matches can end in a draw, so the headline market is a 3-way moneyline on the reg period — 90 minutes plus stoppage time with the draw as its own outcome. Playoffs do not allow draws: a tie goes to a penalty shootout, carried on the so period, and the full result including that shootout sits on game. Use reg for the 90-minute result and game for who advanced.
Which sportsbooks price MLS most deeply?
The North American books, since MLS is a US-facing market. That is the reverse of the pattern in the major European leagues, where European books carry the most depth. Add bookmakerID=draftkings,fanduel,betmgm to focus a request on the books that price it most fully.
Why is the goals total under a points statID?
Because points is the score stat across every sport in the API — it means goals in soccer, runs in baseball and points in basketball. A total goals market is points-all-reg-ou-over, not a goals-specific field.
Can I request MLS and Liga MX together?
Yes. The leagueID parameter accepts a comma-separated list, so leagueID=MLS,LIGA_MX returns both — useful for North American products since the two calendars overlap. Querying at sport level with sportID=SOCCER returns all 19 competitions we cover.
How does object-based pricing work for MLS?
Each match counts as one object regardless of how many markets it returns. A 14-match Saturday costs 14 objects, even if every match returns hundreds of odds across goalscorer props, cards and handicaps.