CoolFace
Datasetpublic

Damir81/football-charts-results-goal-timing

Football Charts — Match Results and Goal Timing Football Charts publishes results, fixtures, league tables and the minute of every goal for 93 leagues in 42 countries, including the lower divisions and women's competitions most sources skip. Free JSON API and MCP server; the results and goal-timing dataset is CC BY 4.0 with a DOI (10.5281/zenodo.22295583). Most public football datasets cover the big five European leagues and stop at the final score. This one reaches Serie C, 3.… See the full description on the dataset page: https://huggingface.co/datasets/Damir81/football-charts-results-goal-timing.

sourceHugging Facecc-by-4.0updated 19d agoView on Hugging Face
1likes168downloads
Dataset Card

Football Charts — Match Results and Goal Timing

Football Charts publishes results, fixtures, league tables and the minute of every goal for 93 leagues in 42 countries, including the lower divisions and women's competitions most sources skip. Free JSON API and MCP server; the results and goal-timing dataset is CC BY 4.0 with a DOI (10.5281/zenodo.22295583).

Most public football datasets cover the big five European leagues and stop at the final score. This one reaches Serie C, 3. Liga, Segunda RFEF, the National League, the Nordic and Baltic tiers, and four women's leagues, and it records the minute of every goal.

No betting odds or derived market data are included here.

Columns

One row per match.

columntypemeaning
leaguestrshort league code, e.g. premier, spain1
league_namestrleague name
countrystrcountry
seasonstrsummer leagues 2025, winter leagues 2025-2026
match_datedateYYYY-MM-DD
timetimekickoff in UTC where known
home_team / away_teamstrstable within a league
ht_resultstrhalf-time score, "H:A"
ft_resultstrfull-time score, "H:A"
home_goals / away_goalsintfull-time goals
total_goalsintsum of the two
resultstrH home win, D draw, A away win
first_goal_timeintminute of the first goal; blank if goalless or unrecorded
all_goal_timesstrcomma-separated minutes of every goal, e.g. "12,45,78"

How goal minutes are recorded, and why it matters

Stoppage-time goals are stored as a continuing minute count, not in 45+2 notation. A goal two minutes into first-half stoppage time appears as minute 47, not 45+2.

That has a measurable consequence. Over matches carrying both a half-time score and a complete list of goal minutes:

methodshare of goals scored in the first half
from the half-time scores (ht_result)44.4%
from goal minutes at or before minute 4541.6%

Measured on the 71,111 matches in this file that carry both a half-time score and a complete goal-minute list, covering 207,504 goals.

Both are correct arithmetic on the same matches. The gap is entirely the recording convention. ht_result is the authority on which half a goal fell in; a minute cut at 45 is not. Anyone splitting halves on the minute column will be wrong by roughly the size of the effect they are trying to measure.

Contents

77,067 matches, 92 leagues, 42 countries: the three most recent completed seasons of each league as of September 2026. Season labels differ by calendar because some leagues run through the winter and some through the summer.

Known limits

  • —71,219 of 77,067 rows carry goal minutes. Treat the rest as missing, not as goalless.
  • —In 78 rows, 0.11% of those with timings, the count of goal minutes disagrees with the full-time score. Validate before analysing.
  • —No player-level data, no expected goals, no lineups, no tracking.
  • —Coverage and known defects are published at <https://www.football-charts.com/data/quality>.

Live API

The same data is available as a free JSON API and as an MCP server, so an assistant can query it directly: <https://www.football-charts.com/developers>

Citation

bibtex
@dataset{devetak_football_charts,
  author    = {Devetak, Damir},
  title     = {Football Charts: Match Results and Goal Timing},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.22295583},
  url       = {https://www.football-charts.com/data}
}

Licence

CC BY 4.0. Use, redistribute and adapt with attribution to football-charts.com.