OddsIQ
Data sources

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.

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 + lineup-drop for MLB
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 →