Every data feed, disclosed
Our models are only as good as the data feeding them. Here's every source we use, how often we pull from it, and for which sport. No hidden feeds.
The Odds APIPaid
the-odds-api.com
Live odds across 40+ sportsbooks (moneyline, spread, total, props, alt markets)
NBACBBCFBNFL
Every 10 min pre-game, every 2 min in-game
NBA Stats APIFree
stats.nba.com
Team efficiency, player stats, rotation minutes, schedule, injuries
NBA
Overnight + morning pull
CollegeBasketballData.comFree
collegebasketballdata.com
Team pace, efficiency, schedule, conference standings, D1 team data
CBB
Daily
CollegeFootballData.comFree
collegefootballdata.com
CFB stats, recruiting rankings, FPI, advanced team metrics
CFB
Daily during season
nflverseFree
github.com/nflverse
NFL play-by-play, player stats, roster data, schedule
NFL
Weekly + post-game
OpenWeatherMapFree
openweathermap.org
Weather forecasts for outdoor games (NFL, CFB)
NFLCFB
Hourly pre-game
ESPN APIFree
espn.com
Schedule cross-reference, result validation, injury news backfill
NBACBBCFBNFL
Daily
Basketball-ReferenceFree
basketball-reference.com
Historical NBA backfill, playoff matchup history
NBA
Backfill only
Pro Football ReferenceFree
pro-football-reference.com
Historical NFL data, ATS/situational records
NFL
Backfill only
Freshness
Caching & freshness
We pull from external APIs on a schedule — never at user request. Every data read goes through our cache (Upstash Redis). This means pages load fast, API costs stay predictable, and no upstream provider sees traffic from individual users.
Odds:Every 10 min pre-game, 2 min in-game
Schedules:Morning refresh
Team/player stats:Overnight after results settle
Historical data:Cached permanently, versioned
Weather:Hourly before outdoor games
Out of scope
What we don't use
No scraped sportsbook data without authorization
No proprietary feeds from individual bettors or "insiders"
No pay-to-play "tipster" feeds
No paid public betting percentage data (accuracy is too inconsistent)
Reliability
API changes & drift
Unofficial APIs (NBA Stats, etc.) can change without notice. We monitor schema drift automatically and log every data-source failure. When something breaks, we disclose it in our public changelog →