Betting oddsEndpoint 108 of 116
Winning odds
https://api.datasportsapi.com/
- Plan
- Pro + Business
- Auth
Bearer dsa_live_…- Parameters
- 1 required · 0 optional
- Returns
WinningOdds
Winning odds set each side’s win price against two figures: the probability that price implies, and how often sides priced that way have really won. The numbers are our data source’s own and give a fast sense of whether the market is underrating or overrating a side. Available on Pro and Business plans.
Plan access
Requires a Pro or Business plan; every other plan receives 403 endpoint_not_in_plan.
Worth knowing
- expectedWinPercentage is the probability implied by the price — roughly 100 / decimal, rounded, with the bookmaker’s margin still included.
- actualWinPercentage is the share of sides at that price that went on to win, according to our data source, which does not disclose the sample or the time span behind it.
- Which pre-match price is used is the source’s choice, and it can match none of the opening or current prices in /v2/fixtures/{id}/odds.
- Only the two sides are compared, so no draw entry exists.
- Where the source lacks figures for a side, that side is null (sometimes only one side is covered); for fixtures the source does not cover at all — most minor leagues, doubles, matches far in the future — both sides, bookmaker and updatedAt are null.
- Refreshed at the same rate as the odds: about every 30 seconds in play.
01Parameters
idpathRequiredfixture id issued by DataSportsAPI, a positive integer
02Request
The same call from the command line and each SDK. The SDK lines assume a client created with your key; left out, it is read from DATASPORTSAPI_API_KEY. Installing a client: SDKs & CLI.
curl -H "Authorization: Bearer dsa_live_…" \
"https://api.datasportsapi.com/v2/fixtures/{id}/odds/winning"03Response
The top-level keys of the JSON body. Each object links to its full shape in the data reference.
dataWinningOdds
{ "data": { "fixtureId": 701230, "bookmaker": { "id": 1, "name": "bet365" }, "updatedAt": "2026-11-06T01:20:00.000Z",
"home": { "fractional": "33/20", "decimal": 2.65, "expectedWinPercentage": 38, "actualWinPercentage": 38 },
"away": { "fractional": "157/100", "decimal": 2.57, "expectedWinPercentage": 39, "actualWinPercentage": 47 } } }04Errors
- 403
endpoint_not_in_planreturned to keys on the Free and Starter plans
- 403
history_not_in_planthe fixture predates the history your plan covers
- 404
not_foundDataSportsAPI never issued this id
unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code