Football Fixtures, Results & League Tables — Open Data
Pricing
$0.35 / 1,000 row returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
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
| Field | Example |
|---|---|
competition, competitionName, country | en.1, Premier League, England |
season | 2024/25 (or 2026 for calendar-year leagues) |
round, roundNumber | Matchday 1, 1 |
date, kickoffUtc / kickoffLocal | 2024-08-16, 20:00 |
homeTeam, awayTeam | Manchester United FC, Fulham FC |
homeGoals, awayGoals, halftimeHome, halftimeAway | 1, 0, 0, 0 |
status | finished, scheduled or result_pending |
goals (optional) | minute, scorer, penalty / own goal (German competitions and Champions League) |
Standing
| Field | Example |
|---|---|
table | overall (Peru: apertura, clausura, acumulada) |
position, team | 1, Liverpool FC |
played, won, drawn, lost | 38, 25, 9, 4 |
goalsFor, goalsAgainst, goalDifference, points | 86, 41, 45, 84 |
computed | true when the table is calculated from match results |
notes | official remarks such as point deductions (Peru) |
Every row also carries source, sourceUrl, license and scrapedAt.
Competitions
| Id | Competition | Source | Seasons |
|---|---|---|---|
de.1, de.2, de.3 | Bundesliga, 2. Bundesliga, 3. Liga | OpenLigaDB | many, incl. current |
de.cup | DFB-Pokal (matches) | OpenLigaDB | many, incl. current |
uefa.cl | Champions League (matches) | OpenLigaDB | many, incl. current |
en.1 – en.4 | Premier League, Championship, League One, League Two | openfootball | 2010/11 → |
es.1, es.2 | La Liga, Segunda | openfootball | 2012/13 → |
it.1, it.2 | Serie A, Serie B | openfootball | 2013/14 → |
fr.1, fr.2 | Ligue 1, Ligue 2 | openfootball | 2014/15 → |
at.1, at.2 | Austrian Bundesliga, 2. Liga | openfootball | 2010/11 → |
nl.1, pt.1, be.1, sco.1, tr.1, gr.1 | Eredivisie, Primeira Liga, Pro League, Premiership, Süper Lig, Super League | openfootball | 2018/19 → |
br.1 | Brasileirão Série A | openfootball | 2019 → (some years missing) |
pe.1 | Peru Liga 1 (standings only) | liga1.pe | current season |
Input
- Competitions: one or more ids from the table above.
- Seasons: start years, e.g.
2024for 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_pendingrather 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.