Download Our Data

Football data for analysts, pundits and speculatorsfleeing FBref.

The community's go-to free source just went behind a paywall. Download 1M+ match records as clean CSVs, query via REST API, or write SQL directly in BigQuery — 306 columns per appearance, 23 leagues, 6 seasons. From $5/mo.

Monthly Annual 2 months free
One Plan. All Inclusive.

Dribble 360 Plus

$5/mo

Billed monthly via Stripe. Cancel anytime.

Secure checkout via Stripe

23 leagues from 2020/21 through 2025/26
90,000+ players · 8,000+ teams · 4,100+ managers · 5,300+ referees
41,017 matches with full match-level stats
1,257,343 player-match records — 306 columns each
70,927 team-match records — 303 columns each
179,000+ transfer records with dates
Monthly update email — one click logs you in to download fresh datasets
Schema documentation & consistent entity IDs

Datasets

What You Get

Ten clean, ready-to-query datasets — the depth you'd expect from a professional provider, at analyst-friendly prices.

Players

90,582

Every registered player across all 23 competitions. Name, nationality, unique ID for cross-referencing.

id, name, slug, known_name, country_id

Player Match Stats

1,257,343

306 columns per appearance — goals, xG, xA, SCA, GCA, progressive carries, shot zones, keeper actions.

player_id, match_id, goals, expected_goals, sca, gca, progressive_carries, ...306 cols

Teams

8,054

Complete team directory with official names, short names, codes, slugs, and country associations.

id, name, short_name, official_name, slug, country_id

Team Match Stats

70,927

303 columns per team per match. Passing breakdowns, shot locations, set pieces, pressing metrics, xG for/against.

team_id, match_id, expected_goals, accurate_pass, total_scoring_att, ...303 cols

Matches

41,017

Every fixture with date, result, competition context, and season linkage. The backbone connecting players, teams, and stats.

id, date, home_score, away_score, season_id, slug, description

Managers

4,118

Manager-match records across all competitions. Track careers, appointments, and match outcomes. 72,299 match records.

manager_id, match_id, team_id, season_id

Referees

5,346

Referee assignments across all competitions. Cards, fouls — valuable for prediction models. 180,774 match records.

referee_id, match_id, league_known_name, yellow_cards, red_cards, fouls

Transfers

179,554

Player movements between clubs with dates. Reconstruct squads at any point in time. Essential for scouting.

player_id, from_team_id, to_team_id, start_date, end_date

Seasons

193

One row per league-season — the bridge that attributes every match to its competition and campaign.

id, name, start_date, end_date, active, league_id

Leagues

33

Competition directory for every covered league and cup, with known names, codes, and formats.

id, name, known_name, code, format, country_id

Coverage

Leagues & Seasons

23 competitions from 2020/21 through 2025/26.

Top 5 Leagues

  • Premier League20/21→25/26
  • La Liga20/21→25/26
  • Bundesliga20/21→25/26
  • Ligue 120/21→25/26
  • Serie A20/21→25/26

European Competitions

  • Champions League20/21→25/26
  • Europa League20/21→25/26
  • Conference League21/22→25/26
  • UEFA Super Cup20/21→25/26

Domestic Competitions

  • FA Cup, Carabao Cup, Community Shield (ENG)
  • Copa del Rey, Supercopa (ESP)
  • DFB Pokal, German Super Cup (GER)
  • Coupe de France, Trophée des Champions (FRA)
  • Coppa Italia, Italian Super Cup (ITA)
  • Taça de Portugal, Taça da Liga (POR)

Other Leagues

  • Saudi Pro League20/21→25/26
  • MLS2020→2025
  • Primeira Liga20/21→25/26

Use Cases

Built For

Data Viz Creators

Build charts, analytical threads, and data newsletters with clean CSVs. Open in Python, R, or Excel — no scraping, no waiting for a free tier to come back.

Prediction & xG Models

306 match-level features per appearance: xG, xA, SCA, GCA, progressive carries, shot zones. Pre-cleaned with consistent entity IDs across 6 seasons — drop straight into pandas or scikit-learn.

Scouts & Researchers

Compare players across 23 leagues, track careers across 6 seasons, build transfer shortlists backed by data. The longitudinal coverage that ad-supported stat sites can no longer afford to give away free.

Process

How It Works

1

Subscribe

Choose a plan and subscribe via Stripe. No contracts, cancel anytime.

2

Log In & Download

Your welcome email contains a direct login link. One click and you're on your subscriber page — ten CSVs and the schema PDF ready to go. No password ever.

3

Stay Current

Each month we email you when fresh data lands. One click logs you straight back in. No manual checking, no remembering passwords.

Schema

API-Ready Structure

Consistent entity IDs across all tables. Join anything to anything.

query.sql
-- Mbappé's xG per match this season
SELECT m.date, m.description,
       pm.expected_goals, pm.goals, pm.sca
FROM player_matches pm
JOIN matches m ON m.id = pm.match_id
JOIN seasons s ON s.id = m.season_id
JOIN players p ON p.id = pm.player_id
WHERE p.known_name = 'Mbappé'
  AND s.name = '2025/2026'
ORDER BY m.date DESC;

Full schema documentation included with every download.

Download Schema PDF

What analysts are saying.

Loved by data scientists, analysts and journalists
"

Finally stopped patching together CSVs from FBRef. The player_matches dataset alone is worth the subscription — 306 columns per appearance, six seasons, clean entity IDs. Ready for pandas in 30 seconds.

JT
Jamie T.
Data Scientist, Fantasy Football Platform
"

Our xG model runs entirely off the API now. Generous rate limits, consistent column names, and the BigQuery tier meant we could benchmark 1M rows without spinning up our own infra.

RL
Research Lead
Sports Analytics Consultancy
"

I write about football for a living. The BigQuery access changed how I work — I can pull career arcs for any player across Europe in under a minute. Nothing else at this price comes close.

AM
Alex M.
Football Journalist & Analyst
Cancel anytime
24-hour refund guarantee
Daily Opta data refresh
No setup fees
Secure Stripe checkout
Commercial licences available

Questions

FAQ