OpenLigaDB API
Free OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example.
Endpoint tested and returned HTTP 200 on 19 Aug 2026
What is the OpenLigaDB API?
OpenLigaDB is a free, key-free community-maintained API providing German football data — Bundesliga fixtures, results, league tables and goalscorers — along with several other leagues and sports.
OpenLigaDB is a crowd-sourced sports database focused on German football, and it has been running for well over a decade. Bundesliga coverage is thorough: fixtures, live results, tables, goalscorers and match details, all free.
Because it is community-maintained rather than an official feed, results are entered by contributors. That is generally reliable for major leagues but can lag during matches, so it is better suited to post-match data than to live in-play use.
Quick facts
- Base URL
https://api.openligadb.de- Authentication
- No API key required.
- Rate limit
- No published limit; fair use expected.
- Pricing
- Free and community maintained.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the OpenLigaDB API
Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Fetch Bundesliga match data
GET https://api.openligadb.de/getmatchdata/bl1/2025
curl 'https://api.openligadb.de/getmatchdata/bl1/2025'const res = await fetch("https://api.openligadb.de/getmatchdata/bl1/2025");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.openligadb.de/getmatchdata/bl1/2025", timeout=20)
res.raise_for_status()
print(res.json())[
{
"matchID": 77256,
"matchDateTime": "2025-08-22T20:30:00",
"timeZoneID": "W. Europe Standard Time",
"leagueId": 4821,
"leagueName": "1. Fußball-Bundesliga 2025/2026",
"leagueSeason": 2025,
"leagueShortcut": "bl1",
"matchDateTimeUTC": "2025-08-22T18:30:00Z",
"group": {
"groupName": "1. Spieltag",
"groupOrderID": 1,
"groupID": 47611
},
"team1": {
"teamId": 40,
"teamName": "FC Bayern München",
"shortName": "Bayern",
"teamIconUrl": "https://upload.wikimedia.org/wikipedia/commons/1/1f/Logo_FC_Bayern_M%C3%BCnchen_%282002%E2%80%932017%29.svg",
"teamGroupName": null
},
"team2": {
"teamId": 1635,
"teamName": "RB Leipzig",
"shortName": "Leipzig",
"teamIconUrl": "https://i.imgur.com/Rpwsjz1.png",
"teamGroupName": null
},
"lastUpdateDateTime": "2025-08-23T01:00:54.147",
"matchIsFinished": true,
"matchResults": [
{
"resultID": 118490,
"resultName": "Halbzeit",
"pointsTeam1": 3,
"pointsTeam2": 0,
"resultOrderID": 1,
"resultTypeID": 1,
"resultTypeKind": "HalfTime",
"resultDescription": "Ergebnis nach Ende der ersten Halbzeit"
},
{
"resultID": 118491,
"resultName": "Endergebnis",
"pointsTeam1": 6,
"pointsTeam2": 0,
"resultOrderID": 2,
"resultTypeID": 2,
"resultTypeKind": "After90Minutes",
"resultDescription": "Ergebnis nach Ende der offiziellen Spielzeit"
}
],
"goals": [
{Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
getmatchdata/<league>/<season> | path | Optional | All matches for a league season. bl1/2025 |
getmatchdata/<league> | path | Optional | Current matchday for a league. bl1 |
getbltable/<league>/<season> | path | Optional | League table. bl1/2025 |
getgoalgetters/<league>/<season> | path | Optional | Top goalscorers. bl1/2025 |
Response fields
matchIDinteger- Match identifier.
matchDateTimestring- Kickoff time in local German time.
team1 / team2object- Home and away teams with names and icon URLs.
matchResultsarray- Half-time and full-time scores.
goalsarray- Individual goals with scorer and minute.
matchIsFinishedboolean- Whether the match has completed.
What you can build with the OpenLigaDB API
- Build a Bundesliga results and table site
- Track fixtures and scores for a German club
- Analyse goalscorer statistics across a season
- Power a football prediction game with real results
Common errors and how to fix them
Empty array
Wrong league shortcut or season.
Fix: League codes are short strings — bl1 for Bundesliga, bl2 for 2. Bundesliga. Seasons are the starting year.
Times appear shifted
matchDateTime is local German time, and timeZoneID tells you which.
Fix: Convert explicitly rather than assuming UTC.
Results lag during matches
Data is community-entered.
Fix: Do not rely on it for live in-play use; it is best for post-match data.
OpenLigaDB API — frequently asked questions
Is OpenLigaDB free?
Yes, completely free with no API key. It is a community-maintained open sports database.
Which leagues does it cover?
Primarily German football — Bundesliga, 2. Bundesliga and DFB-Pokal — plus a range of other leagues and sports contributed by the community.
Is the data reliable for live scores?
Results are entered by contributors, so there can be a lag during matches. It is well suited to fixtures, tables and post-match results rather than live in-play data.
What timezone are match times in?
Local German time, with the timeZoneID field naming the zone. Convert explicitly rather than assuming UTC.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
Alternatives to OpenLigaDB API
If OpenLigaDB does not fit, these sports & fitness apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| TheSportsDB | Free sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested. | No key | Yes | 19 Aug 2026 |
| NHL Web API | Free NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example. | No key | No | 19 Aug 2026 |
| wger Workout Manager | Free wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested. | No key | Yes | 19 Aug 2026 |
| Squiggle (AFL) | Free Australian Football League API with no key: teams, fixtures, results, ladder standings and computer model predictions. Community-run. Tested example. | No key | No | 21 Aug 2026 |
| Padel Snipe | Free padel club API with no key: 4,000+ mapped clubs across 30+ countries with coordinates, booking platform, city and postcode, under CC BY 4.0. Tested example included. | No key | Yes | 21 Aug 2026 |
| RacingHub | Free F1 data API with no key: driver, constructor and race records back to 1950, with career totals precomputed. Open source and OpenAPI-documented. Tested example included. | No key | Yes | 21 Aug 2026 |
OpenLigaDB is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.