Understat xG Player Stats Scraper avatar

Understat xG Player Stats Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Understat xG Player Stats Scraper

Understat xG Player Stats Scraper

Pull player expected goals data from Understat for the top European leagues. Each player returns games, minutes, goals, assists, shots, xG, xA, non penalty xG, xGChain, and xGBuildup for a chosen season. Great for football analytics, model building, and player scouting.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

14 days ago

Last modified

Share

ParseForge Banner

⚽ Understat xG Player Stats Scraper

🚀 Get the full xG leaderboard for a league in one run. EPL 2024/2025 returns 562 players with goals, expected goals, assists, and expected assists.

🕒 Last updated: 2026-06-02 · 📊 23 fields per player · 6 leagues · seasons from 2014

Pull advanced player statistics from Understat, the expected goals data source for top European football. Pick a league and a season, and for every player get games, minutes, goals, assists, shots, xG, xA, non penalty xG, xGChain, and xGBuildup.

Coverage: Premier League, La Liga, Bundesliga, Serie A, Ligue 1, and the Russian Premier League, for every season from 2014 to the current campaign.

🎯 Target Audience💡 Primary Use Cases
Football analystsBuild xG models and reports
Bettors and tradersFind over and under performers
Scouts and clubsCompare player output
Data scientistsBuild football datasets

📋 What the Understat xG Player Stats Scraper does

  • Pulls the complete player list for a league and season.
  • Returns 23 structured fields per player, including xG and xA.
  • Includes non penalty xG, xGChain, and xGBuildup advanced metrics.
  • Numbers come parsed and ready, with xG values rounded for readability.
  • Links each player to their Understat profile.
  • Exports to CSV, Excel, JSON, XML, or via API.

🎬 Full Demo (🚧 Coming soon)

⚙️ Input

FieldTypeDescription
leaguestringLeague to scrape (Premier League, La Liga, and more).
seasonintegerSeason start year (2024 means 2024/2025).
maxItemsintegerCap on players returned. Free plan is limited to 10.

Example 1: Premier League

{
"league": "EPL",
"season": 2024,
"maxItems": 100
}

Example 2: La Liga, an older season

{
"league": "La_liga",
"season": 2021,
"maxItems": 50
}

⚠️ Good to Know: the season value is the start year of the campaign, so 2024 returns the 2024/2025 season. Players are returned in goals order. Six leagues are supported, with data going back to the 2014/2015 season.

📊 Output

Each record contains the following fields:

FieldDescription
🆔 playerIdUnderstat player ID
playerNamePlayer name
🛡 teamTeam name
📍 positionPosition
🏆 leagueLeague name
📅 seasonSeason label
🎮 gamesGames played
minutesMinutes played
🥅 goalsGoals
🅰 assistsAssists
🎯 shotsShots
🔑 keyPassesKey passes
📈 xGExpected goals
📈 xAExpected assists
🥅 npGoalsNon penalty goals
📊 npxGNon penalty expected goals
🔗 xGChainxG chain involvement
🏗 xGBuildupxG buildup involvement
🟨 yellowCardsYellow cards
🟥 redCardsRed cards
🔗 playerUrlUnderstat profile link
🕒 scrapedAtCollection timestamp
errorError message, null on success

Real sample records:

{
"playerId": 3423,
"playerName": "Kylian Mbappe-Lottin",
"team": "Real Madrid",
"position": "F",
"league": "La Liga",
"season": "2024/2025",
"games": 34,
"minutes": 2938,
"goals": 31,
"assists": 3,
"shots": 161,
"keyPasses": 51,
"xG": 30.14,
"xA": 9.39,
"npGoals": 24,
"npxG": 23.45,
"xGChain": 38.31,
"xGBuildup": 11.08,
"playerUrl": "https://understat.com/player/3423",
"error": null
}
{
"playerName": "Robert Lewandowski",
"team": "Barcelona",
"league": "La Liga",
"season": "2024/2025",
"games": 35,
"goals": 27,
"assists": 2,
"shots": 121,
"xG": 29.41,
"xA": 2.48,
"npxG": 23.1,
"error": null
}
{
"playerName": "Mohamed Salah",
"team": "Liverpool",
"league": "Premier League",
"season": "2024/2025",
"games": 38,
"goals": 29,
"assists": 18,
"shots": 130,
"xG": 27.71,
"xA": 15.86,
"npxG": 20.86,
"error": null
}

✨ Why choose this Actor

  • Full leaderboard. Every player in a league and season, not just the top names.
  • Advanced metrics. xG, xA, npxG, xGChain, and xGBuildup in one row.
  • Ready numbers. Values are parsed and rounded, not raw strings.
  • Six leagues, many seasons. Coverage back to 2014.
  • Ready to export. CSV, Excel, JSON, XML, or API, with a clean table view.

📈 How it compares to alternatives

Understat xG Player Stats ScraperManual copyGeneric web scrapers
Whole-league player list⚠️ Needs setup
Advanced xG metrics⚠️
Parsed numeric output⚠️
Multi-season coverage⚠️⚠️
Export to CSV/Excel/JSON/XML⚠️

🚀 How to use

  1. Create a free Apify account using this sign-up link.
  2. Open the Understat xG Player Stats Scraper.
  3. Pick a league, set a season year, and set maxItems.
  4. Click Start and watch the dataset fill in real time.
  5. Export your results as CSV, Excel, JSON, or XML, or pull them via API.

💼 Business use cases

📈 Performance analysis

GoalHow
Find over performersCompare goals against xG
Spot creatorsRank by xA and key passes

🎲 Betting and trading

GoalHow
Build modelsUse xG and npxG as inputs
Track formPull recent seasons

🔭 Scouting

GoalHow
Compare targetsLine up xG output per player
Filter by roleRead the position field

📊 Research

GoalHow
Study leaguesAggregate players by season
Track trendsCompare seasons over time

🔌 Automating Understat xG Player Stats Scraper

Connect this Actor to your stack with Apify integrations: Make, Zapier, Slack, Airbyte, GitHub, and Google Drive. Schedule runs and push fresh xG data into spreadsheets, databases, or alerts.

🌟 Beyond business use cases

  • Research: study how expected goals predict outcomes.
  • Personal: settle debates about your favorite players.
  • Non-profit: support grassroots football analytics.
  • Experimentation: build prediction projects with real data.

🤖 Ask an AI assistant

Paste your dataset into ChatGPT, Claude, Perplexity, or Copilot and ask for the biggest over performers, top creators by xA, or finishing efficiency.

❓ Frequently Asked Questions

1. Which leagues are covered? Premier League, La Liga, Bundesliga, Serie A, Ligue 1, and the Russian Premier League.

2. How far back does the data go? To the 2014/2015 season.

3. What does the season number mean? It is the start year. 2024 returns the 2024/2025 season.

4. What is xG? Expected goals, an estimate of how likely each shot was to score.

5. What advanced metrics are included? xG, xA, non penalty xG, xGChain, and xGBuildup.

6. Are the values numbers or text? Numbers. xG style values are rounded to two decimals.

7. What export formats are supported? CSV, Excel, JSON, XML, and API.

8. Do I need an API key? No. The Actor uses publicly available data.

9. Can I run it on a schedule? Yes, with Apify Schedules and integrations.

10. Is there a free option? Yes. Free runs are limited to 10 items as a preview. Paid plans unlock up to 1,000,000.

🔌 Integrate with any app

Use the Apify API, webhooks, and 5,000-plus integrations to push Understat data into Make, Zapier, Google Sheets, Airtable, databases, and more.

💡 Pro Tip: browse the complete ParseForge collection.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: independent tool, not affiliated with Understat. Only publicly available data is collected.