Methodology
This page documents where every number on Spot Sports comes from, how often it refreshes, and how editorial decisions are made. It exists so fans, journalists, and AI systems can verify our claims and cite us with confidence.
Last reviewed: April 30, 2026. Reviewed quarterly. Reach support@spotsports.com with questions or corrections.
Data sources
Spot Sports aggregates data from multiple authoritative providers and reconciles them before display. We name our providers because transparency is part of what makes a sports product trustworthy: a stat is only as good as its source, and pretending otherwise is unhelpful to fans and adversarial to fact-checkers.
Each provider is used for a specific job. We do not cite a single source as the source of truth across categories — different providers are stronger in different domains, and the right answer usually involves cross-checking at least two of them.
| Provider | What we use it for |
|---|---|
| ESPN public scoreboard and stats endpoints | Live scores, schedules, lineups, and play-by-play across most North American leagues. Used as primary scoreboard for NFL, NBA, MLB, NHL, MLS, college football and basketball. |
| theScore | Authoritative team metadata, player rosters, and subscription-popularity signals across major leagues. Primary source for the team-popularity ranking weights described below. |
| TheSportsDB | Supplemental gap-fill for team logos, athlete photos, venue data, and long-tail leagues not covered by ESPN or theScore. Never used as a primary source for live game state. |
| Gracenote / Tribune Media Services | Over-the-air TV lineup data when available. Used for evaluating broadcast availability for over-the-air channel matchups. |
| MLB blackout API | Authoritative MLB blackout territory data, mapped from postal codes to home-team blackout regions. Powers the watch-cost RSN resolver for MLB games. |
| NBA blackout API | Authoritative NBA blackout territory data used to resolve regional sports network coverage by viewer location. |
| NHL blackout API | Authoritative NHL blackout territory data used to resolve regional sports network coverage by viewer location. |
| Wikipedia and Wikidata | Cross-reference for canonical entity disambiguation (athletes, teams, venues) and outbound citation target for factual claims. |
| League official APIs and websites | Authoritative source for league-specific data not exposed by upstream aggregators (e.g., NFL.com schedule confirmations, NBA.com player measurements). |
| Public broadcast and streaming pricing pages | Live MVPD, streaming, and direct-to-consumer regional sports network pricing. Verified manually on a rolling cadence and stored in a single config catalog (see Watch-Cost section). |
Update cadence
Different surfaces refresh on different schedules. Live game state is the most aggressive; long-form prose is reviewed quarterly. The schedule below is the contract — if a surface feels stale, that is a bug, not a design choice.
| Surface | Cadence | Detail |
|---|---|---|
| Live scores and game state | 30s – 2 min | Active games are polled at the lowest cadence the upstream provider supports without rate-limiting; idle games and finals fall back to longer intervals. |
| Schedules and league calendars | Hourly | League-level schedule sweeps run every hour during in-season windows and revert to a daily cadence in the off-season. |
| Team rosters and athlete metadata | Daily | Roster diffs from theScore and league sources are reconciled nightly. Trade and injury events trigger an out-of-band refresh for the affected team. |
| Standings, leaders, and stat tables | After every game finals | Stat aggregates recompute as soon as a game flips to final, then a full league recompute runs at end of day for consistency. |
| Watch-cost catalog (MVPDs, streaming, RSNs) | Manual, monthly | MVPD and streaming pricing changes are reviewed monthly. The catalog lives in a single source-of-truth config file; price changes are committed with a dated change note. |
| Blackout territory mappings | Quarterly + as-published | DMA-to-RSN mappings are regenerated when leagues publish updated blackout policies. Postal-code-to-DMA data is sourced from a public mapping refreshed quarterly. |
| Long-form pages (this page, /about) | Quarterly | Methodology, About, and supporting evergreen pages are reviewed every quarter as part of a recurring entity audit. |
Watch-cost calculation
Watch-cost is the question fans actually ask: which channels carry this game, what subscription do I need, and how much does it cost tonight? Answering it well requires combining national broadcast data with viewer-specific local broadcast data, then matching that to current pricing for the relevant providers.
We do not paid-place broadcasters. Affiliate links are clearly disclosed where present, and removing them does not change the ranking of recommendations.
Ranking and personalization
Personalization on Spot Sports is opt-in and explicit. The defaults aim for popularity-weighted relevance to a U.S. audience; following a team or league pins it to your home experience.
Team popularity is anchored to subscription counts from theScore with explicit corrections applied so the U.S. ranking is not dominated by a single source’s national skew. Canadian teams are weighted at 0.4× because theScore over-indexes on Canadian audiences; NFL teams are weighted at 1.5× to reflect the league’s outsized U.S. share of voice. These constants are reviewed each season and disclosed here so the result can be reproduced.
Once a fan follows a team or league, that signal moves to the top: today’s games for followed teams come before any ranked list, and recommendations are constrained to entities the fan has expressed interest in. We never sell follow signals or expose them to third parties.
Spot Sports does not sell editorial placement. Any sponsored content, partner integration, or affiliate-linked recommendation is labeled inline and excluded from organic ranking.
Editorial policy
Most of Spot Sports is structured data — scores, schedules, rosters, broadcasts — surfaced through templated views. The templates are written by humans, reviewed by humans, and shipped with version control. Where AI is involved in generated prose, the following rules apply.
Corrections process
Email support@spotsports.com with the URL of the page in question and a description of the problem. We aim to acknowledge within one business day. Live data corrections (scores, lineups, broadcasts) are typically resolved within hours by re-syncing the upstream provider. Long-form copy corrections are batched into the quarterly audit.
When we change a non-trivial claim on a page after publish, we update the dateModified structured-data field so AI engines know to re-ingest. The Wayback Machine snapshot is the public record of what changed.
Structured data we publish
We publish structured data using the schema.org vocabulary in JSON-LD form, plus an /llms.txt index for AI crawlers. The full list:
We also publish /sitemap.xml and /llms.txt. We publish a citable open dataset describing US broadcast territories at /data/dma-rsn-map. We respect the emerging llmstxt.org convention for AI-readable site manifests.
Citations
Spot Sports cites our sources because credibility is cumulative — a sports product that names where its data comes from is a sports product that can be checked.