If you are searching for historical football data with xG, you usually want one thing: finished seasons, in a file or a table, that you can load once and model against without a live feed, a scraper, or a per-call bill. The simplest answer on Dribble is the Legacy Archive: $49, one time, for six completed seasons of Opta-sourced data, and the files stay yours forever.
Here is exactly what is in it, what xG means in our data (and what it does not), and the routes to go deeper when six seasons are not enough.
The Archive: Six Completed Seasons, $49, Yours to Keep
| Dataset | Rows | Notes |
|---|---|---|
| Player Match Stats | 1.25M+ rows, 306 columns | Per player, per match, including pre-shot xG |
| Team Match Stats | 70,927 rows, 303 columns | Per team, per match |
| Matches | 41,017 | Results and match metadata |
| Players | 90,582 | Core player fields |
| Teams | 8,054 | |
| Managers | 4,118 | |
| Referees | 5,346 | |
| Transfers | 179,554 | |
| Seasons | 193 | Season reference table |
| Leagues | 33 | Competition reference table |
The archive covers 6 completed seasons, 2020/21 through 2025/26, across 31 competitions, and ships as 10 CSV datasets with a schema PDF. The licence is personal, research, and editorial use. To stay current after you buy, Updates cost $9.99/mo (or $99/yr) and deliver monthly current-season snapshots, starting 30 days after the archive purchase. Cancel anytime; the archive itself is never re-charged.
What the xG Actually Is
Our xG is Opta's pre-shot expected goals (qualifier 321), mapped per shot in the underlying event data and carried into the player-match and team-match stats. That matters because it is the same definition across every competition and season in the file, which is what makes cross-league and cross-season models comparable.
One honest limit: post-shot xG (xGOT) is not yet live in our pipeline. It is fully specified, at player and team level with a backfill across all seasons, but it has not shipped, and this page will not pretend otherwise. If your model needs post-shot xG today, we are not your source yet.
When You Need More Than the Archive
Event-level history, queried in SQL. BigQuery carries 57M+ event rows with Opta XY coordinates across 32 competitions from 2020 to the present, including 1.5M+ appearances and 86K+ team-match rows. Starter ($49/mo, personal and academic) refreshes monthly; Pro ($149/mo, commercial licence) refreshes weekly; Max ($499/mo) takes daily snapshots with normalized Premier League qualifiers, named lineups, formations, and revision history.
A competition outside the standard list. A further 2,172 competitions with match data exist in the Opta outlet. Extended coverage is available on custom one-time tiers, priced per competition per 10-season batch: Downloads Premium $249, API Ultra $499, BigQuery Site $999, delivered in 1 to 3 days after payment with a signed quote and contract. Volume: 20 seasons cost 1.8 times the 10-season price, 30 seasons cost 2.5 times.
Programmatic access instead of files. The API serves the same historical depth (6 seasons, 31 competitions) across 8 datasets, from $19/mo for personal and research use (Lite) with a commercial licence on Elite ($49/mo).
Frequently Asked
Where can I get historical football data with xG? For downloadable files, Dribble's Legacy Archive: $49 one-time, 6 completed seasons, 31 competitions, 1.25M+ player-match rows with pre-shot xG, and the files stay yours. For event-level history in SQL, the same data is on BigQuery from $49/mo.
How many seasons of xG data are included? Six completed seasons, 2020/21 through 2025/26, in the archive and the API. BigQuery coverage runs from 2020 to the present across 32 competitions.
Is the xG pre-shot or post-shot? Pre-shot (Opta qualifier 321). Post-shot xG is specified but not yet shipped; we say so plainly rather than selling it early.
Can I use the archive commercially? The archive licence covers personal, research, and editorial use. Commercial products, client work, and redistribution need a commercial route: API Elite or Flite, BigQuery Pro or Max, or a custom licence.
Do the files expire? No. The archive files stay yours forever. Updates are a separate optional subscription for current-season snapshots.
Can I get a league that is not in the 31? Very likely, on a custom tier: 2,172 further competitions exist in the Opta outlet and are delivered per competition per 10-season batch in 1 to 3 days.
Get six seasons of xG data for $49, once. No subscription, no per-call bill, files that stay yours. Get the Legacy Archive