BetDeluxe odds API
BetDeluxe prices as structured JSON through one REST API.
BetDeluxe is a sportsbook with the bookmaker key betdeluxe. SockOdds is independent and is not affiliated with or endorsed by BetDeluxe.
Leagues
BetDeluxe prices are delivered for 12 leagues as of 30 October 2026: Bundesliga, UEFA Champions League, English Premier League, La Liga, Ligue 1, MLS, NBA, NBL, NFL, Rugby League World Cup, Rugby League World Cup Women's and Serie A.
Request BetDeluxe prices
Filter any odds request to BetDeluxe with bookmakers=betdeluxe:
curl -sS "https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=betdeluxe&markets=result&limit=1&starts_after=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-H "Authorization: Bearer $SOCKODDS_API_KEY"const response = await fetch(`https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=betdeluxe&markets=result&limit=1&starts_after=${new Date().toISOString().slice(0, 19)}Z`, {
headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));import json, os, urllib.request
from datetime import datetime, timezone
request = urllib.request.Request(
f"https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=betdeluxe&markets=result&limit=1&starts_after={datetime.now(timezone.utc):%Y-%m-%dT%H:%M:%SZ}",
headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
print(json.dumps(json.load(response), indent=2))Response from a local copy of the API with invented test prices
{
"data": [
{
"id": "ev_000ckk0p5g0q",
"name": "Bayer Leverkusen v Bayern Munich",
"league": {
"key": "bundesliga",
"name": "Bundesliga"
},
"scheduled_start": "2026-10-16T10:00:00.000Z",
"status": "scheduled",
"participants": [
{
"role": "away",
"identity": {
"key": "bayern_munich",
"name": "Bayern Munich"
}
},
{
"role": "home",
"identity": {
"key": "bayer_leverkusen",
"name": "Bayer Leverkusen"
}
}
],
"markets": [
{
"id": "mk_fne819xs8y097ry5",
"key": "result",
"name": "Result (with the draw)",
"period": "full",
"subject": null,
"alternate": false,
"outcomes": [
{
"id": "oc_g9cjjvqbn1n8cp07",
"name": "Bayer Leverkusen",
"side": "home",
"line": null,
"prices": [
{
"bookmaker": "betdeluxe",
"decimal_odds": 2.15,
"implied_probability": 0.465116,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_abjp6a60kvcjf2n4",
"name": "Draw",
"side": "draw",
"line": null,
"prices": [
{
"bookmaker": "betdeluxe",
"decimal_odds": 3.57,
"implied_probability": 0.280112,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_8xmzbcrrp04ah7m0",
"name": "Bayern Munich",
"side": "away",
"line": null,
"prices": [
{
"bookmaker": "betdeluxe",
"decimal_odds": 3.78,
"implied_probability": 0.26455,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
}
]
}
]
}
],
"meta": {
"count": 1,
"cursor": null
},
"links": {
"next": null
}
}Plans
BetDeluxe is included on Pro. See pricing for the bookmakers each plan includes.