Historical CSV, API & Odds Comparison · 98 Leagues
football-data.co.uk alternative & companion for 98 leagues, goal minutes, xG and odds ladders
Joseph Buchdahl's football-data.co.uk has been the gold-standard free CSV archive for ~22 main European divisions since the 1990s — if you need 1995–2019 Premier League CSVs, keep using it. Football Charts is built for everything those static CSVs don't cover: ~76 additional lower, non-European and women's leagues, exact first-goal minutes, per-match xG & box shots, live REST / Google Sheets / MCP feeds, and multi-line Asian handicap & Over/Under opening/closing ladders.
football-data.co.uk's 2026/27 files. Be aware of our own exact coverage before buying:- • Our 2020-21 to 2025-26 Historical Odds Archive (€29 single league / €199 all 98 leagues) holds 157,603 matches with opening & closing ladders (~3.07 bookmakers/match, bet365 named, no Pinnacle). Inspect the free 2. Bundesliga sample zip first.
- • Live 2026/27 per-bookmaker & Pinnacle closing capture began on our servers on 9 November 2026; it is not served on the live REST API today (the API serves calibrated model probabilities, never raw betting prices).
Side-by-side: Football Charts vs football-data.co.uk
| Dimension | Football Charts | football-data.co.uk |
|---|---|---|
| League breadth | 98 leagues in 46 countries — top flights plus National League & North/South, Primera/Segunda RFEF, 3. Liga, Serie C, Nordics, Baltics, MLS, Brazil A & B, Argentina, Liga MX, J1/J2, K1/K2 & 5 women’s leagues | 22 main European divisions + ~16 extra single-file country sheets |
| Historical depth | 2020 to present (standardized UTC kickoffs & canonical team names) | 1993/94 to present on core European leagues |
| Match statistics | FT/HT goals + exact 1st-goal minute (98 leagues); xG (~25 leagues) + shots, box shots, passes, corners, cards & saves (~64 leagues on Personal / €49 Season Pass) | FT/HT goals; basic shots, fouls, corners & cards in ~10–12 main divisions (no xG, no passes, no box shots, no goal minutes) |
| Upcoming fixtures & probabilities | Daily updated fixtures CSV & JSON with calibrated Dixon–Coles 1X2, O/U 1.5/2.5/3.5, BTTS & HT O/U probabilities + 10k-sim league projections | Weekend fixture CSV posted weekly during European season |
| Delivery & automation | REST JSON, ?format=csv, Google Sheets =IMPORTDATA(), Excel template & MCP server — updated daily around 06:00 UTC | Manual static CSV downloads per season file |
| Historical odds structure | Separate bulk download (/data, CSV + Parquet, 2020–2026): full multi-line Asian handicap & Over/Under ladders, 1X2 (FT/HT), BTTS, CS, HT/FT with opening + closing timestamps (~3 books/match, bet365 named) | Free flat CSV columns: 1X2, single O/U 2.5 line & single AH line (Pinnacle dropped in 2026/27) |
Download CSVs for leagues football-data.co.uk doesn't split by season
Register a free key below, then click any lower-division, Americas, Asian or women's league to test our CSV layout right away:
Looping across multiple leagues & seasons in Python
import pandas as pd
KEY = "fc_your_key" # €9/mo Personal or €49 one-off Season Pass unlocks 2020-2026 + xG/shots
frames = [
pd.read_csv(
f"https://footballcharts-backend.onrender.com/api/v1/leagues/germany3/results/?format=csv&season={y}-{y+1}",
storage_options={"Authorization": f"Bearer {KEY}"},
).assign(season=f"{y}-{y+1}")
for y in range(2020, 2027)
]
all_matches = pd.concat(frames, ignore_index=True)
print(len(all_matches), all_matches.columns.tolist()[:18])Plans & one-off options — same API key, zero formula or code changes
Start with a free key in 10 seconds. Upgrading flips one flag on your existing key so historical ?season= calls and per-match xG/stat columns unlock immediately.
Free Key
€0no card
200 requests/day
- • All 98 leagues (men's, lower tiers & women's)
- • Current + previous season
- • CSV, Google Sheets, REST JSON & MCP
- • FT/HT scores, first-goal minute, tables & probabilities
2026/27 Season Pass
No subscription€49one-off · through July 2027
or €9 / month cancel any time
5,000 requests/day
- • Every season back to 2020 across all 98 leagues
- • 34 per-match stat columns: xG (25 leagues), shots, box shots, passes & cards (~64 leagues)
- • Single payment, zero auto-renewal
- • Personal & academic/modelling use
Historical Odds Archive
€291 league · €199 all 98
Bulk CSV + Parquet download
- • 2020-21 to 2025-26 opening & closing bookmaker odds
- • 1X2, Asian handicap & Over/Under ladders, BTTS, CS
- • ~3 books/match, bet365 named (no Pinnacle in 2020–26 pack)
- • Free Germany 2 & Estonia sample zips included
Building an app, site, bot or paid channel that other people use? See the Commercial API plan (€39/month, 25,000 requests/day).
