Odds
Run live query scans and compare best arbitrage, bonus bet, if-win, playthrough, no-sweat, and profit-boost opportunities.
Results
No rows yet. Run a query to populate this table.
Compare Odds By Event
* Stake Basis shows which precomputed stake tier was used to get the displayed effective odds. Blank means a standard sportsbook (house line, not exchange liquidity-based). A positive value means exchange-style effective odds at that stake tier. This compare view keeps the best row per identical option, subject to the entered minimum stake basis, with basis 0 and 1000 always allowed.
How Odds Are Scraped
The odds shown on this page focus primarily on core betting markets: moneyline, spread, and total.
Data quality note: odds are collected directly from the sportsbooks and exchanges themselves, either through public APIs, websocket feeds, or browser-based scraping where required. No third-party odds feed is used.
Odds are refreshed on a rolling scraping cycle. In a typical worst-case scenario, displayed prices for a particular sportsbook may be a little more than two minutes old. The only exception is Crab Sports which had anti-bot rejections if scraped too quickly, thus leading me to institute it a unique 5 minute cadence.
This tool is designed primarily for pre-match odds comparison and market analysis. It is not intended for live betting, where prices can change rapidly and may move multiple times between refresh cycles.
For traditional state-regulated sportsbooks, mainline markets are generally very similar across jurisdictions, although minor differences do occur. For books operating in multiple states, New Jersey odds are used whenever available because New Jersey is one of the largest and most widely supported sportsbook markets in the United States. Operators available only in specific states use odds from their respective jurisdictions.
I have tried to cover essentially every major sports league where a tie outcome is not possible, with one notable exception: UFC. UFC fights can technically end in a draw, but the sport is simply too popular in the United States to ignore. In general, leagues where ties are possible are less attractive for arbitrage and promotional betting because ties often result in pushes, and in sports such as soccer they require hedge calculations to account for an additional outcome. Combined with sportsbook vig, that extra outcome can significantly reduce profitability.
For that reason, I currently focus on the four major U.S. sports leagues (NFL, NBA, MLB, and NHL), along with the WNBA. Tennis coverage includes ATP and WTA singles and doubles events across all major tournaments, as well as lower-level circuits such as ATP Challenger and WTA 125 events. Popular college sports are also included, most notably men's and women's NCAA basketball, NCAA baseball, and NCAA football.
Some leagues that could easily be added are not currently scraped because ties are part of the normal ruleset. For example, many sportsbooks offer markets on Japan's NPB and South Korea's KBO, but games in those leagues can officially end in ties. That does not make them unusable, but it does make them less suitable for the primary use cases this tool is designed around.
Player props are not currently included for both strategic and technical reasons. From an arbitrage and promotional betting perspective, most player props are relatively uninteresting because both sides are often priced near -110. The most valuable prop opportunities tend to involve long-shot outcomes, such as a player scoring a touchdown, recording a triple-double, or achieving another milestone where large favorites and underdogs exist. While many sportsbooks offer these markets, only a relatively small number of operators offer a practical way to bet the opposite side, making true hedging opportunities less common than many people expect.
The larger constraint is technical. For most sportsbooks, a single league-page request can return all games in that league along with the major moneyline, spread, and total markets. Player props usually require drilling into each individual game and making additional requests to retrieve the underlying markets. I know how to do this, but doing it across every game, league, and sportsbook would substantially increase scraping time and server load. Since the entire platform currently runs on a modest server budget of roughly $25 per month, I prioritize broad market coverage and fast refresh rates over exhaustive player-prop coverage.
I am also happy to expand league coverage over time. As additional demand arises and different sports come into season, likely future additions include popular European basketball and hockey leagues, along with other competitions that fit well within the framework of this tool. Practically all of the work has already been done to get the scraper to where it is now so adding any league to the rotation is actually quite easy.
What if the tool shows a large arbitrage opportunity?
Treat unusually large arbitrage results with skepticism. As a rule of thumb, if the displayed ROI is greater than 0.10, I would be very cautious before assuming the opportunity is actually actionable.
Large apparent edges can come from markets tied to cancelled, postponed, or otherwise unusual events, especially in the contract cancellation scenarios discussed below. They can also come from a data issue, such as a stale line, a misparsed market, or two books being mapped to the wrong event. I am very conservative and remove markets whenever I think there is a meaningful chance the price is wrong, but no automated odds system is perfect.
Genuine large arbitrage opportunities do sometimes exist, especially when a market first opens or when books briefly disagree after news. However, if you are finding one through this page, you are probably not early enough to rely on capturing it before the market moves.
Small arbitrage opportunities are different. If you query broadly without many filters, ROIs around 0.01 are common and should not be surprising. Those small edges are much more likely to remain available long enough to evaluate carefully.
Query Filters & Risk Controls
Include Live Events
By default, live events are excluded. Live markets can move very quickly, and a price displayed here may no longer be available by the time a wager is placed. This setting can be useful for broader market monitoring, but users should treat live-event results cautiously because odds may change multiple times within a matter of seconds. One exception is delayed or suspended events, such as rain-delayed baseball games; these may be marked as live even though odds are effectively stagnant while play is paused, so excluding live events can occasionally remove a useful market from the query.
Remove Push Possible Markets
This filter removes spread and total markets only when the line is an integer and therefore can push. For example, totals such as 210 or spreads such as -2 are removed, while half-point lines such as 210.5 or -2.5 remain eligible.
UFC events are also removed by this filter as historically roughly 2% of fights end in a draw. Excluding these events helps keep comparisons more consistent across operators and ensure no pushes. Additionally, for bonus bets, depending on the sportsbook, a moneyline wager on a tie can lead to the bonus bet stake not being returned. As such, wagering on UFC should be done exclusively for playthrough reasons rather than as part of promotional betting in order to eliminate all potential risk.
Remove Contract Cancellation-Prone Markets
This filter removes selected Kalshi and Polymarket markets whose cancellation rules differ materially from traditional sportsbook settlement. Most sportsbooks generally void or refund wagers when an event is cancelled or cannot be completed under the operator's rules. Prediction exchanges may instead settle the contract under market-specific rules, which can create gains or losses in situations that would usually result in a push or refund at a sportsbook.
Tennis matches on Kalshi and Polymarket are the primary example. If a tennis match is cancelled before the first ball is played, traditional sportsbooks generally void wagers. Polymarket tennis contracts instead resolve 50-50 under their market rules, while Kalshi resolve at a stated fair market price rather than voiding the contract. There are two clear giveaways to identify markets like these to ignore when you run the best market queries above and do not check off this box. If a side of the exchange has odd -103 and there is extreme arbitrage available, this is smoking gun giveaway. On a sportsbook they may just be behind on removing the event while on Polymmarket for example, someone who places a limit order as high as 50¢ will make a profit as market makers are rewarded on that platform. Hence as soon a that trader hears the news, limit orders will fly in on both sides.
Regular season MLB games on Kalshi and Polymarket are also included in this filter. If a game is postponed by rain and rescheduled well beyond the original date, these exchange contracts may have a different payout structure than a standard sportsbook wager. MLB playoff games are not treated the same way because postseason games are typically rescheduled as soon as possible and must be completed for the tournament to continue.
I have also seen Sportzino briefly adjust certain delayed or likely-cancelled markets toward more of a 50-50 price, similar to what can happen on Polymarket, before removing the event entirely -- unlike Polymarket, the social sportsbook Sportzino would just push your wager and you would be no worse off, even if you had used some sort of promotion. In those cases, an arbitrage opportunity may look far too good to be real and you would be right, but do not think that means this scraper is not a trustworthy source.