Free signup + 7 days PRO included Create my account
Data Shop › Football › 1X2 & Results
Football · 15 leagues · 2021 → 2026

27,831 European matches, 1X2 results and odds ready to backtest.

Premier League, LaLiga, Bundesliga, Serie A, Ligue 1, their second divisions and five more leagues. Score, half-time, xG, Bet365 and Pinnacle pre-match odds, and the close: Pinnacle, market average, best price.

15Leagues
27,831Matches
39Columns
5Full seasons
football_1x2_2425.csv
08/16Coventry – Oxford3–2E11.70/3.90/4.75H
09/20Zwolle – AZ Alkmaar1–2N16.50/5.00/1.42A
10/12Cadiz CF – Malaga2–2SP21.75/3.40/5.00D
10/26Kasimpasa – Samsunspor1–4T12.62/3.25/2.70A
11/10St. Gilloise – Genk4–0B12.45/3.40/2.75H
01/26TSG Hoffenheim – Eintracht Frankfurt2–2D13.10/3.60/2.20D
extract · 18 / 39 col.Figures measured on the delivered files — 2026-11-09.
Pricing

Choose your option

Same columns for every season. The price covers the file as it is at purchase time, unless marked “updated”.

One season

One full season of all 15 leagues.

€9
≈ 0.2 cent per game

5,222 matches · Jul 25, 2025 → May 31, 2026 · Pinnacle close 43%

Download link valid 72 h, 5 downloads

Buy season 2025-26
Best price per game

All seasons

2021 → 2026, plus the start of 2026-27.

€29€45−36%
≈ 0.1 cent per game
  • 27,831 matches, one file per season + a combined file
  • 2026-27 included up to Oct 21, 2026 (frozen)
  • Joins our other football files on match_id

Download link valid 72 h, 5 downloads

Buy — €29

Football Complete Pack

All 3 datasets, all seasons.

€69
  • 1X2 & Results
  • Over/Under 2.5
  • Machine Learning
See the pack
Secure payment StripeInstant download after paymentCSV + Parquet + detailed READMELicence your models, commercial too
What the data shows

Home, draw, away: league by league

Across every season in the file, the share of home wins, draws and away wins in each of the 15 leagues.

hover a row
43.4%home wins overall, 26.2% draws.
45.9%home wins in Süper Lig, the highest of the 15.
40.4%in Serie B, the lowest of the 15.
Use cases

Built for modelers

One row per match, a match_id key shared by all our football files, several odds levels side by side.

Backtest against the close

Pinnacle closing and market average: the benchmark to judge a strategy.

df = pd.read_parquet("football_1x2_all_seasons.parquet")
df["imp_home"] = 1 / df.pinnacle_close_home

Measure line-shopping value

Best closing price versus market average, match by match.

(df.max_close_home / df.avg_close_home - 1).describe()

Compare xG and results

Provider or computed xG (labelled), to separate luck from performance.

df.groupby("xg_source")[["home_xg", "home_goals"]].mean()
Transparency

Every column shows its fill rate.

Pinnacle closing thins out from October 2025 and stops on 2026-01-16, when the public source stopped publishing it. Market-average closing covers every season; best closing is the best price of each outcome, not available everywhere at once: an upper bound. We state it instead of filling the gaps. Since August 2025 the source's market-average and best closing carry higher margins and the best no longer includes Pinnacle: do not chain seasons at those prices without accounting for it (measured in the README).

Bet365 and Pinnacle “pre-match” odds are a weekly snapshot: neither opening nor closing. xG is labelled row by row: official provider or computed by ProbWin from shots (46.6% provider xG).

Cleaning (September 2026): team spellings unified, the same match recorded twice one day apart removed, and 22 mislabelled 2026-27 rows removed (Portuguese duplicates tagged LaLiga, Scottish matches tagged LaLiga2).

Pinnacle close 85.1 %Filled
Average close 99.9 %Filled
xG 99.5 %Filled
No surprises

What's in the file — and what isn't

Included

  • Final score, half-time, H/D/A result
  • Labelled xG (provider or ProbWin)
  • Bet365 and Pinnacle pre-match odds
  • Pinnacle close, market average, best price
  • Fair probability per outcome + best price vs fair price

Not included

  • Pinnacle closing after 2026-01-16
  • Opening odds
  • Cups and European competitions
  • Asian handicaps
Columns

Every column, with its fill rate

Measured on the delivered file. 100% = no missing values.

Match

match_id key (shared across our football files), season, league, date, teams

match_id100 %season100 %league100 %match_date100 %home_team100 %away_team100 %

Result

Final score, H/D/A result, half-time score

home_goals100 %away_goals100 %result100 %ht_home_goals99.9 %ht_away_goals99.9 %

xG

Expected goals, labelled source (provider or ProbWin)

home_xg99.5 %away_xg99.5 %xg_source99.5 %

Pre-match odds

Bet365 and Pinnacle, weekly pre-match snapshot

b365_home99.9 %b365_draw99.9 %b365_away99.9 %pinnacle_home84.9 %pinnacle_draw84.9 %pinnacle_away84.9 %

Closing

Pinnacle close (to 2026-01-16), market average, best price

pinnacle_close_home85.1 %pinnacle_close_draw85.1 %pinnacle_close_away85.1 %avg_close_home99.9 %avg_close_draw99.9 %avg_close_away99.9 %max_close_home99.9 %max_close_draw99.9 %max_close_away99.9 %

ProbWin layer

Fair probability without margin (Pinnacle close, else market average) and best price vs fair price

fair_prob_home99.9 %fair_prob_draw99.9 %fair_prob_away99.9 %fair_source99.9 %best_close_home99.9 %best_close_draw99.9 %best_close_away99.9 %best_vs_fair_home99.9 %best_vs_fair_draw99.9 %best_vs_fair_away99.9 %
Preview

The file, exactly as you'll get it

Six real rows, main columns. Download 50 free rows with every column to check it fits your pipeline.

football_1x2_2425.csv — extract Download 50 free rows
match_dateleaguehome_teamaway_teamhome_goalsaway_goalsresulthome_xgaway_xgb365_homeb365_drawb365_awaypinnacle_close_homepinnacle_close_drawpinnacle_close_awaymax_close_homemax_close_drawmax_close_away
2024-08-16E1CoventryOxford32H2.950.961.73.94.751.74.094.911.74.35.5
2024-09-20N1ZwolleAZ Alkmaar12A1.691.446.55.01.426.644.851.467.05.121.48
2024-10-12SP2Cadiz CFMalaga22D2.62.061.753.45.01.83.584.981.83.885.8
2024-10-26T1KasimpasaSamsunspor14A1.42.382.623.252.72.113.333.862.163.53.87
2024-11-10B1St. GilloiseGenk40H2.280.752.453.42.752.213.453.42.43.613.4
2025-01-26D1TSG HoffenheimEintracht Frankfurt22D2.322.33.13.62.23.433.882.093.433.92.14
Questions

Before you buy

Which leagues?

England (Premier League, Championship), Spain (LaLiga, LaLiga2), Germany (Bundesliga, 2. Bundesliga), Italy (Serie A, Serie B), France (Ligue 1, Ligue 2), Netherlands (Eredivisie), Portugal (Liga Portugal), Belgium (Jupiler Pro League), Turkey (Süper Lig), Greece (Super League).

How do I get the file?

Right after payment a download link appears on screen and is emailed to you. The archive contains CSV and Parquet files plus a README documenting every column.

Can I use it in a commercial product?

Yes for your models, analyses and tools, commercial ones included. Reselling or redistributing the files themselves is not allowed.

A question before buying?

Email [email protected] — the founder answers, usually the same day.

Also available

Complete your data

27,831 matches, 15 leagues, ready to load.

Choose my option
Figures measured on the delivered files — 2026-11-09. Not affiliated with the leagues mentioned.
GAMBLING PROHIBITED FOR MINORS. Gambling carries risks: debt, addiction, social isolation. Help & responsible play · BeGambleAware · GamCare: 0808 802 0133 · NCPG Helpline: 1-800-522-4700