Football xG: Understat Matches, Shots & Tables
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).
claude mcp add --transport http football-xg-understat-matches-shots-tabl 'https://mcp.apify.com/?tools=serenido/football-xg-scraper'
{
"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
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
- Weibo Scraper: posts, hot searches, comments and creators. No login.
- Bilibili Scraper: videos, comments, danmaku and creators. No login.
- AliExpress Product Details Scraper: every variant with price and stock, shipping to 89 countries.
- AliExpress Search Scraper: price, discount and exact order count for any search.
- Australian Supermarket Prices: Coles, Woolworths and ALDI: Coles, Woolworths and ALDI in one run, with unit prices.
- Google Trends Scraper: interest over time, rising queries, regions and Trending Now.
- Weibo Hot Search Scraper: the live 微博热搜 list, changes since your last run, top posts per topic.
- AliExpress Dropshipping Scraper: winning products with shipping to your country, landed cost and profit.
- WeChat Official Account Scraper: 公众号 articles by keyword or link, with full text, account, author and date.
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.