get_odds
Data refreshed · changelog
Odds by game with bookmaker filters
Use it when you need lines for one game: the consensus closing spread and total for any game since 1999 (moneyline from 2006), each sportsbook's closing line from 2014 (4-9 books), and per-book opening, closing and latest lines from up to 8 sportsbooks (including Pinnacle) from the 2020 season.
Parameters
game_idstringoptional- Game id, e.g. 2026_01_KC_BUF. Omit and pass season for a whole season.
seasonstring | numberoptional- Season year for a whole season of per-book lines, e.g. 2026. Used when game_id is not set.
teamstringoptional- With season: only this team's games (e.g. KC).
bookmakerstringoptional- Bookmaker key (draftkings, fanduel, betmgm, espnbet, pinnacle; for 2014-2019 also westgate, caesars, wynn, unibet, 5dimes, sportsbettingag and others)
snapshot_typeenum: opening | closing | latestoptional- Single game: one snapshot type (default all). Season: opening or closing (default closing).
limitintegeroptional- With season: games per page (default 100, max 500).
offsetintegeroptional- With season: page offset; use next_offset from the previous page.
estimate_onlybooleanoptional- Return what this call would cost, without charging or running it.
Notes
- Over MCP, ask for it in plain English and the client calls
get_oddsitself. Point any MCP client athttps://mcp.endzoneapi.com/mcp?key=YOUR_API_KEY. - Each call costs 10 credits, taken before it runs and refunded if the server errors.
- Not the call you need? Find the right call by what you are trying to answer.
Request
curl -X POST https://mcp.endzoneapi.com/v1/get_odds \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"game_id": "2025_01_KC_LAC"
}'Response
{
"game_id": "2025_01_KC_LAC",
"home_team": "LAC",
"away_team": "KC",
"kickoff": "2025-09-06T00:00:00.000Z",
"consensus_closing": {
"spread_line": -3,
"total_line": 47.5,
"home_moneyline": 145,
"away_moneyline": -175
},
"books": [
{
"bookmaker": "betmgm",
"opening": {
"bookmaker": "betmgm",
"snapshot_type": "opening",
"source": "archive",
"ml_home": 145,
"ml_away": -175,
"ml_home_prob": 0.40816328,
"ml_away_prob": 0.6363636,
"spread_home": 3,
"spread_home_odds": -102,
"spread_away": -3,
"spread_away_odds": -118,
"total": 46.5,
"total_over_odds": -110,
"total_under_odds": -110,
"captured_at": "2025-09-04T16:00:00.000Z"
},
"latest": {
"bookmaker": "betmgm",
"snapshot_type": "snapshot",
"source": "archive",
"ml_home": 140,
"ml_away": -165,
"ml_home_prob": 0.41666666,
"ml_away_prob": 0.6226415,
"spread_home": 3,
"spread_home_odds": 100,
"spread_away": -3,
"spread_away_odds": -110,
"total": 47.5,
"total_over_odds": -110,
"total_under_odds": -110,
"captured_at": "2025-09-05T21:54:48.000Z"
},
"closing": {
"bookmaker": "betmgm",
"snapshot_type": "closing",
"source": "archive",
"ml_home": 140,
"ml_away": -165,
"ml_home_prob": 0.41666666,
"ml_away_prob": 0.6226415,
"spread_home": 3,
"spread_home_odds": 100,
"spread_away": -3,
"spread_away_odds": -110,
"total": 47.5,
"total_over_odds": -110,
"total_under_odds": -110,
"captured_at": "2025-09-05T21:54:48.000Z"
}
}
],
"bookmaker_count": 8,
"count": 8
}Response fields
game_idstringhome_teamstringaway_teamstringkickoffstringconsensus_closingobjectconsensus_closing.spread_linenumberconsensus_closing.total_linenumberconsensus_closing.home_moneylinenumberconsensus_closing.away_moneylinenumberbooks[]array- List of objects
books[].bookmakerstringbooks[].openingobjectbooks[].opening.bookmakerstringbooks[].opening.snapshot_typestringbooks[].opening.sourcestringbooks[].opening.ml_homenumberbooks[].opening.ml_awaynumberbooks[].opening.ml_home_probnumberbooks[].opening.ml_away_probnumberbooks[].opening.spread_homenumberbooks[].opening.spread_home_oddsnumberbooks[].opening.spread_awaynumberbooks[].opening.spread_away_oddsnumberbooks[].opening.totalnumberbooks[].opening.total_over_oddsnumberbooks[].opening.total_under_oddsnumberbooks[].opening.captured_atstringbooks[].latestobjectbooks[].latest.bookmakerstringbooks[].latest.snapshot_typestringbooks[].latest.sourcestringbooks[].latest.ml_homenumberbooks[].latest.ml_awaynumberbooks[].latest.ml_home_probnumberbooks[].latest.ml_away_probnumberbooks[].latest.spread_homenumberbooks[].latest.spread_home_oddsnumberbooks[].latest.spread_awaynumberbooks[].latest.spread_away_oddsnumberbooks[].latest.totalnumber
Related endpoints
Takes the game_id this one returns.
Full game detail with team stats, starting QBs, odds, weather, and officials
Takes the game_id this one returns.
How one player's prop line moved before a game, every capture by sportsbook
Returns the team this one takes.
All 32 teams with conference, division, colours, and logos
Returns the game_id this one takes.
Upcoming games by week or for the next N days
Try it
500 free credits every month: 50 calls to get_odds, and no card.