BetMGM API access with one US odds schema

Use the canonical betmgm key to evaluate current BetMGM event and market availability. When coverage is present, request normalized pre-match prices alongside other US books without building a separate response model.

Free key. 1,000 requests. No credit card.

GET /v1/events/{event_id}/odds/snapshot?bookmakers=betmgm
{
  "event_id": "nhl-nyr-bos",
  "items": [
    
    {
      "bookmaker": "betmgm",
      "bet_type": "moneyline",
      "period_str": "full game",
      "side": "home",
      "selection_name": "Boston Bruins",
      "american_display_odds": "+120"
    },
    
    {
      "bookmaker": "betmgm",
      "bet_type": "handicap",
      "period_str": "full game",
      "side": "away",
      "selection_name": "New York Rangers +1.5",
      "american_display_odds": "-165"
    }
    
  ],
  "resume": "1784092451749-0"
}
BetMGM API filter Request only BetMGM prices with the canonical betmgm bookmaker key.
Normalized odds data Use consistent event, market, period, selection, and price fields.
REST + pre-match streams Start with REST, then add SSE or WebSocket updates.

Performance you can check.

The 99.8% figure is an operating target. Current health and latency stay on the live status page.

Availability target

99.8%

Monthly operating target. Not a contractual SLA.

View live status
US bookmaker API guides

Compare the US sportsbook cluster

Use one normalized contract, then narrow requests with the canonical bookmaker key for each covered source.

Explore the full US sportsbook API

BetMGM API markets

Translate the normalized contract into the moneyline, spread, run line, puck line, total, and prop labels US users expect.

Market API bet_type What it covers
Moneyline moneyline Full-game winner prices for covered US leagues and matchups.
Point spread handicap Basketball and football spread prices with favorite, underdog, and line values.
Run line and puck line handicap US baseball and hockey spread language mapped to the same normalized line field.
Game and team totals totalteam total Over and under prices for the combined score or one team's score.
Player props player pointsplayer shotsplayer strikeouts League-specific player performance lines where they are present in the current BetMGM snapshot.

BetMGM is registry-listed, but current bookmaker and market presence can vary. Check GET /v1/bookmakers, the live coverage page, and the event snapshot before making BetMGM a required production dependency.

Built for agents and humans

MCP server

Tools for events, odds, line movement, and streams. Bets endpoints are support-approved.

Agent skill

Agent-ready instructions.

SDKs and examples

TypeScript, Python, Postman and example builds.

Sports and racing

Sports and racing odds coverage for agent workflows.

SSE odds stream

Lightweight streaming updates for dashboards and alerts.

WebSocket feeds

Bidirectional streams for richer pre-match products.

How to use the BetMGM API

Verify current BetMGM coverage first, then request the event snapshot and preserve the response's freshness fields.

  1. Verify BetMGM availability

    Start with GET /v1/bookmakers and the live coverage catalog. Registry presence does not guarantee a current price for every event.

  2. Find a priced event

    Choose an event that lists betmgm in its available bookmaker coverage before requesting a snapshot.

  3. Request the BetMGM board

    Use bookmakers=betmgm and keep the normalized line, selection, price, and freshness fields intact.

  4. Handle coverage changes

    Treat the current snapshot as authoritative, and fall back to other selected US books when BetMGM is not present.

Odds API Pricing

Start free, then choose a monthly plan based on request volume, rate limits, and support.

Sandbox

Free
Free
Requests
1K / month
Streams
25 stream-hours / month
  • 30 requests/min
  • Docs and AI assistant

Starter

50K
$25 USD / month
Requests
50K / month
Streams
150 stream-hours / month
  • 60 requests/min
  • Self-serve
Best value

Builder

2M
$90 USD / month
Requests
2M / month
Streams
1,500 stream-hours / month
  • 300 requests/min
  • Email support

Live

20M
$250 USD / month
Requests
20M / month
Streams
6,000 stream-hours / month
  • 600 requests/min
  • Priority email

Pro

75M
$500 USD / month
Requests
75M / month
Streams
20,000 stream-hours / month
  • 1,200 requests/min
  • Priority email plus onboarding

Scale

Custom
Custom
Requests
100M+ typical
Streams
Custom
  • Custom
  • Dedicated support

BetMGM API FAQs

Coverage-first answers about the BetMGM key, current availability, US market labels, American odds display, and affiliation.

Is this the official BetMGM API?

No. odds-api is an independent data service and is not affiliated with, endorsed by, or sponsored by BetMGM. It provides market data only and does not place bets or manage BetMGM accounts.

Is BetMGM available for every US event?

No. BetMGM can be registry-listed without appearing in every current event or recent coverage window. Confirm GET /v1/bookmakers, live coverage, and the event snapshot before depending on it.

What is the BetMGM bookmaker key?

Use betmgm in bookmaker filters when that key is available to your account and attached to the event. The snapshot query is bookmakers=betmgm.

How are BetMGM run lines and puck lines represented?

US-facing run line, puck line, and point spread labels map to the normalized handicap bet_type with a line value and side. Keep the sport context when presenting that field.

Does the BetMGM page promise a refresh speed?

No fixed event-level cadence is claimed here. The service publishes its adaptive pre-match refresh model separately, while current latency and availability measurements appear on the status page.

Start using the BetMGM API

Create a free key and verify current BetMGM coverage for the leagues and events your product needs.

Free key. 1,000 requests. No credit card.