BYTETOOLS

OpenLigaDB API

Free OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example.

No API key requiredHTTPSFree tier

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
curl 'https://api.openligadb.de/getmatchdata/bl1/2025'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://api.openligadb.de/getmatchdata/bl1/2025", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "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

ParameterTypeRequiredDescription
getmatchdata/<league>/<season>pathOptionalAll matches for a league season. bl1/2025
getmatchdata/<league>pathOptionalCurrent matchday for a league. bl1
getbltable/<league>/<season>pathOptionalLeague table. bl1/2025
getgoalgetters/<league>/<season>pathOptionalTop 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

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.

APIWhat it doesAuthCORSLast verified
TheSportsDBFree sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested.No keyYes19 Aug 2026
NHL Web APIFree NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example.No keyNo19 Aug 2026
wger Workout ManagerFree wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested.No keyYes19 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 keyNo21 Aug 2026
Padel SnipeFree 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 keyYes21 Aug 2026
RacingHubFree 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 keyYes21 Aug 2026
All Sports & Fitness APIs

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.