mcpField
F
Football xG: Understat Matches, Shots & Tables

Football xG: Understat Matches, Shots & Tables

Remote
apify.comGames & Entertainment0Updated 1d ago

About Football xG: Understat Matches, Shots & Tables

An Apify-hosted scraper for Understat football data, for analysts, fantasy football research and sports reporting. It provides xG tables, match and team data, player statistics, shots and lineups across listed leagues and seasons.

Key features

  1. 01Retrieve xG league tables
  2. 02Get fixtures, results and probabilities
  3. 03Collect team match logs
  4. 04Fetch per-90 player statistics
  5. 05Retrieve shots and lineups

Use cases

  1. 01Develop football models and conduct betting research
  2. 02Assess FPL picks using xG and xA
  3. 03Prepare match reports and data journalism

MCP support

Exposes the scraper through Apify's remote MCP server, allowing MCP clients to run it after connecting an Apify account.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.apify.com/?tools=serenido/football-xg-scraper
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.