Stable IDs
Deterministic team, competition and match identifiers across the supported datasets.
Current German fixtures and results, four European league archives and derived match context through one clean API. Every source and license is explicit.
/v1/matches/match_olg_83156/context{
"data": {
"match": {
"id": "match_olg_83156",
"competitionId": "comp_bundesliga_de",
"kickoffAt": "2026-08-28T18:30:00.000Z",
"homeTeam": { "name": "FC Bayern München" },
"awayTeam": { "name": "VfB Stuttgart" }
},
"home": { "form": "…", "elo": 1500 },
"away": { "form": "…", "elo": 1500 }
},
"meta": {
"environment": "beta",
"sources": ["OpenLigaDB", "OpenFootball"]
}
}Built around the details that consume engineering time: entity mapping, inconsistent schemas and repeated joins.
Deterministic team, competition and match identifiers across the supported datasets.
One response shape, explicit nulls and typed errors across current and archived data.
Derived form, Elo, rest days, table position and head-to-head in one match request.
FootballStack derives recent form, an Elo-style rating, rest, table position, venue record and head-to-head from the available match history.
Explore match contextCalculated when the endpoint is requested
Source freshness returned in metadata
No lineups, player events or uptime SLA are promised during the beta.
Bundesliga, 2. Bundesliga and DFB Pokal fixtures and results through OpenLigaDB.
Premier League, La Liga, Serie A and Ligue 1 season files through OpenFootball.
OpenLigaDB is ODbL; OpenFootball is CC0. Source metadata travels with API responses.
Public requests remain available for evaluation. A founding key adds a measured monthly allowance and direct support.