# BetMGM Odds API: BetMGM UK Football Odds as JSON

> BetMGM UK odds API: pre-match and in-play football odds as clean JSON, with 400+ markets on big matches. Corners, cards, goalscorers and player shots. Free trial.

Canonical: https://www.oddsapi.dev/betmgm-odds-api  
Live data updated: 7 Nov 2026, 07:04 UTC (refreshed every 30 minutes)

## TL;DR

- BetMGM has no public odds API for its UK sportsbook; OddsAPI.dev serves BetMGM UK's football odds as JSON: 400+ markets on big matches, with corners, cards, goalscorers and player shots.
- BetMGM lists 504 football leagues and cups in the API, with 971 upcoming matches right now.
- Its board for Leeds United v Tottenham Hotspur has 733 markets across 61 market types, with props for 49 players.
- Endpoints: GET /v1/betmgm-uk/leagues, /v1/betmgm-uk/events, /v1/betmgm-uk/events/{id}/odds (pre-match) and /odds/live (in-play).
- Independent data provider, not affiliated with BetMGM. 7-day free trial on every plan; every plan includes all five bookmakers.

BetMGM UK football odds as clean JSON, pre-match and in-play. Results, goals, handicaps, corners, cards, goalscorers and player shots, with 400+ markets on a big Premier League match.

## Right now on BetMGM

BetMGM lists 504 football leagues and cups in the API, with 971 upcoming matches across 196 of them and 44 in play. For Leeds United v Tottenham Hotspur (Premier League, Sat 7 Nov, 12:30 UTC), its board has 733 markets and 2,293 prices across 61 market types, with props for 49 players.

| League (as BetMGM names it) | Upcoming matches |
| --- | ---: |
| FA Cup | 38 |
| UEFA Nations League | 26 |
| LaLiga | 18 |
| Premier League | 18 |
| Serie A | 18 |
| Bundesliga | 17 |
| Eredivisie | 17 |
| Ligue 1 | 17 |

```json
{
  "event_id": "ev_021632",
  "bookmaker": "betmgm-uk",
  "updated_at": "2026-11-07T07:02:01.976Z",
  "markets": [
    {
      "key": "match_result",
      "period": "full_time",
      "outcomes": [
        {
          "key": "home",
          "price": 2.7
        },
        {
          "key": "draw",
          "price": 3.25
        },
        {
          "key": "away",
          "price": 2.55
        }
      ]
    },
    {
      "key": "total_goals",
      "period": "full_time",
      "outcomes": [
        {
          "key": "over",
          "line": 0.5,
          "price": 1.05
        },
        {
          "key": "under",
          "line": 0.5,
          "price": 8.5
        }
      ]
    },
    {
      "key": "both_teams_to_score",
      "period": "full_time",
      "outcomes": [
        {
          "key": "yes",
          "price": 1.7
        },
        {
          "key": "no",
          "price": 2.05
        }
      ]
    },
    {
      "key": "asian_handicap",
      "period": "full_time",
      "outcomes": [
        {
          "key": "home",
          "line": -0.5,
          "price": 2.65
        },
        {
          "key": "away",
          "line": 0.5,
          "price": 1.45
        }
      ]
    }
  ]
}
```

## Does BetMGM have a public API?

No. BetMGM doesn't publish a public odds API for its UK sportsbook, so developers either build their own integration or use a data provider. OddsAPI.dev gives you BetMGM UK's football odds as documented JSON, in the same schema as four other bookmakers.

|  | Building it yourself | OddsAPI.dev |
| --- | ---: | ---: |
| Setup | Weeks of build work | API key in minutes |
| Maintenance | Yours, every time something changes | None on your side |
| Data format | Design and normalize your own schema | Normalized JSON, 60+ market keys |
| In-play odds | A second pipeline to build and run | /odds/live endpoint |
| Other bookmakers | Repeat it all for each book | Bet365, Pinnacle, Betfair Exchange, Paddy Power |
| Cost | Servers, monitoring and engineering time | 7-day free trial, then from $50/mo |

## BetMGM markets

- **Results:** Match result (1X2), Double chance, Draw no bet, Half-time / full-time, Winning margin
- **Goals:** Total goals, Both teams to score, Exact goals, Goal ranges, Odd / even, Team totals
- **Handicaps & scores:** Asian handicap, European handicap, Correct score
- **Corners & cards:** Total corners, Team corners, Corners handicap, Most corners, Total cards, Most cards
- **Goalscorers:** Anytime goalscorer, First goalscorer, Last goalscorer, To score 2+, Hat-trick, Score or assist
- **Player props:** Shots, Shots on target

## Example request

```bash
curl "https://api.oddsapi.dev/v1/betmgm-uk/events/ev_021356/odds?markets=match_result,total_corners,player_shots_on_target" \
  -H "Authorization: Bearer $ODDS_API_KEY"
```

```json
{
  "data": {
    "event_id": "ev_021356",
    "bookmaker": "betmgm-uk",
    "type": "prematch",
    "updated_at": "2026-11-04T05:19:23.662Z",
    "markets": [
      {
        "key": "match_result",
        "period": "full_time",
        "outcomes": [
          { "key": "home", "price": 4.3 },
          { "key": "draw", "price": 3.9 },
          { "key": "away", "price": 1.7 }
        ]
      },
      {
        "key": "total_corners",
        "period": "full_time",
        "outcomes": [
          { "key": "over", "line": 9.5, "price": 1.73 },
          { "key": "under", "line": 9.5, "price": 1.88 }
        ]
      },
      {
        "key": "player_shots_on_target",
        "period": "full_time",
        "player": "Erling Haaland",
        "outcomes": [
          { "key": "over", "line": 0.5, "price": 1.25 },
          { "key": "over", "line": 1.5, "price": 2.08 }
        ]
      }
    ]
  }
}
```

```python
import os, requests

API = "https://api.oddsapi.dev/v1/betmgm-uk"
headers = {"Authorization": f"Bearer {os.environ['ODDS_API_KEY']}"}

league = requests.get(f"{API}/leagues", params={"search": "Premier League England"}, headers=headers).json()["data"][0]
events = requests.get(f"{API}/events", params={"league_id": league["id"]}, headers=headers).json()["data"]

for event in events:
    odds = requests.get(
        f"{API}/events/{event['id']}/odds",
        params={"markets": "match_result,total_corners"},
        headers=headers,
    ).json()["data"]
    print(event["home_team"]["name"], "v", event["away_team"]["name"])
    for market in odds["markets"]:
        print("  ", market["key"], market["period"], market["outcomes"])
```

```javascript
const API = "https://api.oddsapi.dev/v1/betmgm-uk";
const headers = { Authorization: `Bearer ${process.env.ODDS_API_KEY}` };
const get = (path) => fetch(API + path, { headers }).then((r) => r.json());

const { data: [league] } = await get("/leagues?search=Premier%20League%20England");
const { data: events } = await get(`/events?league_id=${league.id}`);

for (const event of events) {
  const { data: odds } = await get(`/events/${event.id}/odds?markets=match_result,total_corners`);
  console.log(event.home_team.name, "v", event.away_team.name, odds.markets);
}
```

## Coverage

Live today:

- Football, pre-match and in-play
- Every competition BetMGM UK prices: 450+ leagues and cups
- 50+ market types, full time and both halves
- Corners, cards, goalscorers and player shots
- Pre-match board kept after kickoff (closing line)
- Same schema as 4 other bookmakers

Not yet:

- BetMGM's US sportsbooks (UK only for now)
- Other sports (coming soon)
- WebSocket streaming (coming soon; poll REST for now)

## What people build

- **Side-market models.** Corners and cards are priced by few books. BetMGM UK and Bet365 together give two prices on every line.
- **Goalscorer comparison.** BetMGM UK, Bet365 and Paddy Power all price goalscorers; show the best price per player from one API.
- **Odds comparison.** Same market keys, outcomes and lines as Bet365, Pinnacle, Betfair Exchange and Paddy Power, so a comparison table is a group-by.
- **Live dashboards.** Poll /odds/live for in-play prices while the match runs, with an updated_at timestamp on every board.

## FAQ

### Is this the official BetMGM API?

No. BetMGM doesn't offer a public odds API. OddsAPI.dev is an independent data provider, not affiliated with or endorsed by BetMGM.

### Is this BetMGM UK or BetMGM US?

BetMGM UK, the UK sportsbook. BetMGM's US books are separate feeds and aren't covered yet.

### Which BetMGM markets are covered?

50+ market types: results, totals, BTTS, exact goals, Asian and European handicaps, correct score, team specials, corners, cards, goalscorers and player shots, for full time and both halves. A big Premier League match carries 400+ markets.

### Does it include in-play BetMGM odds?

Yes. GET /v1/betmgm-uk/events/{id}/odds/live returns in-play odds while a match runs; /odds returns the pre-match board, kept after kickoff as the closing line.

### What's the BetMGM bookmaker slug?

betmgm-uk. Every endpoint starts with /v1/betmgm-uk/.

### Is there a free trial?

Yes. Every plan starts with a 7-day free trial with 10% of the plan's monthly requests at the full rate limit, and every plan includes all five bookmakers. Cancel before it ends and you're never charged.

## Other bookmakers

- [Bet365 odds API](https://www.oddsapi.dev/bet365-odds-api) ([markdown](https://www.oddsapi.dev/bet365-odds-api.md))
- [Pinnacle odds API](https://www.oddsapi.dev/pinnacle-odds-api) ([markdown](https://www.oddsapi.dev/pinnacle-odds-api.md))
- [Betfair Exchange API](https://www.oddsapi.dev/betfair-exchange-api) ([markdown](https://www.oddsapi.dev/betfair-exchange-api.md))
- [Paddy Power odds API](https://www.oddsapi.dev/paddy-power-odds-api) ([markdown](https://www.oddsapi.dev/paddy-power-odds-api.md))

## Pricing

Every plan starts with a 7-day free trial (10% of the plan's monthly requests) and includes all 5 bookmakers.

| Plan | Price | Requests | Rate limit |
| --- | ---: | ---: | ---: |
| Starter | $50/month | 100,000 requests/mo | 120/minute |
| Growth | $129/month | 500,000 requests/mo | 300/minute |
| Scale | $379/month | 5,000,000 requests/mo | 1000/minute |

Start a trial: https://www.oddsapi.dev/auth?mode=signup
