Football Charts

Football statistics for 93 leagues as MCP tools: standings, results, fixtures, goal timing, model probabilities and season projections. Free key.

Documentation

Everything on Football Charts, machine-readable: tables, results, fixtures, model probabilities and Monte Carlo season projections for 90+ leagues — free, with a key you can create right here. Plug it into your code via REST, or into Claude and other AI assistants via our MCP server.

1 · Get a key

Free tier: all leagues, current + previous season, 5,000 requests/day. No odds — probabilities and results only.

2 · Use it from an AI assistant (MCP)

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 hosted endpoint needs nothing installed — 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" }
    }
  }
}

2 · …or plain REST

curl -H "Authorization: Bearer fc_your_key" \
  https://footballcharts-backend.onrender.com/api/v1/leagues/premier/table/
import requests

r = requests.get(
    "https://footballcharts-backend.onrender.com/api/v1/leagues/premier/projection/",
    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

list_leaguesAll leagues + available seasons — call first
get_league_tableStandings: points, W/D/L, goals, form
get_rankingsLuck-adjusted or goals-based re-ranking
get_resultsFinished matches: FT/HT scores, first-goal minute
get_fixturesUpcoming matches with model probabilities
get_matchOne match: full probability block across markets
get_season_projectionTitle / top-4 / relegation %, points ranges (10k sims, daily)
get_teamOne team: match log, goal timing, stats
get_goal_timingGoals per 15-minute bin, per team
get_track_recordOur 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/leagues + seasons your key 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

Free vs paid

Free

  • · All 90+ leagues
  • · Current + previous season
  • · Probabilities, projections, results, tables
  • · 5,000 requests/day · attribution required

Paid (coming)

  • · Multi-book odds (1X2, O/U, BTTS, AH, DNB, corners)
  • · Full historical archive
  • · Bulk export & higher limits
  • · Commercial license

Interested? contact@football-charts.com

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.