Football xG: Understat Matches, Shots & Tables

Official registry Games, sports and entertainment

Understat football xG data: xG tables, matches, shots, players and lineups for top 5 leagues + RFPL.

What can you do with Football xG: Understat Matches, Shots & Tables?

  • Football models and betting research
  • Fantasy football (FPL) player picks by xG and xA
  • Match reports and data journalism

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http football-xg-understat-matches-shots-tabl 'https://mcp.apify.com/?tools=serenido/football-xg-scraper'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "football-xg-understat-matches-shots-tabl": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=serenido/football-xg-scraper"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Football xG Scraper API
  2. What you get
  3. Quick start: Python
  4. Quick start: JavaScript (Node.js)
  5. Quick start: one HTTP call
  6. Use it from AI apps (MCP)
  7. Input example
  8. Output example (one row)
  9. Use cases
  10. More tools by Serenido
  11. Support

Football xG Scraper API

Get Understat expected goals (xG) data as clean rows: xG league tables, fixtures and results with xG, team match logs (xG, xGA, PPDA), player stats per 90, every shot with xG, lineups. Premier League, La Liga, Bundesliga, Serie A, Ligue 1, RFPL, 2014 to now.

Runs in the cloud on Apify. No servers, no proxy setup, no code to maintain. Open it on Apify

Price: $3 per 1,000 rows. No monthly fee. Apify's free plan gives $5 of usage every month, no credit card needed. Current price.

What you get

  • xG league table: points vs expected points (xPts), xG, xGA, npxG, PPDA, deep passes; optional form table of the last N matches
  • Fixtures and results with home/away xG and Understat's win/draw/loss probabilities
  • Team match logs: xG, xGA, PPDA and deep passes per team per match
  • Player season stats with per-90 numbers (xG90, xA90, xGChain90)
  • Every shot with xG, pitch position, situation and shot type; lineups and player match logs

Quick start: Python

pip install -U apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("serenido/football-xg-scraper").call(run_input={
    "mode": "table",
    "leagues": [
        "EPL",
        "La_liga"
    ],
    "seasons": [
        "current"
    ]
})

for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

Quick start: JavaScript (Node.js)

npm install apify-client
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const run = await client.actor("serenido/football-xg-scraper").call({
    "mode": "table",
    "leagues": [
        "EPL",
        "La_liga"
    ],
    "seasons": [
        "current"
    ]
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Quick start: one HTTP call

Runs the tool and returns the rows in one request. Good for runs under 5 minutes; for bigger runs use the Python or JavaScript example.

curl -X POST "https://api.apify.com/v2/acts/serenido~football-xg-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "table", "leagues": ["EPL", "La_liga"], "seasons": ["current"]}'

Get your token in Apify Console > Settings > API & Integrations.

Use it from AI apps (MCP)

Any app that supports remote MCP servers (Claude, ChatGPT, Cursor, VS Code and others) can run this tool for you. Add this server URL: https://mcp.apify.com?tools=serenido/football-xg-scraper. Your Apify account connects on first use. Example config for Cursor:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=serenido/football-xg-scraper"
    }
  }
}

Input example

{
  "mode": "table",
  "leagues": [
    "EPL",
    "La_liga"
  ],
  "seasons": [
    "current"
  ]
}

Other modes: matches, teamMatches, players, shots, lineups, playerMatches. All options are listed on the input page.

Output example (one row)

{
  "type": "shot",
  "league": "Premier League (England)",
  "season": "2026/27",
  "matchId": "31239",
  "date": "2026-10-12 19:00:00",
  "homeTeam": "Coventry",
  "awayTeam": "Newcastle United",
  "minute": 5,
  "team": "Coventry",
  "player": "Jack Rudoni",
  "result": "Goal",
  "isGoal": true,
  "xG": 0.7612,
  "x": 0.885,
  "y": 0.5,
  "situation": "Penalty",
  "shotType": "LeftFoot"
}

Download as JSON, CSV or Excel, or connect to Make, Zapier or n8n.

Use cases

  • Football models and betting research
  • Fantasy football (FPL) player picks by xG and xA
  • Match reports and data journalism

More tools by Serenido

Support

Found a bug or need a field? Open an issue here or on the Issues tab on Apify.

Use it only for public data and follow the website's terms and the laws that apply to you. This project is not affiliated with the websites it reads.

Frequently asked questions

What is Football xG: Understat Matches, Shots & Tables?

Understat football xG data: xG tables, matches, shots, players and lineups for top 5 leagues + RFPL.

How do I install Football xG: Understat Matches, Shots & Tables?

It runs as a remote server. In Claude Code: claude mcp add --transport http football-xg-understat-matches-shots-tabl 'https://mcp.apify.com/?tools=serenido/football-xg-scraper'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Football xG: Understat Matches, Shots & Tables need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Football xG: Understat Matches, Shots & Tables open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains Football xG: Understat Matches, Shots & Tables?

It is published by serenido. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.