CSV & Excel Data Exports · 98 Leagues
Football stats, results & match xG in clean CSV files
Every league table, upcoming fixture sheet and finished-match log on Football Charts exports directly as UTF-8 CSV across 98 leagues in 46 countries — including English National League, Spanish RFEF groups, German 3. Liga, Brazil, MLS, Japan, Nordic and women's leagues. No HTML scraping, no broken team-name joins, and every kickoff normalized to UTC.
1 · Get a free key once — download from any league page or script
CSV downloads use your API key (saved locally in your browser once entered, never shared with third parties). A free key covers all 98 leagues for the current and previous season at 200 downloads/day once you confirm your email address — no card required.
2 · Instant league CSV downloads (test free & historical seasons)
Click Table, Fixtures or Results on any league below to save the current CSV immediately, or click a 2023/24 link to see how historical seasons + 34 match-stat columns work on paid keys. All 98 leagues also carry these buttons at the top of their league hub pages.
| League | Code | Coverage | Current season CSV (Free key) | Historical + xG CSV (Paid key) |
|---|---|---|---|---|
| Premier League (England) | premier | Top flight · xG + shots | Download CSV:·· | Download CSV: |
| Championship (England) | cha | 2nd tier · xG + shots | Download CSV:·· | Download CSV: |
| LaLiga (Spain) | spain1 | Top flight · xG + shots | Download CSV:·· | Download CSV: |
| Bundesliga (Germany) | germany1 | Top flight · xG + shots | Download CSV:·· | Download CSV: |
| 2. Bundesliga (Germany) | germany2 | 2nd tier · xG + shots | Download CSV:·· | Download CSV: |
| Serie A (Italy) | italy1 | Top flight · xG + shots | Download CSV:·· | Download CSV: |
| Série A (Brazil) | brazil1 | Calendar season · xG + shots | Download CSV:·· | Download CSV: |
| MLS (USA) | usa1 | Calendar season · xG + shots | Download CSV:·· | Download CSV: |
| League Two (England) | eng2 | 4th tier · shots + goal min | Download CSV:·· | Download CSV: |
| Women's Super League (England) | wengland1 | Women's · shots + goal min | Download CSV:·· | Download CSV: |
3 · Exact CSV column dictionary
Every CSV file uses snake_case headers, ISO-8601 UTC dates (YYYY-MM-DD) and formula-injection protection for spreadsheet safety.
| CSV File | Endpoint | Tier | Exact Columns |
|---|---|---|---|
| League Table (17 cols) | /leagues/{code}/table/?format=csv&season= | Free (2 seasons) · Paid (2020+) | position, team, played, won, drawn, lost, goals_for, goals_against, goal_difference, points, last_5_form, expected_points, clean_sheets, failed_to_score, avg_goals_scored, avg_goals_conceded, over_25_percentage |
| Upcoming Fixtures (19 cols) | /leagues/{code}/fixtures/?format=csv | Free & Paid | match_date, time_utc, home_team, away_team, status, model, probabilities, p_home, p_draw, p_away, p_over_1_5, p_over_2_5, p_over_3_5, p_btts_yes, p_ht_over_0_5, p_ht_over_1_5, expected_home_goals, expected_away_goals, url |
| Match Results — Base (13 cols) | /leagues/{code}/results/?format=csv&season= | Free (2 seasons) · Paid (2020+) | date, time_utc, kickoff_utc, home_team, away_team, home_goals, away_goals, ht_home_goals, ht_away_goals, first_goal_minute, first_goal_added_minutes, goalless, stage |
| Match Results — Stats (+34 cols = 47 total) | Appended automatically on /results/?format=csv | Paid (€9/mo or €49 Season Pass) | home_xg, home_shots, home_shots_on_target, home_shots_off_target, home_shots_blocked, home_shots_inside_box, home_shots_outside_box, home_possession_pct, home_passes, home_passes_accurate, home_pass_accuracy_pct, home_corners, home_offsides, home_fouls, home_yellow_cards, home_red_cards, home_saves, away_xg, away_shots, away_shots_on_target, away_shots_off_target, away_shots_blocked, away_shots_inside_box, away_shots_outside_box, away_possession_pct, away_passes, away_passes_accurate, away_pass_accuracy_pct, away_corners, away_offsides, away_fouls, away_yellow_cards, away_red_cards, away_savesxG populated in ~25 leagues; shots, box shots, passes, corners, cards & saves in ~64 leagues (blank cell where not held). |
4 · Load directly into Python, R, Google Sheets or Excel
import pandas as pd
url = "https://footballcharts-backend.onrender.com/api/v1/leagues/premier/results/?format=csv&season=2026-2027"
df = pd.read_csv(url, storage_options={"Authorization": "Bearer fc_your_key"})
print(df.head())=IMPORTDATA("https://footballcharts-backend.onrender.com/api/v1/leagues/premier/results/?format=csv&season=2026-2027&key=fc_your_key")Need one bulk multi-league CSV right now for academic or exploratory work? Download our open Zenodo snapshot (76,991 matches across 92 leagues, CC BY 4.0, DOI 10.5281/zenodo.22295583), or inspect the 2020–2026 Historical Bookmaker Odds Archive (CSV + Parquet).
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).
