Data Sources
Last updated 25 August 2026 · Soulvaya Labs, Inc. · bellcowgm.com
Written in plain English. This document describes, accurately, how the product actually works. The corporate details — legal entity, state of incorporation, registered address and governing law — are settled and stated in the Terms of Service. Where anything here conflicts with the law that applies to you, the law wins. Questions or corrections: support@bellcowgm.com.
This is the "how Bellcow thinks" page. It explains what data goes in, what the models do with it, where the AI sits in the chain, and — source by source — what licence each one is under and whether Bellcow is actually allowed to use it. The register below is generated from the same file the code enforces, so it cannot quietly drift from reality.
We build the numbers. We do not resell anyone else's.
Bellcow computes its own expected points, projections, values, breakout scores and simulations from open NFL data. It does not license a consensus ranking and pass it off as a model, and it does not resell a fantasy platform's projections. Every source is registered with its licence and checked in code before its data is allowed near a recommendation.
1. How a recommendation gets made
- Ingest. Play-by-play, snap counts, participation, rosters, depth charts, injury reports, schedules and game lines are pulled from nflverse. Weather comes from the National Weather Service. Trade-market values come from Stats Guy Fantasy.
- Player state. Those feeds are reconciled into one current picture of every player — role, health, depth-chart position, usage trend. Where two sources disagree about an injury status, the conflict is surfaced rather than silently resolved.
- Expected points. An opportunity model converts where and how often a player is used into expected stat components, calibrated on historical play-by-play. Actual minus expected gives a regression signal — a hint, not a verdict.
- Projection. A component-based weekly model predicts stat components from recent role, efficiency, team environment, opponent defence, the market-implied game total, home/away and availability. Components stay separate so that your league's scoring can be applied afterwards — one football projection serves every format.
- Rest of season. A neutral-context per-game model adjusted for role stability, remaining schedule and health, published as median, floor and ceiling rather than a single number.
- Your league. Your scoring, lineup slots, waiver system and playoff structure are applied, and every team in the league is evaluated for strengths, needs and surpluses.
- Simulation. Your remaining schedule is simulated many times over with a seeded generator, producing playoff and championship probabilities — and an honest margin of error alongside them.
- The plan. Candidate lineup changes, waiver claims and trades are scored by how much they move those probabilities, ranked, and shown with their reasoning. When a move's effect is smaller than the simulation's own error, Bellcow says it is too close to call.
- Confidence. Every player and recommendation carries a HIGH/MEDIUM/LOW rating and a 0–100 score based on how fresh the inputs are, how many sources agree and whether they conflict. Low confidence is displayed, never hidden.
2. Where the AI actually sits
The large language model does not compute your projections, your values or your odds. Those come from the models above, which are deterministic code calibrated on historical data. The AI's job is conversation: it receives a compact summary of the league state the engine has already computed and answers your questions about it in plain English. If the AI is unavailable or unconfigured, the assistant falls back to a local rule-based answer and the app tells you which one replied. Read the AI Disclaimer for what that means for accuracy.
3. The source register
Every external source Bellcow knows about lives in one registry file, and production code refuses to consume a source that is not marked approved. The register carries two separate facts about each source, and they are worth reading as two columns rather than one:
- What it covers — the kind of data it holds.
- Licence status — our current classification of whether we are permitted to use it commercially. Approved means yes. Prototype only means it is usable while we are proving the product but needs permission or a terms review before it is commercially clean. Licence required and Blocked mean it is not ingested. Unclassified means we have not finished assessing it and it is treated as research only.
Current register: 12 approved, 11 prototype-only, 19 licence-required, 2 blocked, 6 unclassified. Last reviewed 24 August 2026 by the product owner. These classifications are the owner's working assessment, not the opinion of counsel — the same review noted at the top of this page covers them.
4. The two open items, stated plainly
Sleeper is classified PROTOTYPE_ONLY. Sleeper's public API is free for non-commercial use, and commercial use requires contacting Sleeper for permission. Bellcow is a paid product, so that permission matters. We use Sleeper for two things — reading your own league's state, and as one of several inputs to the live wire described in section 5a — and never as a source of football intelligence. It is no longer a dependency: alerts and the morning digest both run without it. That classification stays in the register, in public, until Sleeper's permission is in hand. We are not going to describe an unresolved licence as settled.
Yahoo API access is pending approval. Our Yahoo Fantasy Sports API application has been submitted through Yahoo's official developer programme and has not yet been approved. Until it is, the register carries Yahoo as licence-required and the Yahoo connector shows its real state rather than pretending to be ready.
Two related notes, for completeness: the ESPN connector reads undocumented internal endpoints, which is flagged in the register as needing legal review — manual import is the permitted fallback and always works. And Pro Football Reference is marked BLOCKED: no bulk scraping, human QA only. Those flags exist because a source register that only contains good news is decoration.
5a. The live wire
Projections and rankings come from the intel bundle, which is rebuilt on a schedule. Injury alerts cannot wait for that, so they run off a separate path called the live wire. It merges several independent status feeds rather than depending on any one of them.
| Feed | What it contributes | Licence status |
|---|---|---|
| ESPN public injury feed Undocumented public endpoint. Carries the timestamp of each designation and the reporter's note — nothing else free does. | injuries, status | Licence required |
| Sleeper player feed The only free feed carrying depth-chart order at this cadence. | status, depth chart | Prototype only |
| Bellcow intel bundle Our own published bundle, built from nflverse. The licensed floor: whatever else fails, this one we are unambiguously allowed to use, and it always answers. | identity, official injury report, depth | Approved |
What happens when a feed fails. Nothing changes. Player status is built from graded claims: a source reports something, the report is corroborated against other sources and scored by who made it, and only a sufficiently supported claim moves a player's state. A source that goes dark simply stops making claims — and no claims means no change, so an outage cannot make players look like they have recovered. What it costs is freshness, and that is shown rather than hidden: every player's state carries the time it was last verified, and confidence falls continuously from there. The current state of every feed is published on the status page.
5b. Where this honestly stands today
No commercially licensed live injury feed is connected yet. This is the one gap we would most like to close, and pretending otherwise would be the easiest thing on this page to get away with.
The sources that carry live injury designations — ESPN's public endpoint, Sleeper's player feed — publish no terms that permit automated commercial retrieval. Our own bundle is unambiguously ours to use, but it carries roster status from the weekly roster file, not injury-report designations, and it rebuilds three times a week. And the open dataset most people assume covers this, nflverse injuries, has no 2026 file at all: its upstream stopped after 2024, the 2025 file was backfilled from a replacement source months after that season ended, and there is no data licence on it in any case. It is excellent for analytics. It is not a live wire, and we will not describe it as one.
What that means for you, concretely. Alerts work. Every claim is still corroborated and scored, and a single unconfirmed report is shown as "unconfirmed — verify before acting" rather than acted on. But a designation that only one unverified source has published will be flagged for you rather than driving a recommendation, and the interval between a late injury breaking and it reaching you is longer than it will be once a licensed feed is in place.
We are pursuing a licensed feed, and the switch is a configuration change rather than a rebuild — the system was designed so that no single provider can turn it off, and so that adding a better one costs one line. Until then the status page is meant to carry a Data Licensing component that says exactly this, in public, whether or not anyone asks — it appears once the first scheduled health scan after deploy has run, and reads "Not monitored" or is briefly absent before that first scan completes.
5. Sources that feed the models
These are read automatically and their data reaches your recommendations.
| Source | What it covers | Licence status |
|---|---|---|
| nflverse / nflreadr Credited as: Data: nflverse (CC-BY-4.0) | stats, pbp, rosters, schedule, injuries, depth, snaps, participation | Approved |
| nflverse-data GitHub releases Credited as: Data: nflverse (CC-BY-4.0) | stats, rosters, depth, injuries, snaps, schedule | Approved |
| nflverse-rosters workflows Credited as: Data: nflverse (CC-BY-4.0) | rosters, depth, injuries | Approved |
| nflverse play-by-play Credited as: Data: nflverse (CC-BY-4.0) | pbp | Approved |
| Stats Guy Fantasy API Independent market signal — not the brain. Player ids are Sleeper ids. Credited as: Trade values by Stats Guy Fantasy (statsguyfantasy.com) | market_value | Approved |
| nflverse historical archives Credited as: Data: nflverse (CC-BY-4.0) | historical | Approved |
| Official NFL team websites (32) Tier-1 news source. Flip to APPROVED per-site after terms review. | official | Prototype only |
| National Weather Service (weather.gov API) Stadium lat/lon map required; adjustments must be backtested (§ Tier 8). | weather | Approved |
| Game lines via nflverse games.csv (spread/total/moneyline) Credited as: Data: nflverse (CC-BY-4.0) | betting_market | Approved |
| nflverse combine + draft datasets Credited as: Data: nflverse (CC-BY-4.0) | college, draft | Approved |
6. Sources that read your league
These bring your own league into Bellcow. All read-only — none of them can write to your team.
| Source | What it covers | Licence status |
|---|---|---|
| Yahoo Fantasy Sports API Flip to APPROVED when Yahoo approves the application. | league | Licence required |
| Sleeper API League state only during prototype/compliance-approved use. Never a football-intelligence source. | league, trending, players | Prototype only |
| ESPN Fantasy (unofficial endpoints) CONNECTOR RESEARCH / LEGAL REVIEW REQUIRED. Manual import is the permitted fallback. | league | Licence required |
| Manual / CSV / War Room league import | league | Approved |
7. Research, benchmarks and reference
Used by humans to sanity-check the models and to see whether Bellcow disagrees with the consensus for a good reason. Not ingested into production intelligence. The industry sites in this list are benchmarks we compare against, not feeds we consume — that distinction is enforced in code, not just stated here.
| Source | What it covers | Licence status |
|---|---|---|
| nflreadpy | loader | Approved |
| NFL Next Gen Stats Feature-engineering reference and validation only until rights confirmed. | advanced_metrics | Unclassified |
| Sleeper trending adds/drops | market_velocity | Prototype only |
| Pro Football Reference QA + model validation by humans only. | historical_stats | Blocked |
| FantasyPros Benchmark only until licensed. Never ingested. | weekly/ROS rankings, ECR, projections | Licence required |
| RotoWire Benchmark only until licensed. Never ingested. | injury interpretation, depth charts, projections, news | Licence required |
| Footballguys Benchmark only until licensed. Never ingested. | projections, injury analysis, usage | Licence required |
| 4for4 Benchmark only until licensed. Never ingested. | schedule-adjusted points, SOS, streaming | Licence required |
| Establish The Run Benchmark only until licensed. Never ingested. | projections, usage, role changes | Licence required |
| Fantasy Points Benchmark only until licensed. Never ingested. | usage reports, routes, snaps, expected points | Licence required |
| FTN Fantasy Benchmark only until licensed. Never ingested. | charting (some via nflverse CC-BY-SA-4.0) | Licence required |
| RotoViz Benchmark only until licensed. Never ingested. | air yards, expected points, breakout modeling | Licence required |
| PFF Fantasy Benchmark only until licensed. Never ingested. | projections, grades, routes, OL effects | Licence required |
| Fantasy Life Benchmark only until licensed. Never ingested. | utilization trends, role changes | Licence required |
| FTN charting via nflverse Credited as: FTN Data via nflverse (CC-BY-SA-4.0) | charting | Prototype only |
| NFL.com | official | Prototype only |
| ESPN NFL | news | Prototype only |
| CBS Sports Fantasy | news | Prototype only |
| NBC Sports / Rotoworld | news | Prototype only |
| Yahoo Sports | news | Prototype only |
| The Athletic | beat | Prototype only |
| Local beat reporters / newspapers | beat | Prototype only |
| FantasyCalc | dynasty/redraft values, trade sentiment | Unclassified |
| KeepTradeCut | dynasty crowd rankings, value movement | Unclassified |
| Fantasy Football Calculator | ADP | Unclassified |
| Underdog Fantasy | best-ball ADP, market reaction | Unclassified |
| MyFantasyLeague | ADP, deep formats | Unclassified |
| OverTheCap (via nflverse contracts loader) | contracts | Approved |
| College Football Reference / Sports Reference college | college | Blocked |
8. Registered but not used
Commercial feeds we have assessed and are not using. They are listed so the decision is on the record. The most likely first purchase is a real-time injury and inactive feed, and only when the data proves the need.
| Source | What it covers | Licence status |
|---|---|---|
| Licensed odds provider (The Odds API / consensus services) | betting_market | Licence required |
| SportsDataIO Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
| Sportradar Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
| FantasyData Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
| RotoWire commercial feeds Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
| FantasyPros commercial feeds Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
| Fantasy Points Data Likely first purchase category: real-time injury/inactive feed — only when the Sunday gap metric proves the need (§64–65). | licensed_feed | Licence required |
9. Attribution
- NFL statistics, play-by-play, rosters, depth charts, injuries, schedules and game lines: nflverse, used under CC BY 4.0. nflverse.nflverse.com
- Player trade-market values: Stats Guy Fantasy, free and open with a visible credit link. statsguyfantasy.com
- Weather: National Weather Service (weather.gov), US Government public domain.
- Projections, expected points, values, breakout scores, simulations and championship odds: computed by Bellcow.
Team, league and player names are used descriptively. Bellcow is not affiliated with the NFL, any club, the NFLPA, or any fantasy platform.
10. What this pipeline cannot do
Free and open data has a known ceiling, and it is worth naming: our injury picture is as current as public reporting, which on a Sunday morning can lag a licensed real-time feed by minutes that matter. Practice participation, coach-speak and beat-reporter nuance are only partly captured. Scheduled refresh jobs run on a cadence limited by upstream feeds and by our host's scheduling constraints, so data can be late or a run can be skipped. Bellcow is built to degrade honestly in those moments — lower the confidence score, show the conflict, say it does not know — rather than to fill the gap with something invented.
11. Keeping this page honest
The tables above are generated from the compliance register the code enforces. When a status changes — Sleeper grants permission, Yahoo approves the application, a feed gets licensed — the register changes, this page changes with it, and the "Last updated" date moves. If you spot a source we have classified wrongly, or you represent one and want to talk about it, write to support@bellcowgm.com and we will act on it.
Contact
Soulvaya Labs, Inc. — Bellcow GM
131 Continental Drive, Suite 305, Newark, Delaware 19713, USA
support@bellcowgm.com
Contact Support · Help Center · AI Disclaimer · Fantasy Disclaimer