For sportsbooks
and desks.
A second opinion on every price you set, our calls on which way the odds go next, and forecasts for every player stat. Sent the way your systems want it.
| Product | What it does for you | Price |
|---|---|---|
| Predictions feed | Our forecast for every game and player, with every update kept. A second opinion on every price you set. | From $1,500 a month |
| Line Moves | Our calls on which way each set of odds moves before the start, and which bookmakers move first. Change your odds before others do. | From $2,500 a month |
On past games, our number made their final number more accurate in 5 markets, came within a few percent of it in 7 more, beat the simple rules in 1 more, and came in about as often as we said in 4 more. The bookmakers' final number, just before the start, is the hardest test there is. You get ours hours or days earlier.
Each row shows the best test our number passes on past games, next to the bookmakers' own. When we make a number more accurate, its row changes that day.
| What we forecast | How accurate | What we found |
|---|---|---|
| NFL | ||
| Receptions | Makes the bookmakers' number better | Put our NFL receptions number beside the bookmakers' final line and the two together land closer to the real result than the line on its own (5,034 player games over 2 seasons). |
| Receiving yards | Makes the bookmakers' number better | Put our NFL receiving yards number beside the bookmakers' final line and the two together land closer to the real result than the line on its own (5,285 player games over 2 seasons). |
| May not play (after Friday's injury report), a tag beside receptions / receiving yards / rushing yards props | Beats the simple rules | Before Sunday we flag the NFL players who may not play after the Friday injury report. It reads the report better than "he played last week" in each of the last 4 seasons. No bookmaker prices this. |
| Win chance (moneyline) | Every game covered | In the feed for every game, before the start. |
| Rushing yards, passing yards, passing TDs, anytime TD, completions, interceptions, attempts, rush + rec yards | Every game covered | In the feed for every game, before the start. |
| NBA | ||
| Rebounds | Makes the bookmakers' number better | Put our NBA player rebounds number beside the bookmakers' final line and the two together land closer to the real result than the line on its own (24,881 player games over 2 seasons). |
| Threes | Makes the bookmakers' number better | Put our NBA player threes number beside the bookmakers' final line and the two together land closer to the real result than the line on its own (23,643 player games over 2 seasons). |
| Assists | Makes the bookmakers' number better | Put our NBA player assists number beside the bookmakers' final line and the two together land closer to the real result than the line on its own (18,336 player games over 2 seasons). |
| Points | Close to the bookmakers' final number | Our NBA points number typically misses the real result by 6.52, against 6.37 for the bookmakers' final line (25,096 games). |
| Win chance (moneyline) | Every game covered | In the feed for every game, before the start. |
| Spread / winning margin | Every game covered | In the feed for every game, before the start. |
| Game total | Every game covered | In the feed for every game, before the start. |
| Every other NBA prop the board prints (combos, blocks, steals, alternates folded to the main line) | Every game covered | In the feed for every game, before the start. |
| MLB | ||
| Win chance (moneyline) | Close to the bookmakers' final number | Our MLB win chance (moneyline) chances come within reach of the bookmakers' final prices at calling the result: 684.3 against 675.7 log loss per 1,000 on 6,397 rows (past seasons; the bookmakers stay a little ahead). |
| Run line / margin | Close to the bookmakers' final number | Our MLB run line / margin number typically misses the real result by 4.39, against 4.35 for the bookmakers' final line (4,016 games). |
| Batter singles (at 0.5) | Every game covered | In the feed for every game, before the start. |
| Strikeouts, hits allowed, walks, earned runs; batter hits, total bases, home runs, RBIs, runs, walks, doubles, triples, stolen bases | Every game covered | In the feed for every game, before the start. |
| Batter total bases (at the close; 2024 + 2025 development rows; starters only by the book rule) | Every game covered | In the feed for every game, before the start. |
| NHL | ||
| Game total | Close to the bookmakers' final number | Our NHL game total number typically misses the real result by 2.31, against 2.30 for the bookmakers' final line (1,753 games). |
| Win chance (moneyline) | Comes in as often as we say | When we say a NHL win chance (moneyline) comes in 58.8 times in 100, it has come in 58.8 times in 100 over 4,061 rows (past seasons) - the stated chance is honest; the bookmakers' prices are still sharper. |
| Winning margin / puck line | Every game covered | In the feed for every game, before the start. |
| Goals, assists, anytime scorer, power-play points, blocked shots | Every game covered | In the feed for every game, before the start. |
| Soccer | ||
| Home win | Close to the bookmakers' final number | Our Soccer home win chances come within reach of the bookmakers' final prices at calling the result: 600.5 against 586.4 log loss per 1,000 on 2,552 rows (past seasons; the bookmakers stay a little ahead). |
| Total goals | Close to the bookmakers' final number | Our Soccer total goals number typically misses the real result by 1.61, against 1.59 for the bookmakers' final line (3,006 games). |
| Draw | Comes in as often as we say | When we say a Soccer draw comes in 75.4 times in 100, it has come in 74.7 times in 100 over 5,093 rows (past seasons) - the stated chance is honest; the bookmakers' prices are still sharper. |
| Away win | Comes in as often as we say | Our soccer away-win chances come in about as often as we say: across 5,093 games we were off by about 3 in 100 on average. |
| Asian handicap / margin | Every game covered | In the feed for every game, before the start. |
| Every game market (MLS / Brazil / A-League) | Every game covered | In the feed for every game, before the start. |
| Player shots, shots on target, anytime scorer, assists, cards | Every game covered | In the feed for every game, before the start. |
| College football | ||
| Rushing TDs, completions, attempts | Every game covered | In the feed for every game, before the start. |
| College basketball | ||
| Winning margin | Every game covered | In the feed for every game, before the start. |
| Player props | Every game covered | In the feed for every game, before the start. |
| WNBA | ||
| Win chance, winning margin | Every game covered | In the feed for every game, before the start. |
| Points, rebounds (+ assists, threes, combos on the served chance) | Every game covered | In the feed for every game, before the start. |
| Tennis | ||
| Match winner | Comes in as often as we say | Our tennis match winner chances come in about as often as we say: across 13,587 matches we were off by about 2 in 100 on average. |
| AFL | ||
| Win chance, margin, total | Every game covered | In the feed for every game, before the start. |
| Disposals, marks, tackles, kicks, handballs, clearances, goals, fantasy points | Every game covered | In the feed for every game, before the start. |
| NRL | ||
| Game total | Close to the bookmakers' final number | Our NRL game total number typically misses the real result by 13.69, against 13.46 for the bookmakers' final line (417 games). |
| Win chance | Every game covered | In the feed for every game, before the start. |
| Winning margin | Every game covered | In the feed for every game, before the start. |
| Try scorer (anytime / first / last / over) | Every game covered | In the feed for every game, before the start. |
| Cricket | ||
| Match winner | Every game covered | In the feed for every game, before the start. |
| UFC | ||
| Fight winner (+ total rounds) | Every game covered | In the feed for every game, before the start. |
| League | Games, 60 days | First number, hours before the start | Last update, hours before | Updates a game |
|---|---|---|---|---|
| College football (FBS) | 401 | 105 | 6.6 | 8.7 |
| Tennis (ATP + WTA) | 372 | 29 | 7.4 | 2.5 |
| MLB | 277 | 22 | 2.9 | 6.0 |
| NHL | 151 | 53 | 8.5 | 2.5 |
| MLS | 105 | 187 | every 2 h since 9 Oct | 16.3 |
| NFL | 95 | 123 | 2.4 | 166.5 |
| UFC / MMA | 95 | 135 | 10.7 | 11.2 |
| Cricket | 75 | 38 | 4.0 | 4.7 |
| WNBA | 50 | 66 | 1.9 | 14.1 |
| EFL Championship | 46 | 197 | every 2 h since 9 Oct | 10.2 |
| Serie A | 35 | 383 | every 2 h since 9 Oct | 22.3 |
| Brasileirão | 34 | 316 | every 2 h since 9 Oct | 10.4 |
| Premier League | 33 | 434 | every 2 h since 9 Oct | 24.3 |
| La Liga | 27 | 347 | every 2 h since 9 Oct | 20.3 |
| Ligue 1 | 21 | 445 | every 2 h since 9 Oct | 26.8 |
| Bundesliga | 18 | 460 | every 2 h since 9 Oct | 22.4 |
| NBA | 14 | 53 | 2.8 | 11.4 |
| NRL | 10 | 116 | 9.2 | 10.0 |
| AFL | 5 | 95 | 59.9 | 3.0 |
| A-League | 3 | 219 | every 2 h since 9 Oct | 9.3 |
// GET /data/feed.aspx?b=nfl&f=board.json (one game, live row) { "board": "nfl", "week_key": "w07", "version": 30, "published_utc": "2026-10-22T17:35:24Z", "game_id": "ffebea881c1d7b2dfb85b3e590c35985", "kickoff_utc": "2026-10-23T00:15:00Z", "home": "Chicago Bears", "away": "New England Patriots", "spread_home": -3.00, "total": 50.50, "win_prob_home": 0.5925, "fair_ml_home": -145, "fair_ml_away": 145, "model_version": "nfl-2026-09" }
| What | Where |
|---|---|
| This week's NFL board: every game, our line, total, win chance and fair price, with every version | /data/board?b=nfl |
| Last full week, every game as we last published it before its kick-off | free.csv |
| Last full week of player props, each game before its kick-off | props-free.csv |
| Line Moves calls on games that have started, last 30 days | moves-free.csv |
| Every column, version and webhook | Docs |
Can we use your number inside our pricing?
Yes. That is what the Predictions feed is for. Showing our numbers to your own customers needs the commercial licence.
How do we know how far to trust it?
Every kind of bet shows the best test our number passes on past games: it makes the bookmakers' number better when you mix it in, it lands close to their final number, it beats the simple rules, or it comes in about as often as we say. The rating changes when a more accurate number goes in.
Do you send bookmaker prices?
No. You get our numbers, our fair odds (no bookmaker margin) and the bookmakers' number to compare.
How do updates reach us?
We send every update to your system as it happens, or your system checks for new data when it likes. Every version stays in the week's history.