Choose your sport
Games
Sportsbook odds board
Not connectedCompare actual available US sportsbook odds for today's and upcoming games. In-play prices appear when bookmakers offer them; markets may be suspended or unavailable. Refresh on demand to protect your API credits. No bets are placed.
Source: The Odds API. “Started” is inferred from scheduled kickoff, not independently verified live game status. A displayed price may move before a wager is accepted. Soccer H2H usually means regulation-time three-way result (including draw). PGA is limited to majors, not every weekly event.
Log what actually happened
ShotLab automatically saves the first pregame score, game-total, team-shot and player-prop forecasts it calculates in this browser. After a game finishes, add the actual stats to measure prediction error. You can also manually log older predictions. Results are stored on this device only; export a backup before clearing Safari data or changing devices. This is tracking, not automatic model retraining.
Turkey 10, Belgium 12 • Spain 21, Czechia 13 • England 14, Croatia 12 • France 18, Italy 11. These figures come from a third-party post-match scoreboard and may differ from Opta/bookmaker counts.
Nov 12 final shot counts were sourced from published post-match tables. This update preserves your original projections and fills in actual shots without replacing existing entries. The source counts can differ from your sportsbook’s official settlement provider.
Saved forecasts
0 trackedAfter saving, your forecast should appear below with a verified confirmation. Reopen this exact website address to see the same stored results. Safari, private tabs, a different Cloudflare URL, and an installed Home Screen app can have separate storage. Download an export backup regularly.
How ShotLab's projections work and what they're missing
During live soccer games, ShotLab displays a separate in-play expected final shots total based on verified current shots plus a pace update. It never presents a pregame number as an in-play forecast. A 2-shot first half is meaningful evidence against a high pregame forecast. The model is not calibrated and may miss tactical changes, red cards, and score effects.
NBA, NFL, NHL, NCAA basketball, NCAA FBS football and MLB winner/score estimates use recent completed games, weighted team scoring and opponent scores, a shrinkage-adjusted scoring margin and a modest assumed home advantage. The predicted margin is consistent with the estimated winner probability. Full-game totals use the sum of projected scores; over/under probability uses recent-game score variability and a heuristic minimum SD (unvalidated). The soccer model uses recent goals scored and conceded to estimate goal rates, then computes home/draw/away outcomes with a Poisson model. Soccer team shots / shots on target, NHL team shots on goal, and basketball field-goal attempts are projected from box-score data where available, including combined totals. NBA, NHL and NFL individual player props use recent completed player box scores, with no claims that starters or playing time are confirmed. NFL and NCAA football have no literal shots market, and PGA uses tournament leaderboards rather than two-team score/moneyline projections. NHL shootouts can make official scoreboard goals differ from how sportsbooks settle totals. Missing source data never becomes a fabricated projection.
Feedback log: Logged prediction errors measure historical performance; they do not automatically update model coefficients or prove future accuracy. Old/manual entries cannot verify that a number was recorded before the match.
Samples are limited to games before the selected matchup, so future games do not leak into a retrospective projection. Matchup strength, injuries, starting goalies, lineups, travel, weather, and bookmaker market adjustments are not fully modeled. Probabilities have not been validated out of sample. Never treat high displayed numbers as a reason to bet or chase losses.
Data: unofficial ESPN site data endpoints, accessed directly. Feeds can be blocked, go offline or change format. The app will display the error rather than fabricate a result. Most actions need an active internet connection.