Back to Browse

Football Xg Scraper MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://mcp.apify.com/?tools=serenido/football-xg-scraper

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

Endpoint verified · Requires authentication · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

env_vars

Applies to the server that hosts this plugin, not to your machine.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

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

Documentation

View on GitHub

From the project's GitHub 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.

Reviews

No reviews yet

Be the first to review this server!