Skip to content
SpreadModel
Every projection graded in public

The sports projections API for NFL, NBA and college football

Projected scores, spreads, totals and win probabilities for every game, updated after the injury report. Built for products that need an independent number they can trust.

Sports
3
Games backtested
17,345
NBA updates
Daily
curl -H "X-API-Key: $SPREADMODEL_KEY" \
  "https://api.spreadmodel.com/v1/nba/projections?date=2026-10-20"
Response
{
  "sport": "nba",
  "games": [
    {
      "game_id": "401909088",
      "kickoff": "2026-10-20T19:00Z",
      "home": "DET",
      "away": "BOS",
      "proj_home_pts": 109.5,
      "proj_away_pts": 106.3,
      "proj_margin": 3.2,
      "proj_total": 215.8,
      "margin_sd": 12.5,
      "total_sd": 18.2,
      "home_win_prob": 0.601,
      "model_version": "v3-lineup-pace",
      "generated_at": "2026-10-14T00:02Z"
    }
  ]
}

Accuracy you can check

Ten seasons of held-out backtests, measured against the closing betting line.

Full track record →
NFL
2,761 games · 2016–2025
within0.15pts
of the closing line's average margin error
Margin error · points, lower is better
SpreadModel9.93
Closing line9.78
Total error · points, lower is better
SpreadModel10.50
Closing line10.44
NBA
7,775 games · 2020-21 to 2025-26
within0.17pts
of the closing line's average margin error
Margin error · points, lower is better
SpreadModel10.76
Closing line10.59
Total error · points, lower is better
SpreadModel14.52
Closing line14.25
College football
6,809 games · 2021–2025
within0.43pts
of the closing line's average margin error
Margin error · points, lower is better
SpreadModel12.50
Closing line12.07
Total error · points, lower is better
SpreadModel12.83
Closing line12.58

Walk-forward backtest on held-out seasons: settings chosen on earlier seasons, every game projected with only information available before kickoff. The closing line is the betting market's final number, the hardest public benchmark there is.

Projections, then the final score

Each slate is projected before tip-off or kickoff and graded when it ends. The free sample shows the most recent finished slate, straight from the API.

GET /v1/sample/nba
Latest graded slate

Built for products, not picks

Injury-aware

NBA projections use the league's official injury report and player values; NFL uses injured starters and the starting quarterback.

Published before kickoff

Every projection is stored with its publish time. Only versions from before kickoff are ever graded.

Graded in public

Error against the final score and the closing line, for every game, on a live track-record page.

Uncertainty included

Standard deviations for margin and total, and a home win probability, on every game.

Walk-forward models

Tuned on early seasons, judged on held-out seasons. No look-ahead, documented change by change.

Simple REST + JSON

One header for auth, predictable endpoints, versioned models. A daily CSV is available on request.

Three sports, one API

Questions

What does the API return?+

For every game: projected home and away points, margin, total, the uncertainty of each, the home win probability, the model version and the time the projection was generated. Past games also return the final score.

How often are projections updated?+

NBA every game day after the 6 PM ET injury report; NFL weekly after the final Friday injury reports; college football weekly. Every version is kept.

How accurate are the projections?+

In a 10-season walk-forward backtest, average margin error was 9.93 points for the NFL and 10.76 for the NBA, within 0.15 to 0.17 points of the closing betting line. The live track record grades every projection published after launch.

Do you provide odds or betting picks?+

No. SpreadModel provides model projections and analytics for businesses. It does not take bets, sell picks or redistribute sportsbook odds.

Who uses it?+

Sports media and content sites, fantasy and pick'em apps, odds-comparison and analytics products that need an independent number for every game.

Put a projection on every game

Start with the free sample, then get a key for the sports you need.