1. StatsBomb open data

What: full event data (passes, shots, pressures, carries, 360 freeze-frames) for selected competitions. Where: github.com/statsbomb/open-data Good for: event-level modelling, xG, pass networks, defensive metrics. Trade-off: only a subset of competitions and seasons; you cannot pick the latest matchday.

2. FBref

What: the deepest public repository of team and player tables — including advanced stats derived from Opta data. Where: fbref.com Good for: historical comparisons, league tables with advanced metrics, scouting by percentile. Trade-off: it is a website, not an API. Respect their conditions and keep scraping minimal — packages like soccerdata cache aggressively for a reason.

3. Understat

What: shot-level xG data for the top five European leagues, back to 2014. Where: understat.com Good for: xG trend analysis, shot maps, season-long team comparisons. Trade-off: one xG model only (their own), five leagues.

4. football-data.co.uk

What: results, tables and betting odds going back decades, as clean CSV files. Where: football-data.co.uk Good for: modelling match outcomes, testing market efficiency, backtesting. Trade-off: no events; one row per match.

5. OpenFootball

What: open, scrape-free datasets: World Cup squads and matches, and league archives in JSON/CSV. Where: github.com/openfootball Good for: historical tournaments, quick joins with odds datasets. Trade-off: sparse on modern domestic leagues compared to the sources above.

Bonus: let Python do the plumbing

soccerdata (a Python package) wraps FBref, Understat, WhoScored and others behind pandas DataFrames, with local caching and polite rate limits:

import soccerdata as sd

fbref = sd.FBref(leagues="ENG-Premier League", seasons="2025-26")
stats = fbref.read_team_season_stats(stat_type="passing")
understat = sd.Understat(leagues="ENG-Premier League", seasons="2025")
shots = understat.read_shot_events()

How to choose

Question Start with
"Why are we losing matches we dominate?" StatsBomb events + your own xG
"How does this player compare historically?" FBref
"Is this team's finishing sustainable?" Understat xG trend
"Can I beat the market model?" football-data.co.uk odds
"I need tournament history fast" OpenFootball

Pick one, build something small, and publish what you find.