bet365 odds for every sport
24 sports in one API. Pre-match and in-play, exclusively bet365 odds.
Overview
MoviOdds serves bet365's own prices for every sport below, from the same endpoints and in the same shape as soccer. Every market bet365 prices for a match is returned. The table lists each sport's API key, its main markets and how its live prices reach you.
All sports
| Sport | Key | Main markets |
|---|---|---|
| Soccer | soccer | Full Time Result (group 40 before kickoff, 1777 in play), goal lines, Asian handicaps, corners, cards, correct score, goalscorers, player shots. Full list. |
| Tennis | tennis | To Win Match (83 before the match, 67 in play), set betting, game handicaps, total games, tie-breaks. |
| Basketball | basketball | Game: Line, Total and To Win (1453 before tip-off, 112 in play), halves, quarters, team totals, player props. |
| American football | american_football | Game: Line, Total and To Win (1441 before kickoff, 58 in play), halves, quarters. NFL, college football, CFL. |
| Ice hockey | ice_hockey | Game: Puck Line, Total and To Win (972 before the game, 96 in play), 3-way result, periods. |
| Baseball | baseball | Game: Run Line, Total and To Win (1096). MLB, NPB, KBO. |
| Rugby union | rugby_union | Game: Line, Total and To Win, 3-way result (incl. tie), halves. |
| Rugby league | rugby_league | Game: Line, Total and To Win, 3-way result (incl. tie), margins. |
| Cricket | cricket | To Win the Match (1246 before the match, 30154 in play), innings runs, top batter, method of dismissal. |
| Australian rules | australian_rules | Game: Line and To Win. |
| Table tennis | table_tennis | To Win Match, game handicap, total points, per-game markets. |
| Volleyball | volleyball | Winner, set handicap, total points. |
| Handball | handball | To Win (2-way) and 3-way result with draw, handicap, totals. |
| Badminton | badminton | Match winner, game handicaps. |
| Esports | esports | Match Lines: To Win, map handicap, total maps. CS2, Dota 2, League of Legends, Valorant, Rainbow Six. |
| Boxing | boxing | To Win Fight. Method of victory, total rounds, fight to go the distance and 5-way outcome (incl. draw) are served when bet365 prices them, which is typically featured bouts near fight night; most undercard bouts list To Win only until closer to the card. |
| MMA | mma | Fight Lines: To Win, spread, total. Method of victory where bet365 prices it (UFC and major cards); regional cards often list Fight Lines only. |
| Darts | darts | Match winner, handicaps. |
| Snooker | snooker | Match winner, match line (handicap), total frames, correct score, race to frames, match and player centuries, first frame and first session winner, where bet365 prices them. |
| Futsal | futsal | To Win (2-way), line handicap and totals. bet365 lists a separate 3-way (incl. draw) grid that is usually unpriced through the feed, so the draw is not served. |
| Bandy | bandy | Line, Total and To Win. |
| Floorball | floorball | Line, Total, To Win and 3-way result with draw. |
| Field hockey | field_hockey | 3-way result (home, draw, away), line, game totals. |
| Gaelic games | gaelic_sports | To Win and handicap line. The 3-way result (incl. tie) is served only where bet365 prices its 3-way grid for the round; many rounds list the 2-way grid only. |
Market names are exactly as bet365 shows them. In grid markets (Line, Total, To Win) each price carries the team in side and the market in line. Table tennis, volleyball and badminton Race to, Lead After and Odd/Even cells carry their target in line instead, like "5", "10 Points" or "Set 2".
Racing
Horse, harness and greyhound racing is a separate product from the match sports above. A race is not a head-to-head, so it has its own endpoints and its own shape (one race, many priced runners) rather than /odds. There are three codes:
| Code | Key | What it covers |
|---|---|---|
| Horse racing | horse | Thoroughbred and North American thoroughbred. Fixed Win and Fixed Place prices, each-way terms, and, on the detailed card, barrier/draw, weight, jockey, trainer, age, colour/sex, form and career stats. |
| Harness | harness | Trots and pacers. The driver is in jockey; the detailed card adds the real race name and the start type (Mobile or Standing). |
| Greyhound | greyhound | Box racing. Runners are keyed by box number and carry no jockey (jockey is null). |
Three endpoints serve racing:
GET /racing?code=horse|harness|greyhound|allreturns the board: meetings, races and runners with the Fixed Win price. Addmeeting=<id>to narrow to one track (it narrows the meetings list in step with the races) ornear=<N>for the next N races by jump time.GET /racing/race?id=<race_id>returns one race card.GET /racing/results?code=&date=YYYYMMDDreturns resulted races: final placings, starting prices, the favourite tag and exotic dividends.
Each race carries a lifecycle status: open (pre-jump, priced), suspended (pre-jump, all runners suspended), off (jumped, win market closed), running (jumped, fixed-odds in-running betting still moving), result_interim (placings in, dividends not yet declared), result_final (dividends declared) and abandoned. An in_play boolean is true while a race is off or running. Each response carries server_time and each race an updated_at.
Racing is REST-polled, not pushed over the public WebSocket. The /ws feed carries the match sports; for racing, poll /racing (prices there are last-good, updated as bet365 moves them). Decimal odds are rounded to two places; the fractional form (win_frac) is exact. A value that is genuinely unknown is null with a stable key, never a sentinel (an unpriced runner has win_odds: null, a greyhound has jockey: null).
Motor sports
Formula 1 is on /outrights with the drivers and constructors championship markets. Other motor series like MotoGP NASCAR or Supercars aren't covered right now
curl "https://moviodds.com/outrights?sport=formula1"
Choosing a sport
Soccer is the default. Add sport with a key from the table, or all for every sport at once:
curl --compressed "https://moviodds.com/odds?sport=tennis" curl --compressed "https://moviodds.com/odds?sport=basketball&in_play=1" curl --compressed "https://moviodds.com/odds?sport=all"
Every match carries its own sport field, so a mixed board stays easy to split. See the API docs for loading the board and streaming changes.
History, results and futures
Beyond live and pre-match odds, every sport also has:
- Price history and closing lines:
/history?fi=<match>returns every recorded price move;/closing?fi=<match>each selection's last price before kickoff and its final price. - Results:
/results?sport=<key>lists finished matches with the final score and, where the sport has them, half, quarter, period or set scores. - Futures:
/outrights?sport=<key>for soccer, American football, basketball, ice hockey, baseball, rugby union, rugby league, Australian rules, golf and cycling (season winners, conferences, MVPs), plus the Formula 1 championships. - Racing: horse, harness and greyhound racing has its own
/racingendpoints, separate from the match sports. - Live match stats: add
stats=1to/oddsand live matches come with their stats, xG possession and shots in soccer, quarter scores in basketball, aces and breaks in tennis. Soccer, basketball, tennis, ice hockey, American football, rugby union, baseball, darts, volleyball, esoccer, ebasketball, CS2 and VALORANT have them./results?stats=1gives the full time stats, the fields are in the API docs and there's an overview on the match stats page - bet365 links:
/odds?links=1adds each match's bet365 page.
Request and response formats are in the API docs.