Pipeline status

Data pipeline Warning

Live freshness for every dataset powering PlayersB. The cron refreshes data every six hours; this page rebuilds as part of the same run.

Last refresh: 2026-06-12 21:22:21 UTC

Coverage at a glance

Player pages
16,500
100% of 16,500
Team pages
97
Player enrichment
16,500
100% of 16,500

Datasets

Each dataset's row shows current row count, how fresh it is, and which upstream source(s) it came from. Status pills: OK Stale Error Cached Partial Pending

Dataset freshness
DatasetCountStatusAgeLast refreshSources
fixtures 3,033 OK 0m ago 2026-06-12 21:22:20 UTC
footballData: OK 2026-06-12 21:22:20 UTC
standings 9 OK 0m ago 2026-06-12 21:22:20 UTC
footballData: OK 2026-06-12 21:22:20 UTC
fantasy 0 Stale 9d ago 2026-06-03 12:17:42 UTC
archive 90 OK 6h ago 2026-06-12 15:00:33 UTC
statsbomb: OK 2026-06-12 15:00:32 UTC
openfootball: OK 2026-06-12 15:00:33 UTC

Warnings (4)

  • fantasy appears empty (count=0)
  • fantasy data is stale (225h old)
  • team-strength dataset is empty
  • entity-metadata dataset is empty

How this page is built

Every cron tick the update-data workflow refreshes data, regenerates pages, then runs scripts/check-data-health.mjs to write data/health.json. scripts/generate-status.mjs reads that file and renders this page in the same run, so the timestamps above are always within minutes of the live data.

Upstream data sources:

  • football-data.org — fixtures, standings, scorers for 10 free-tier competitions (PL · La Liga · Serie A · Bundesliga · Ligue 1 · UCL · Brasil Série A · Eredivisie · Primeira Liga · World Cup 2026 live scores).
  • OpenFootball — World Cup 2026 groups/venues/bracket + historical archive (CC0 licence).
  • StatsBomb open data — historical match event archive.
  • Wikidata + Wikipedia REST — player + team + competition enrichment (bio, image, summary).

Raw JSON for tooling / dashboards: /data/health.json.