Sports Guides
Boxing
Live Boxing odds across 4 bookmakers, normalised to American prices with per-book freshness.
Bovada lists the moneyline as *To Win the Bout*; we normalise it to moneyline.
Sources
Bovada, Pinnacle, Unibet, BetRivers. Every response lists each source with its own last_update and a stale flag, so you can drop a book that has fallen behind.
Request
cURL
curl "https://api.openoddsapi.com/v1/sports/boxing/odds" \
-H "X-API-Key: $OPENODDSAPI_KEY"JavaScript
const res = await fetch(
"https://api.openoddsapi.com/v1/sports/boxing/odds",
{ headers: { "X-API-Key": process.env.OPENODDSAPI_KEY } }
);
const { bouts } = await res.json();Python
import os, requests
r = requests.get(
"https://api.openoddsapi.com/v1/sports/boxing/odds",
headers={"X-API-Key": os.environ["OPENODDSAPI_KEY"]},
)
bouts = r.json()["bouts"]Response
JSON
{
"sport": "boxing",
"title": "Boxing",
"generated_at": "2026-08-09T23:21:34.840Z",
"sources": [
{
"book": "bovada",
"name": "Bovada",
"last_update": "2026-08-09T23:21:34.583Z",
"stale": false,
"latency_ms": 32
},
{
"book": "pinnacle",
"name": "Pinnacle",
"last_update": "2026-08-09T23:21:24.033Z",
"stale": false,
"latency_ms": 27
},
{
"book": "unibet",
"name": "Unibet",
"last_update": "2026-08-09T23:21:23.974Z",
"stale": false,
"latency_ms": 129
}
],
"bout_count": 62,
"bouts": [
{
"home": "Ryan Garcia",
"away": "Conor Benn",
"commence_time": "2026-09-13T03:00:00.000Z",
"books": [
{
"book": "bovada",
"last_update": "2026-08-09T23:21:34.583Z",
"outcomes": [
{
"name": "Ryan Garcia",
"price": -400
},
{
"name": "Conor Benn",
"price": 300
}
]
},
{
"book": "unibet",
"last_update": "2026-08-09T23:21:23.974Z",
"outcomes": [
{
"name": "Ryan Garcia",
"price": -420
},
{
"name": "X",
"price": 1800
}
]
},
{
"book": "betrivers",
"last_update": "2026-08-09T23:20:38.680Z",
"outcomes": [
{
"name": "Ryan Garcia",
"price": -455
},
{
"name": "Conor Benn",
"price": 310
}
]
}
]
}
]
}NOTEExamples are real responses, trimmed to a few sources and one event. Field sports show only the first few players.