UEFA Champions League odds API
Live UEFA Champions League odds from Bet365, Pinnacle, Betfair Exchange, Paddy Power and BetMGM UK, side by side. Every price below comes from the API, in the same JSON your code gets.
- 5
- Bookmakers
- 0
- Open matches
- 0
- Compared below
- -
- Lowest margin
TL;DR
View as Markdown- UEFA Champions League odds are in the API from 5 bookmakers: Bet365, Pinnacle, Betfair Exchange, Paddy Power and BetMGM UK, in one JSON schema.
- No UEFA Champions League matches are priced by two or more bookmakers right now.
- Get them as JSON: GET /v1/bet365/events?league_id=lg_99955, then GET /v1/bet365/events/{event_id}/odds. Each bookmaker has its own league id.
- 7-day free trial on every plan; every plan includes all five bookmakers.
No UEFA Champions League matches are priced by two or more bookmakers right now. Books open markets as fixtures are confirmed; this table fills in as they do.
One league, 5 names.
Bookmakers name and group leagues their own way, so each book has its own league id. Use the one for the book you're calling; markets, outcomes and lines come back in the same schema for all of them.
| Bookmaker | Name it sends | league_id |
|---|---|---|
| Bet365 | UEFA Champions League | lg_99955 |
| Pinnacle | UEFA - Champions League | lg_93048 |
| Betfair Exchange | UEFA Champions League | lg_59381 |
| Paddy Power | UEFA Champions League | lg_30215 |
| BetMGM UK | Champions League | lg_28468 |
UEFA Champions League odds in two requests.
List the league's upcoming and live matches, then pull the odds for each one. The response on the right is a real Bet365 board, trimmed to two markets.
Full API reference →curl "https://api.oddsapi.dev/v1/bet365/events?league_id=lg_99955" \
-H "Authorization: Bearer $ODDS_API_KEY"
curl "https://api.oddsapi.dev/v1/bet365/events/ev_…/odds?markets=match_result,total_goals" \
-H "Authorization: Bearer $ODDS_API_KEY"{
"data": {
"event_id": "ev_…",
"bookmaker": "bet365",
"type": "prematch",
"updated_at": "2026-11-04T05:19:23.728Z",
"markets": [
{
"key": "match_result",
"period": "full_time",
"outcomes": [
{
"key": "home",
"price": 2.1
},
{
"key": "draw",
"price": 3.4
},
{
"key": "away",
"price": 3.6
}
]
},
{
"key": "total_goals",
"period": "full_time",
"outcomes": [
{
"key": "over",
"line": 2.5,
"price": 1.9
},
{
"key": "under",
"line": 2.5,
"price": 1.9
}
]
}
]
}
}What the UEFA Champions League feed gives you
Europe's elite club competition: a 36-team league phase, a knockout play-off round, then two-legged ties to a one-off final.
For every match a book prices you get its whole board: match result, totals, both teams to score, Asian and European handicaps, correct score and, on the books that offer them, corners, cards and player props. Each board carries an updated_at timestamp, and the pre-match board stays available after kickoff as the closing line.
Common builds on UEFA Champions Leagueodds: odds comparison tables like the one above, value and arbitrage scanners, closing-line tracking for a model, and match previews that show the market's view.
Questions,
answered.
Everything you need to know before you pull your first odds. Still stuck? Talk to us.
Bet365, Pinnacle, Betfair Exchange, Paddy Power and BetMGM UK price the UEFA Champions League, all in the same JSON schema. Each book is its own endpoint: swap the bookmaker slug in the URL.
Each bookmaker has its own id, because books name and group leagues differently. Bet365: lg_99955, Pinnacle: lg_93048, Betfair Exchange: lg_59381, Paddy Power: lg_30215, BetMGM UK: lg_28468. You can also find it with GET /v1/{bookmaker}/leagues?search=uefa%20champions%20league.
List the league's matches with GET /v1/bet365/events?league_id=lg_99955, then call GET /v1/bet365/events/{event_id}/odds for each match. Add ?markets=match_result,total_goals to keep the response small, or leave it out for every market the book prices.
Yes. While a match is in play, GET /v1/{bookmaker}/events/{event_id}/odds/live returns the in-play board. The pre-match board stays available after kickoff, so you can keep the closing line.
Yes. Every plan starts with a 7-day free trial with 10% of the plan's monthly requests at the full rate limit, and every plan includes all bookmakers.
Your first odds snapshot is five minutes away.
No sales call. Start a 7-day free trial, create a key and pull live odds over REST right away.
7-day free trial · cancel anytime