Season pass · $19.99 · covers you through January 5 · no subscription, nothing to cancel

Bellcow GM / Data Coverage

Data coverage

Last updated 25 August 2026 · figures describe the 24 August 2026 intelligence bundle

What Bellcow knows, how often it finds out, and — the part most products leave off — what it doesn't know. If a feed is late or switched off, the app names it on the Data Health page and the confidence on your plan drops with it. Nothing here is aspirational: if it isn't live, it says so.

What's in the bundle right now

1,071 players valued

Every rosterable offensive player plus team defences, with a weekly projection and a rest-of-season value.

396 with market values

Live trade-market values from Stats Guy Fantasy cover the players who actually trade. The rest are priced by the engine alone.

Counts come from the published bundle and move with each refresh. The app always shows the live figure on its Data Health page.

Sources, and what each one is allowed to do

SourceProvidesLicenceStatus
nflversePlay-by-play, snap counts, participation, rosters, depth charts, official injury reports, schedule, game lines, combine & draft, historical archivesCC BY 4.0 — commercial use permittedIn production
Stats Guy FantasyLive trade-market values from real trades across thousands of leaguesFree & open — credit requiredIn production
National Weather ServicePublic forecast data for outdoor stadiumsUS government — public domainIn production
SleeperYour league only: rosters, settings, transactions, plus an add/drop velocity signalLeague connectorLeague data only
ESPNYour league only, by league ID (private leagues via your own browser cookies)League connector — legal review openLeague data only
YahooYour league, by draft file or roster paste todayDirect sign-in pending Yahoo's API approvalImport only
Team sites & beat reportingBreaking news and practice-report discoveryPending per-site terms reviewBuilt, not switched on
Commercial injury / inactives feedsReal-time inactives, 90 minutes to kickoffWould require a paid licenceNot purchased
FantasyPros, PFF, RotoWire, 4for4, ETR, Fantasy Points, RotoViz, FootballguysNothing. Used to benchmark our output when evaluating a change.Licence required to ingestNever ingested

Sleeper is never a football-intelligence source. It supplies league state — who owns whom — and an injury-status overlay, and that is the limit of what it is allowed to influence. The projections, values and rankings are computed by Bellcow's own engine from the licensed sources above. The full legal data-sources statement →

Refresh cadence

Tue / Fri / SunThe full intelligence bundle is rebuilt at 11:00 UTC: projections, rest-of-season values, breakout scores, player values and confidence. Scheduled, not a laptop job — and it runs ahead of the morning digest so the email and the app never disagree.
Every 15 minutesInjury, depth-chart and roster diffing across the league. A change that touches your roster or your matchup becomes an alert; the rest is discarded rather than sent as noise.
Every 5 minutes on SundayDuring kickoff windows the same diffing runs five-minutely.
Every 10 minutes, Tue / WedThe waiver and practice-report windows get their own sweep.
Daily, ~6am PTThe morning digest goes out to Season Pass holders who switched it on — carrying the same plan the app shows, per league.
On demandYour league itself re-syncs when you open it or press Sync now. Bellcow reads; it never writes to your platform.

A guard sits in front of every bundle upload: a refresh that produces fewer than 500 players is rejected rather than published, so a partial scrape can never quietly replace a good bundle with a thin one.

What “Last Updated” means

It is the timestamp of the last successful refresh of that specific category — stats, rosters, depth charts, injuries, schedule, market values — not the time the page was loaded and not the time the bundle was published.

This distinction caused a real bug, which is why it is spelled out here. Per-source status used to be stamped at publish time, so a refresh that had stalled kept reporting “healthy” next to a timestamp that was days old. Status is now recomputed against the clock every time you look at it. Each category has its own tolerance:

CategoryConsidered stale after
Injuries6 hours
Depth charts12 hours
Stats & play-by-play24 hours
Rosters24 hours
Market values48 hours
Schedule7 days

When a source is late

Bellcow degrades in the open rather than failing quietly. In order:

  1. The category is marked stale on the app's Data Health page, by name, with its real age.
  2. Confidence on your plan drops automatically — it can never read better than the freshness of the data behind it.
  3. The rest of the product keeps working from the last good bundle. You get a plan, and you get told exactly which part of it is standing on older ground.
  4. If the delay is long enough that a recommendation would be unsafe — an injury feed that has gone quiet, for example — the affected advice is labelled rather than dressed up.

Data Health also flags league-level limitations that are not about our feeds at all: a league imported without scoring settings, a FAAB budget inferred from team balances, a schedule that had to be modelled because the platform doesn't expose one, or a league that hasn't synced in a week.

What confidence actually measures

Every player carries a completeness score out of 100, built from how much real evidence exists behind him right now: stats coverage, injury-report coverage and depth-chart coverage. Your plan confidence is the average of those scores across the players in your three moves — the ones being added, dropped or traded — and it is then capped by data age.

High

Average player completeness 85+ and the bundle refreshed inside 24 hours.

Medium

Completeness 65–84, or a bundle between 24 and 72 hours old, or a league sync over 12 hours old.

Low

Completeness under 65, or anything older than 72 hours. Treat the plan as a starting point, not an instruction.

Confidence is not a probability that the move works. It is a statement about how much the engine had to work with. A high-confidence recommendation can still be wrong — fantasy football is played by people, not by projections.

What is not live

Breaking news and practice-report discovery. The event engine that reads team sites and beat reporting is built and switched off, pending a per-site terms review. We are not going to scrape publishers into a paid product before we have established that we are allowed to. Until that review finishes, the news you see in Bellcow comes from official injury designations via nflverse plus your own league's transactions, filtered through your roster.

Gameday inactives. There is no commercial inactives feed behind Bellcow, because we have not bought one. That means Bellcow cannot see a scratch announced 90 minutes before kickoff. Re-check your lineup before kickoff on Sunday; the app tells you so on the Data Health page rather than letting you assume otherwise.

Direct Yahoo sign-in. Pending Yahoo's API approval. Yahoo leagues come in today through a draft file or a roster paste, and the connect screen says exactly that instead of pretending.

What Bellcow does not cover at all

If you are in a format Bellcow doesn't handle well, it says so on the connect screen rather than quietly giving you bad advice.

Your league data

Bellcow reads your league; it never writes to it. There is no lineup submission, no waiver claim and no trade sent on your behalf, on any platform. Your league data is used to produce your plan and your alerts, is never sold or shared, and is never used to train anyone's AI models. Privacy Policy → · Security →

Related

Methodology — how Bellcow computes what it computes
Live system status
A full sample GM plan
Legal data-sources statement