get_odds
5 creditsStats + aggregationPOST /v1/get_odds
Each sportsbook's opening and closing moneylines for a match or a whole tournament, with the games handicap and total
Use it when you want each sportsbook's opening and closing moneylines for a match or a whole tournament, with the games handicap and total where posted.
Parameters
match_idstringoptional- One match.
tournament_idstringoptional- Every match of a tournament edition, e.g. "188-2025".
leagueenum: tennis | wtaoptional- League. Defaults to tennis. One of: tennis, wta.
Notes
- Over MCP, ask for it in plain English and the client calls
get_oddsitself. Point any MCP client athttps://mcp.acesapi.com/mcp?key=YOUR_API_KEY. - Each call costs 5 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.acesapi.com/v1/get_odds \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"match_id": "155532"
}'Response
json
{
"tour": "ATP",
"matches": [
{
"match_id": "155532",
"tournament_id": "413-2025",
"tournament": "Mutua Madrid Open",
"season": 2025,
"surface": "clay",
"indoor": false,
"starts_at": "2025-04-25T10:30:00.000Z",
"match_date": "2025-04-25",
"draw": "main",
"round": "Round 2",
"round_order": 12,
"court": "Arantxa Sanchez Stadium",
"player1_id": "2383",
"player1": "Daniil Medvedev",
"player1_country": "RUS",
"seed1": 9,
"player2_id": "2365",
"player2": "Laslo Djere",
"player2_country": "SER",
"seed2": null,
"winner_id": "2383",
"status": "final",
"outcome": "walkover",
"score": "w/o",
"sets1": null,
"sets2": null,
"games1": null,
"games2": null,
"books": [
{
"source": "archive",
"book_key": "sport888",
"book": "888sport",
"p1_open": -188,
"p1_close": -150,
"p2_open": 150,
"p2_close": 120,
"games_spread1": null,
"games_total": null,
"captured_at": "2025-04-25T09:05:39Z"
},
{
"source": "archive",
"book_key": "betfair_ex_eu",
"book": "Betfair Exchange",
"p1_open": -204,
"p1_close": -149,
"p2_open": 134,
"p2_close": 146,
"games_spread1": null,
"games_total": null,
"captured_at": "2025-04-25T10:20:39Z"
},
{
"source": "archive",
"book_key": "draftkings",
"book": "DraftKings",
"p1_open": -215,
"p1_close": -150,
"p2_open": 160,
"p2_close": 120,
"games_spread1": null,
"games_total": null,
"captured_at": "2025-04-25T09:05:39Z"
}
]
}
],
"count": 1
}Response fields
tourstringmatches[]array- List of objects
matches[].match_idstringmatches[].tournament_idstringmatches[].tournamentstringmatches[].seasonnumbermatches[].surfacestringmatches[].indoorbooleanmatches[].starts_atstringmatches[].match_datestringmatches[].drawstringmatches[].roundstringmatches[].round_ordernumbermatches[].courtstringmatches[].player1_idstringmatches[].player1stringmatches[].player1_countrystringmatches[].seed1numbermatches[].player2_idstringmatches[].player2stringmatches[].player2_countrystringmatches[].seed2nullmatches[].winner_idstringmatches[].statusstringmatches[].outcomestringmatches[].scorestringmatches[].sets1nullmatches[].sets2nullmatches[].games1nullmatches[].games2nullmatches[].books[]array- List of objects
matches[].books[].sourcestringmatches[].books[].book_keystringmatches[].books[].bookstringmatches[].books[].p1_opennumbermatches[].books[].p1_closenumbermatches[].books[].p2_opennumbermatches[].books[].p2_closenumbermatches[].books[].games_spread1nullmatches[].books[].games_totalnull
Related endpoints
list_tournaments1 cr
Filters by the same league.
A season's tournaments with dates, surface, status and champion
search_players1 cr
Filters by the same league.
Find players by name or country
get_tournament2 cr
Filters by the same tournament_id and league.
A tournament's draw and results, round by round, with every set
get_matches2 cr
Filters by the same tournament_id and league.
Match results by day, tournament or season, with set and tiebreak scores
Try it
500 free credits every month: 100 calls to get_odds, and no card.