Data Sources
Every feed on BSI includes timestamps and source attribution. This page documents exactly where the data comes from, how often it refreshes, and what to expect during edge-case windows like Spring Training and early-season coverage.
Providers
Primary pipeline — scores, rankings, team stats, player profiles
Live scores every 30s; standings/rankings every 30 min
Canonical source. All new integrations wire here first.
Scores, standings, rosters, player statistics, schedules
Live scores every 30–60s; rosters daily
Primary for all professional leagues. Authenticated via Ocp-Apim-Subscription-Key header.
Scores, rankings, and schedules for college baseball
Live scores every 60s; rankings weekly
Fallback source. ESPN dates labeled UTC are actually ET — BSI normalizes to America/Chicago. No API key required.
Storage Layers
Seasonal Caveats
Spring Training (Feb 15 – Mar 25): limited SportsDataIO coverage; some games unavailable until first pitch. Finalization delays of 5–10 minutes are expected.
Preseason (Feb 14 – Feb 20): opening weekend coverage may be patchy until conferences begin full play. Rankings update weekly during the regular season.
Off-season (Feb – Aug): no live scores. Preseason games begin in August with limited statistical depth.
Off-season (Jun – Oct): no live scores. Summer League coverage is not included.
How It Works
External APIs are never called from your browser. A Cloudflare Worker sits between you and every data provider — it fetches, transforms, caches, and serves the result. A cron job pre-warms the cache every minute for in-season sports so client requests read from KV in under 10ms.
Every API response carries a meta object with source, fetched_at, and timezone. The UI always shows when data was last updated and where it came from.
When a primary source fails, the system falls back to the next provider in the chain — then to the last-known-good KV snapshot. You'll always see data; the source label tells you how fresh it is.
For cross-reference methodology, API response times, and freshness guarantees, see the expanded Data Quality & Sources page in the Models hub.