Football Fixtures, Results & League Tables — Open Data avatar

Football Fixtures, Results & League Tables — Open Data

Pricing

$0.35 / 1,000 row returneds

Go to Apify Store
Football Fixtures, Results & League Tables — Open Data

Football Fixtures, Results & League Tables — Open Data

Fixtures, results and league tables for 25 football competitions (Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Brasileirão, Champions League, Peru Liga 1 and more) from open-licensed sources. Seasons back to 2010, one clean schema, no proxies.

Pricing

$0.35 / 1,000 row returneds

Rating

0.0

(0)

Developer

Bruno Scherer Oliveira

Bruno Scherer Oliveira

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Get fixtures, results and league tables for 25 football competitions in one clean schema: Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Eredivisie, Primeira Liga, Brasileirão, Champions League, Peru Liga 1 and more. Seasons go back to 2010/11 for the big leagues.

All data comes from open-licensed sources, so you can use the output in your own products: no proxies, no browser and no scraping of sites that forbid it.

What you get

Each dataset row is either a match or a standing (type field).

Match

FieldExample
competition, competitionName, countryen.1, Premier League, England
season2024/25 (or 2026 for calendar-year leagues)
round, roundNumberMatchday 1, 1
date, kickoffUtc / kickoffLocal2024-08-16, 20:00
homeTeam, awayTeamManchester United FC, Fulham FC
homeGoals, awayGoals, halftimeHome, halftimeAway1, 0, 0, 0
statusfinished, scheduled or result_pending
goals (optional)minute, scorer, penalty / own goal (German competitions and Champions League)

Standing

FieldExample
tableoverall (Peru: apertura, clausura, acumulada)
position, team1, Liverpool FC
played, won, drawn, lost38, 25, 9, 4
goalsFor, goalsAgainst, goalDifference, points86, 41, 45, 84
computedtrue when the table is calculated from match results
notesofficial remarks such as point deductions (Peru)

Every row also carries source, sourceUrl, license and scrapedAt.

Competitions

IdCompetitionSourceSeasons
de.1, de.2, de.3Bundesliga, 2. Bundesliga, 3. LigaOpenLigaDBmany, incl. current
de.cupDFB-Pokal (matches)OpenLigaDBmany, incl. current
uefa.clChampions League (matches)OpenLigaDBmany, incl. current
en.1 – en.4Premier League, Championship, League One, League Twoopenfootball2010/11 →
es.1, es.2La Liga, Segundaopenfootball2012/13 →
it.1, it.2Serie A, Serie Bopenfootball2013/14 →
fr.1, fr.2Ligue 1, Ligue 2openfootball2014/15 →
at.1, at.2Austrian Bundesliga, 2. Ligaopenfootball2010/11 →
nl.1, pt.1, be.1, sco.1, tr.1, gr.1Eredivisie, Primeira Liga, Pro League, Premiership, Süper Lig, Super Leagueopenfootball2018/19 →
br.1Brasileirão Série Aopenfootball2019 → (some years missing)
pe.1Peru Liga 1 (standings only)liga1.pecurrent season

Input

  • Competitions: one or more ids from the table above.
  • Seasons: start years, e.g. 2024 for 2024/25. Leave empty for the current season. If a league's current season isn't published yet, you get the latest one and a warning.
  • What to return: matches, standings, or both.
  • Finished matches only, Team filter (e.g. arsenal) and Include goal events.

Example:

{
"competitions": ["en.1", "es.1", "pe.1"],
"seasons": ["2024", "2025"],
"include": "both",
"onlyFinished": true
}

Good to know

  • Freshness. OpenLigaDB (German competitions, Champions League) is updated by its community on matchday. openfootball (the other European leagues and Brazil) is maintained by volunteers and can lag a few weeks in the current season. Past matches it hasn't filled in yet are marked result_pending rather than guessed. It is best for history and season-level analysis, not live scores.
  • Computed tables (openfootball leagues) use 3/1/0 points and rank by points, goal difference, then goals scored. Point deductions and head-to-head tie-breakers are not applied. OpenLigaDB and Peru tables come straight from the source.
  • Peru standings are fetched from the league's own site at most once every 30 seconds, as its robots.txt asks.
  • A run requesting a season that a source doesn't have finishes normally and lists it in RUN_SUMMARY. You aren't charged for it.

Pricing

You pay per dataset row (match or standing). A full Premier League season with its table is 400 rows.

Licences and attribution

  • OpenLigaDB data is under the Open Database License (ODbL) 1.0, © OpenLigaDB contributors (openligadb.de). If you publish a database built from it, credit OpenLigaDB and share that database under the ODbL. OpenLigaDB runs on donations; consider supporting it.
  • openfootball data (openfootball/football.json) is public domain (CC0 1.0).
  • Peru Liga 1 standings are published by the Liga de Fútbol Profesional at liga1.pe.

This Actor is not affiliated with any league, club or data provider.