live-sportsbook-arbitrage
Live sportsbook arbitrage tool with research-backed betting strategy (Ontario focused)
A research dataset and live browser overlay that finds sports betting arbitrage opportunities across Ontario sportsbooks, with a Python analysis of 6.5 million historical odds rows identifying tennis as the most volatile sport.
This repository is a two-part project focused on arbitrage in live sports betting, built and tested against Ontario sportsbooks. Arbitrage in this context means placing bets on both sides of the same outcome across two different bookmakers when their combined implied probabilities add up to less than 100%, locking in a small guaranteed profit regardless of the result.
The first part is a research project. The author collected 6.5 million rows of historical odds data across 6 sports (soccer, basketball, tennis, baseball, ice hockey, and MMA) from 7 Ontario sportsbooks over a 3-month period using a historical odds API. The analysis looked at which sports, which book pairs, and which timing windows (before a match vs during it) produced the most arbitrage opportunities.
The main finding was that tennis has by far the most volatile odds of any sport in the dataset, with line moves averaging about 26 odds points per change compared to roughly 8 for basketball. The research also found that live in-game movement is about 3.8 times larger per event than pre-game movement. Tennis played live was the clearest target.
The second part is the practical tool: a browser overlay, described as a Chrome extension or overlay, that reads live odds directly from open sportsbook tabs. When a discrepancy appears between two books in real time, the tool tells the user exactly how much to bet on each side and where, so the window can be acted on before the slower book reprices.
The project is focused on Ontario, Canada, where specific sportsbooks operate legally. The code is written in Python for the data collection and analysis side. The tool itself reads from browser tabs rather than APIs, which means it works on current live odds without needing a paid data feed during actual play.
Where it fits
- Use the browser overlay to get real-time arbitrage alerts and exact stake amounts across two Ontario sportsbooks during a live tennis match.
- Analyze 6.5 million historical odds rows from 7 Ontario bookmakers to find which sport and book pairings produce the most opportunities.
- Extend the data collection layer to add new sportsbooks or sports beyond the six in the existing dataset.
- Use the stake calculator output to place both sides of an arbitrage bet before the slower book reprices.