Free signup + 7 days PRO included Create my account
Data Shop › Football › Over/Under 2.5
Football · 15 leagues · 2021 → 2026

27,831 European matches on the 2.5 goals line.

The total-goals market across 15 leagues: score, OVER/UNDER result (never a push), xG, Bet365 and Pinnacle pre-match odds, and three closing levels.

15Leagues
27,831Matches
30Columns
5Full seasons
football_ou25_2425.csv
08/24Sunderland – Burnley1 goalE11.90 / 1.95UNDER
08/28Juve Stabia – Mantova1 goalI22.10 / 1.70UNDER
11/01Dunkerque – Amiens4 goalsF22.15 / 1.67OVER
12/15AVS – Benfica2 goalsP11.53 / 2.40UNDER
12/15Parma Calcio – Hellas Verona5 goalsI11.73 / 2.10OVER
05/17Farense – Santa Clara3 goalsP12.50 / 1.50OVER
extract · 14 / 30 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 42%

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

Over 2.5: league by league

Across every season in the file, the share of matches with 3+ goals in each of the 15 leagues.

hover a row
51.4%of matches over 2.5 overall.
61.4%in Bundesliga, the highest-scoring league.
43.3%in LaLiga2, the lowest-scoring.
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 Over 2.5

Pre-match and closing odds against the result, league by league.

df = pd.read_parquet("football_ou25_all_seasons.parquet")
df.groupby("league").over25_result.value_counts(normalize=True)

Measure line-shopping value

Best closing price versus market average.

(df.max_close_over25 / df.avg_close_over25 - 1).describe()

Link to xG

Provider or computed xG (labelled) against total goals.

df[["home_xg", "away_xg", "total_goals"]].corr()
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 84.8 %Filled
Average close 99.9 %Filled
xG 99.5 %Filled
No surprises

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

Included

  • Final score, total goals, OVER/UNDER 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
  • Other goal lines
Columns

Every column, with its fill rate

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

Match

match_id key, season, league, date, teams

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

Result

Final score, total goals, OVER / UNDER

home_goals100 %away_goals100 %total_goals100 %over25_result100 %

xG

Expected goals, labelled source

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

Pre-match odds

Bet365 and Pinnacle, weekly pre-match snapshot

b365_over2599.8 %b365_under2599.8 %pinnacle_over2584.7 %pinnacle_under2584.7 %

Closing

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

pinnacle_close_over2584.8 %pinnacle_close_under2584.8 %avg_close_over2599.9 %avg_close_under2599.9 %max_close_over2599.9 %max_close_under2599.9 %

ProbWin layer

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

fair_prob_over2599.9 %fair_prob_under2599.9 %fair_source99.9 %best_close_over2599.9 %best_close_under2599.9 %best_vs_fair_over2599.9 %best_vs_fair_under2599.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_ou25_2425.csv — extract Download 50 free rows
match_dateleaguehome_teamaway_teamtotal_goalsover25_resulthome_xgaway_xgb365_over25b365_under25pinnacle_close_over25pinnacle_close_under25max_close_over25max_close_under25
2024-08-24E1SunderlandBurnley1UNDER0.730.131.91.952.01.882.131.92
2024-08-28I2Juve StabiaMantova1UNDER0.911.242.11.72.171.752.191.8
2024-11-01F2DunkerqueAmiens4OVER2.361.822.151.672.231.72.321.77
2024-12-15P1AVSBenfica2UNDER0.770.731.532.41.582.461.582.58
2024-12-15I1Parma CalcioHellas Verona5OVER2.313.71.732.11.882.041.882.12
2025-05-17P1FarenseSanta Clara3OVER1.561.272.51.52.31.652.371.65
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