get_market_odds
10 creditsStats + aggregationPOST /v1/get_market_odds
Opening and closing lines by sportsbook for the half and quarter markets (history from May 2023)
Use it when you need a game's half or quarter lines as history: each sportsbook's opening and closing 1st half or 1st quarter winner, spread or total, or the 2nd to 4th quarter totals.
Parameters
game_idstringrequired- Game id from list_games or get_schedule.
marketenum: h2h_h1 | spreads_h1 | totals_h1 | h2h_q1 | spreads_q1 | totals_q1 | totals_q2 | totals_q3 | totals_q4required- The market: h2h_h1 (1st half winner), spreads_h1 (1st half point spread), totals_h1 (1st half total points), h2h_q1 (1st quarter winner), spreads_q1 (1st quarter point spread), totals_q1 (1st quarter total points), totals_q2 (2nd quarter total points), totals_q3 (3rd quarter total points), totals_q4 (4th quarter total points)
bookmakerstringoptional- One bookmaker key, e.g. draftkings, fanduel, pinnacle.
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_market_oddsitself. Point any MCP client athttps://mcp.dunkapi.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.dunkapi.com/v1/get_market_odds \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"game_id": "401705084",
"market": "totals_h1"
}'Response
json
{
"game_id": "401705084",
"market": "totals_h1",
"label": "1st half total points",
"scheduled_start": "2025-01-10T00:00:00.000Z",
"books": [
{
"bookmaker": "betmgm",
"opening": [
{
"outcome": "Over",
"point": 107.5,
"price": -110
},
{
"outcome": "Under",
"point": 107.5,
"price": -110
}
],
"opening_captured_at": "2025-01-09T23:35:38.000Z",
"closing": [
{
"outcome": "Over",
"point": 107.5,
"price": -110
},
{
"outcome": "Under",
"point": 107.5,
"price": -110
}
],
"closing_captured_at": "2025-01-09T23:35:38.000Z",
"minutes_before_start": 24.4
},
{
"bookmaker": "betonlineag",
"opening": [
{
"outcome": "Over",
"point": 108,
"price": -103
},
{
"outcome": "Under",
"point": 108,
"price": -117
}
],
"opening_captured_at": "2025-01-09T23:35:38.000Z",
"closing": [
{
"outcome": "Over",
"point": 108,
"price": -103
},
{
"outcome": "Under",
"point": 108,
"price": -117
}
],
"closing_captured_at": "2025-01-09T23:35:38.000Z",
"minutes_before_start": 24.4
},
{
"bookmaker": "bovada",
"opening": [
{
"outcome": "Over",
"point": 107.5,
"price": -110
},
{
"outcome": "Under",
"point": 107.5,
"price": -110
}
],
"opening_captured_at": "2025-01-09T23:35:38.000Z",
"closing": [
{
"outcome": "Over",
"point": 107.5,
"price": -110
},
{
"outcome": "Under",
"point": 107.5,
"price": -110
}
],
"closing_captured_at": "2025-01-09T23:35:38.000Z",
"minutes_before_start": 24.4
}
],
"count": 7
}Response fields
game_idstringmarketstringlabelstringscheduled_startstringbooks[]array- List of objects
books[].bookmakerstringbooks[].opening[]array- List of objects
books[].opening[].outcomestringbooks[].opening[].pointnumberbooks[].opening[].pricenumberbooks[].opening_captured_atstringbooks[].closing[]array- List of objects
books[].closing[].outcomestringbooks[].closing[].pointnumberbooks[].closing[].pricenumberbooks[].closing_captured_atstringbooks[].minutes_before_startnumbercountnumber
Related endpoints
list_games2 cr
Returns the game_id this one takes.
Games with scores by season, date, range or team
get_schedule2 cr
Returns the game_id this one takes.
Upcoming games with the median line across sportsbooks
get_game5 cr
Takes the game_id this one returns.
One game: both box scores, every player's line, each book's line, win probability
get_line_movement10 cr
Takes the game_id this one returns.
Snapshots of each sportsbook's line before tip-off
Try it
500 free credits every month: 50 calls to get_market_odds, and no card.