UEFA Champions League odds API
UEFA Champions League prices, markets and identifiers through one REST API.
The UEFA Champions League has the league key champions_league in the SockOdds API. It is a soccer league based in Europe (sport key soccer). Its events have a home and an away team.
Request UEFA Champions League odds
Current prices for the next UEFA Champions League game, one market, from every bookmaker your plan includes:
curl -sS "https://api.sockodds.com/v1/odds?league=champions_league&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=champions_league&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=champions_league&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_000ckk0smee8",
"name": "AEK Athens v Arsenal",
"league": {
"key": "champions_league",
"name": "UEFA Champions League"
},
"scheduled_start": "2026-10-16T11:00:00.000Z",
"status": "scheduled",
"participants": [
{
"role": "away",
"identity": {
"key": "arsenal",
"name": "Arsenal"
}
},
{
"role": "home",
"identity": {
"key": "aek_athens",
"name": "AEK Athens"
}
}
],
"markets": [
{
"id": "mk_vjvmez58jfetd1be",
"key": "result",
"name": "Result (with the draw)",
"period": "full",
"subject": null,
"alternate": false,
"outcomes": [
{
"id": "oc_75k6atpa3cjb6f74",
"name": "AEK Athens",
"side": "home",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 2.11,
"implied_probability": 0.473934,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "betfair_exchange",
"decimal_odds": 2.05,
"implied_probability": 0.487805,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "matchbook",
"decimal_odds": 2.01,
"implied_probability": 0.497512,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_x3qrjm8h7jjzfsrc",
"name": "Draw",
"side": "draw",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 3.5,
"implied_probability": 0.285714,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "betfair_exchange",
"decimal_odds": 3.4,
"implied_probability": 0.294118,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "matchbook",
"decimal_odds": 3.33,
"implied_probability": 0.3003,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_h4xvrq67kdmrm180",
"name": "Arsenal",
"side": "away",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 3.71,
"implied_probability": 0.269542,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "betfair_exchange",
"decimal_odds": 3.6,
"implied_probability": 0.277778,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
},
{
"bookmaker": "matchbook",
"decimal_odds": 3.53,
"implied_probability": 0.283286,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
}
]
}
]
}
],
"meta": {
"count": 1,
"cursor": null
},
"links": {
"next": null
}
}Prices are decimal and exactly as each bookmaker showed them, with the time we saw them. A price older than ten minutes is withheld rather than shown as current.
Bookmakers
5 bookmakers deliver UEFA Champions League prices through v1 as of 15 October 2026: Betfair Exchange, Pinnacle, Matchbook, BetDeluxe and Picklebet.
UEFA Champions League markets
25 market types are defined for the UEFA Champions League. Ask for any of them with markets=; a bookmaker quotes the markets it offers for each game.
Game markets
| Market | Key | Sides | Line | Periods |
|---|---|---|---|---|
| Either of two results | result_pair | home_or_draw, away_or_draw, either_team | No | full, regulation, half_1, half_2 |
| Total goals odd/even | total_goals_odd_even | odd, even | No | full, regulation, half_1, half_2 |
| Total corners odd/even | total_corners_odd_even | odd, even | No | full |
| Exact score | result_exact_score | Each exact score | No | full, regulation, half_1, half_2 |
| Result (with the draw) | result | home, draw, away | No | full, regulation, half_1, half_2 |
| Both teams to score | both_teams_to_score | yes, no | No | full, half_1, half_2 |
| Result (draw no bet) | result_draw_no_bet | home, away | No | full, half_1 |
| Handicap | handicap | home, away, competitor_1, competitor_2 | Yes | full, half_1, half_2 |
| Total goals | total_goals | over, under | Yes | full, regulation, half_1, half_2 |
| Total corners | total_corners | over, under | Yes | full, half_1 |
| Total cards | total_cards | over, under | Yes | full |
Team markets
| Market | Key | Sides | Line | Periods |
|---|---|---|---|---|
| Team goals odd/even | team_goals_odd_even | odd, even | No | full, half_1, half_2 |
| Team corners odd/even | team_corners_odd_even | odd, even | No | full |
| Team goals over/under | team_goals_over_under | over, under | Yes | full, half_1, half_2 |
| Team corners over/under | team_corners_over_under | over, under | Yes | full |
Player markets
| Market | Key | Sides | Line | Periods |
|---|---|---|---|---|
| Anytime goal scorer | player_goals_anytime | yes | No | full |
| First goal scorer | player_goals_first | Each competitor | No | full |
| Last goal scorer | player_goals_last | Each competitor | No | full |
| Player goals over/under | player_goals_over_under | over, under | Yes | full |
| Player tackles over/under | player_tackles_over_under | over, under | Yes | full |
| Player shots over/under | player_shots_over_under | over, under | Yes | full |
| Player shots on target over/under | player_shots_on_target_over_under | over, under | Yes | full |
| Anytime assist | player_assists_anytime | yes | No | full |
| To be carded | player_cards_anytime | yes | No | full |
| Player saves over/under | player_saves_over_under | over, under | Yes | full |
Periods
full (Full match), regulation (Regulation time), half_1 (First half) and half_2 (Second half).
Plans
The UEFA Champions League is included on Rookie and Pro. Pro adds recorded price history, from 30 August 2026. See pricing.