Football Charts
สถิติฟุตบอลสำหรับ 93 ลีกในรูปแบบเครื่องมือ MCP: ตารางคะแนน ผลการแข่งขัน โปรแกรมการแข่งขัน ช่วงเวลาการทำประตู ความน่าจะเป็นจากโมเดล และการคาดการณ์ฤดูกาล คีย์ฟรี
เอกสาร
Free football data API & MCP server — 93 leagues
Results, fixtures, league tables, goal timing, a public baseline model and Monte Carlo season projections for 93 leagues in 42 countries — including the lower divisions most sources skip. Plain JSON over REST, or ten tools for Claude and other assistants via MCP. No key needed to start.
1 · Add it to Claude — nothing to install, no key
The hosted endpoint works in the claude.ai web and mobile apps, which no local server can. Keyless tier: 300 requests/day per IP. The URL carries no secret, so it is safe in configs and logs. The API runs on an always-on paid instance: no cold starts, warm responses in about 0.1 s.
claude.ai (web or mobile) — Settings → Connectors → Add custom connector
https://mcp.football-charts.com/mcp
Download the latest footballcharts-mcp-x.y.z.mcpb and open it:
https://github.com/ddevetak/footballcharts-mcp/releases/latest
claude mcp add football-charts -- npx -y footballcharts-mcp
Any MCP client — claude_desktop_config.json style
{ "mcpServers": { "football-charts": {
"command": "npx", "args": ["-y", "footballcharts-mcp"] } } }
Then ask: “Who leads the Estonian league?”, “When does Liverpool score most?”, “Can Hull stay up?”. Every tool is read-only. The model is a public baseline that does not beat the bookmaker market; the get_track_record tool is the proof.
2 · Need more? A free key gives 5,000 requests/day
Same data, higher limits (5,000/day, 60/min). All leagues, current + previous season. No odds — probabilities and results only. With a key the connector URL becomes https://mcp.football-charts.com/fc_your_key/mcp and stdio installs set FC_API_KEY.
3 · MCP with a key
claude.ai on web or mobile — add a custom connector
Settings → Connectors → Add custom connector
https://mcp.football-charts.com/fc_your_key/mcp
The key goes in the URL because a connector field takes only a URL. Prefer a header?POST /mcp with Authorization: Bearer works too. Keys are read-only and you can issue a new one at any time.
claude mcp add football-charts \
-e FC_API_KEY=fc_your_key \
-- npx -y footballcharts-mcp
{
"mcpServers": {
"football-charts": {
"command": "npx",
"args": ["-y", "footballcharts-mcp"],
"env": { "FC_API_KEY": "fc_your_key" }
}
}
}
4 · Plain REST — no key needed
curl https://footballcharts-backend.onrender.com/api/v1/leagues/premier/table/
# with a key: -H "Authorization: Bearer fc_your_key"
import requests
r = requests.get("https://footballcharts-backend.onrender.com/api/v1/leagues/premier/projection/")
# with a key: headers={"Authorization": "Bearer fc_your_key"}
print(r.json())
The MCP server is open source: github.com/ddevetak/footballcharts-mcp · npm package footballcharts-mcp
MCP tools
| about_football_charts | What the source covers and how to use it — call first when unsure |
|---|---|
| list_leagues | All 93 leagues + available seasons |
| get_league_table | Standings: points, W/D/L, goals, form; view=luck or goals |
| get_results | Finished matches: FT/HT scores, first-goal minute |
| get_fixtures | Upcoming matches with model probabilities |
| get_match | One match: full probability block across markets |
| get_season_projection | Title / top-4 / relegation %, points ranges (10k sims, daily) |
| get_team | One team: match log, goal timing, stats |
| get_goal_timing | Goals per 15-minute bin, per team (team filter) |
| get_track_record | Our settled public prediction ledger |
REST endpoints
Base URL: https://footballcharts-backend.onrender.com/api/v1 — the API also describes itself at GET /api/v1/.
| GET /leagues/ | all leagues + the seasons you can query |
|---|---|
| GET /leagues/{league}/table/?season=&view= | standings (classic | luck | goals) |
| GET /leagues/{league}/results/?season=&team= | finished matches |
| GET /leagues/{league}/fixtures/ | upcoming with model probabilities |
| GET /leagues/{league}/projection/ | Monte Carlo season projection |
| GET /leagues/{league}/goal-timing/?season= | goal-timing heat map |
| GET /leagues/{league}/teams/?season= | teams in table order |
| GET /leagues/{league}/teams/{team}/?season= | team page |
| GET /matches/{slug}/ | match detail |
| GET /track-record/ | settled prediction ledger |
Times are UTC. Every date and time in the API is UTC, and finished matches also carry kickoff_utc (ISO 8601, e.g. 2026-08-29T13:30:00Z). The site itself shows kickoffs in Central European time.
Changelog · 13 Oct 2026: kickoff times of finished matches corrected to UTC, and kickoff_utc added. Before this date a finished match's time was the source's local clock (Central European until July 2026, UK time since), not UTC.
Pricing
Four things. The plans change what the API returns (history) and how much you may call; the archive is a download.
Free
€0
- · All 90+ leagues
- · Current + previous season
- · Probabilities, projections, results, tables
- · Keyless 300/day per IP · free key 5,000/day
- · Attribution required
Free to use. If it helps your project, you can support it ☕
Personal
€9 / month · or €99 / year
- · Every season back to 2020, all 90+ leagues
- · The same endpoints and the same JSON — one flag on your key
- · No code change: your existing
?season=calls just stop returning 403 - · Results, tables, goal timings, teams · no odds
- · 5,000 requests/day · personal and research use Choose a plan →
Register a free key first — a plan upgrades the key you already have, within a minute of checkout. Cancel any time; access runs to the end of the paid period.
Commercial
€39 / month · or €390 / year
- · Everything in Personal
- · 25,000 requests/day
- · Use inside a product, app or paid service · attribution still required
- · Invoice on request · no redistribution of raw data Choose Commercial →
Data updates once a day after the overnight run (about 06:00 UTC): results, tables and projections for yesterday's matches, fixtures a few days ahead. Not live scores.
Odds archive
€199 one-off
- · A download, not an API — CSV + Parquet
- · Per-bookmaker opening + closing odds, 2020-21 to 2025-26
- · 1X2 (FT/HT), over/under ladders, Asian handicap, BTTS, correct score, HT/FT
- · Results and goal minutes joined Coverage, samples and prices →
Terms: free for personal and research use with attribution ("Data by football-charts.com"); no resale. Numbers are probabilities from match data — statistics, not betting advice · 18+. See also our track record and methodology.