NewConnect Claude, Gemini, ChatGPT, and other AI agents to API Ninjas via our MCP server →

Bundesliga API

A football (soccer) API for the Bundesliga, Germany's top division: get the fixtures for every matchday, live scores with the match minute on paid plans, results with goals per half, the table with the European, relegation playoff and relegation places, and every club's squad. The free plan covers the current season's fixtures, results, table and squads.

The Bundesliga is served by the Football (Soccer) API with league=bundesliga. The same API key works for every sports API.

Available endpoints:

Bundesliga data at a glance

Season valueseason=2026 is the 2026-27 season, August to May
Format18 clubs, 34 matchdays with a winter break; league matches have season_type=regular
Match daydate is the date in Germany (Central European time)
ScoringGoals per half in period_scores; draws have winner: null
Live matchesOn paid plans: score, half, match minute and halftime
Club idssoccer-bayern-munich, soccer-borussia-dortmund: one id per club in every competition, kept through promotion and relegation
SquadsPosition, shirt number, nationality, birth date, height and weight

Bundesliga table fields

points, wins, draws, losses, goals_for, goals_against, goal_difference and league_rank, ordered by points, then goal difference, then goals scored. qualification shows the Champions League and Europa League places, the 16th-place Relegation playoff and the two Relegation places.

4 endpoints

https://api.api-ninjas.com/v1/soccermatches

Returns fixtures, live scores and results. Ask for one day, a team's season or one match; with only league you get today's matches. Paid plans see matches in progress with the score, half and match minute updated throughout the match; the free plan sees their status and the final score once they end. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccermatches.

Live Demo

Live demo · no API key required
Query parameters
league
date
team
season
season_type
status
game_id
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccermatches?league=bundesliga
Sample response
[
{
"game_id": "bundesliga-20261025-mun-scf",
"league": "bundesliga",
"sport": "soccer",
"season": 2026,
"season_label": "2026-27",
"season_type": "regular",
"round": null,
"leg": null,
"date": "2026-10-25",
"start_time": "2026-10-25T16:30:00Z",
"status": "final",
"status_detail": null,
"period": 2,
"clock": null,
"home_team": {
"team_id": "soccer-sc-freiburg",
"name": "SC Freiburg",
"abbreviation": "SCF"
},
"away_team": {
"team_id": "soccer-bayern-munich",
"name": "Bayern Munich",
"abbreviation": "MUN"
},
"home_score": 1,
"away_score": 3,
"period_scores": {
"home": [
0,
1
],
"away": [
2,
1
]
},
"penalty_scores": null,
"aggregate_scores": null,
"decided_in": "regulation",
"winner": "soccer-bayern-munich",
"venue": {
"name": "Europa-Park Stadion",
"city": "Freiburg im Breisgau",
"state": null,
"country": "DE"
},
"neutral_site": false,
"original_date": null,
"updated_at": "2026-10-27T23:14:22Z"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccermatches?league=bundesliga" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerstandings

Returns the table for a season, ordered by league rank, or by conference or division rank when you filter. Tables update throughout the season, shortly after each match ends. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccerstandings.

Live Demo

Live demo · no API key required
Query parameters
league
season
conference

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerstandings?league=bundesliga
Sample response
[
{
"league": "bundesliga",
"sport": "soccer",
"season": 2026,
"season_label": "2026-27",
"team": {
"team_id": "soccer-bayern-munich",
"name": "Bayern Munich",
"abbreviation": "MUN"
},
"conference": null,
"division": null,
"games_played": 7,
"wins": 5,
"draws": 2,
"losses": 0,
"points": 17,
"goals_for": 25,
"goals_against": 6,
"goal_difference": 19,
"league_rank": 1,
"qualification": "Champions League",
"final": false
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerstandings?league=bundesliga" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerclubs

Lists clubs with their domestic league, country and home venue. Available on every plan.

Full parameter and response reference: /v1/soccerclubs.

Live Demo

Live demo · no API key required
Query parameters
league
team
active

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerclubs?league=bundesliga
Sample response
[
{
"team_id": "soccer-borussia-dortmund",
"league": "bundesliga",
"sport": "soccer",
"abbreviation": "DOR",
"name": "Borussia Dortmund",
"short_name": "Dortmund",
"city": "Aue",
"country": "DE",
"venue": {
"name": "Signal Iduna Park",
"city": "Aue",
"state": null,
"country": "DE"
},
"active": true
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerclubs?league=bundesliga" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerplayers

Returns current squads and player profiles, by team or by name. Rosters refresh every day. Available on every plan.

Full parameter and response reference: /v1/soccerplayers.

Live Demo

Live demo · no API key required
Query parameters
league
team
name
player_id
position
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerplayers?league=bundesliga&team=DOR
Sample response
[
{
"player_id": "soccer-p-7fdd9a2e1e",
"league": "bundesliga",
"team": {
"team_id": "soccer-borussia-dortmund",
"name": "Borussia Dortmund",
"abbreviation": "DOR"
},
"name": "Serhou Guirassy",
"first_name": "Serhou",
"last_name": "Guirassy",
"position": "F",
"jersey_number": "9",
"height_in": 74,
"height_cm": 188,
"weight_lb": 181,
"weight_kg": 82,
"birth_date": "1996-03-12",
"birth_place": null,
"roster_status": "active",
"nationality": "Guinea"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerplayers?league=bundesliga&team=DOR" \ -H "X-Api-Key: YOUR_API_KEY"

Frequently Asked Questions

  • Yes, but you must have a premium subscription. Commercial use of the Bundesliga API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.
  • Sign up for a free account to instantly get your API key, then pass it in the X-Api-Key header on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.
  • Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.
  • The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.
  • The Bundesliga does not offer a public API for developers. The API Ninjas Football (Soccer) API provides Bundesliga fixtures, live scores, results, the table and squads with league=bundesliga. API Ninjas is not affiliated with or endorsed by the DFL or the Bundesliga.
  • 18 clubs play each other home and away over 34 matchdays, all with season_type=regular. Call /v1/soccermatches?league=bundesliga&season=2026 and page with offset for the whole 2026-27 season.
  • Yes. qualification marks the 16th place as Relegation playoff and the bottom two as Relegation, along with the Champions League and Europa League places.
  • soccer-bayern-munich, with the abbreviation MUN. The same id is used in the Champions League, so one id follows the club across competitions.

API Ninjas is not affiliated with or endorsed by the NFL, the NBA, the NHL or any other league, competition or team. League, competition and team names are trademarks of their owners and are used only to identify them.