Depth on live data
Every widget is a live Supabase query — refresh the page and you'll see any new rows that landed overnight. No pre-rendered HTML, no stale cache.
Two demo pages that expose every dimension of the foot.io database — shown on the records with the most metadata we have. No mock-ups, no dummy data, no shrinkwrap over the API: each page queries live Supabase the same way your integration will.
Every widget is a live Supabase query — refresh the page and you'll see any new rows that landed overnight. No pre-rendered HTML, no stale cache.
We don't just store our own data — each entity is cross-referenced to Wikidata, FBref, Transfermarkt, StatsBomb, Understat, football-data.org and more. One join, any source.
Both pages include a collapsible "Raw record" section with the untouched JSON dump. No marketing layer — this is literally what's in the database.
Because the ceiling matters for integrators. You want to know what's possible with our data, not what the coverage floor looks like. The floor is documented in the data catalogue.
We scored every team and player across: row-field completeness, number of external IDs, related-row counts (matches, lineups, events, season stats, standings). The top scorers were Manchester United (id 423) and Mohamed Salah (id 10577).
Yes — these pages hit public Supabase endpoints. Clone the markup, swap the hardcoded id, and you have a rich dashboard for any team or player. The underlying queries are plain PostgREST.
Long tail. Top-flight European clubs have 30+ seasons of FBref coverage; third-division Moldovan clubs don't. We don't fabricate data to fill gaps — missing fields are returned as null, and you can filter for records that meet your coverage bar.