McKay Johns

Where to Get Free Football Data

By McKay JohnsJune 2, 2025

The best free sources for football (soccer) data.

football dataweb scraping

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:

  1. Pay for it
  2. 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:

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:

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:

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:

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:

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:

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.