Where to Get Free Football Data
The best free sources for football (soccer) data.
When I first started getting interested in sports analytics, I ran into a problem many people still face: the data is scarce and hard to come by.
There are two main ways to get data:
- Pay for it
- Gather it through web scraping
Since I don’t have tens of thousands of dollars to pay for it, I’ve always scraped it—which is exactly what I teach in my course, Get Free Sports Data Forever by Building a Web Scraping Pipeline.
Here are my seven favorite sources for free football (soccer) data.
1. WhoScored.com
Key data available:
- Event data from live and historical matches
WhoScored is a gold mine because it has what many other sites don’t: detailed event data. With it, you can access each individual pass and action taken during a match.
The downside is that they don’t include xG values, so you’ll need to combine it with another source for that.
2. StatsBomb Free API
Key data available:
- Advanced event data from historical matches
The free StatsBomb API is incredible. You can access high-level event data—including StatsBomb360—through their free offering.
If you’re just getting started in sports analytics, I recommend starting here. You get a lot of high-quality, well-structured data that’s very accessible.
3. FBref.com
Key data available:
- Aggregated and high-level stats
FBref is extremely useful because it provides aggregated data. While individual actions are great, FBref lets you pull rolled-up stats across weeks, seasons, careers, and more.
4. SofaScore.com
Key data available:
- xG values for shots
- Physical data (sprint speed, distance covered, etc.)
I’ve used SofaScore for a long time to get xG values for shots. They source from Opta, which is a big plus. The downside is that scraping requires interacting with their API, and they do a lot to prevent access—so it takes work.
5. Understat.com
Key data available:
- xG values for shots
Understat is my backup for SofaScore. It’s very easy to scrape and offers solid information about matches and shots.
The trade-off: as far as I know, their xG comes from their own model, so it’s not as precise as Opta or StatsBomb—but it’s still good and usable.
6. FotMob.com
Key data available:
- Match stats and timelines (team and player)
- xG and shot maps
- Player ratings and season aggregates
- Physical data (sprint speed, distance covered, etc.)
FotMob is a great option for quick access to rich match pages with xG, shot maps, and player-level summaries. It’s excellent for exploratory work and cross-checking numbers. Scraping also involves interacting with their API, which can be challenging as they do a lot to prevent access.
Those are my seven favorites! If you want to get started, I have YouTube videos covering some of these sources that walk you through building scrapers in Python: McKay Johns on YouTube.