The Bundesliga API for developers ballers.

Live Bundesliga scores, pre-match and in-play odds, standings, and end-of-match stats including xG. Sub-100ms REST.

1,000 req/day free (2,000 with GitHub). No credit card.

Bundesliga · all 18 clubs

Seasons: 2014-15, 2015-16, 2016-17, 2017-18, 2018-19, 2019-20, 2020-21, 2021-22, 2022-23, 2023-24, 2024-25, 2025-26, 2026-27

Stats included

Every soccer stat field the API returns today — 80 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.

Season player stats

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-08-27.

Endpoint
/v1/players/:id/stats
Last updated
2026-08-27

Fields (42)

Shooting
Dribbles Attempted, Shots on Target, Shots, Npxg, XG, XG Buildup, XG Chain
Scoring
Match Rating, Goals, Npg
Passing
Assists, Pass Accuracy, Key Passes, Passes, Xa
Possession
Dribbled Past, Dribbles Completed
Defending
Duels, Duels Won, Blocks, Interceptions, Tackles
Goalkeeping
Goals Conceded, Saves
Discipline
Red Cards, Yellow Cards, Second Yellow (red), Fouls Committed, Fouls Drawn, Penalties Conceded, Penalties Missed, Penalties Saved, Penalties Scored, Penalties Won
Appearances
Appearances, Starts, Minutes Played, Unused Substitute, Substituted On, Substituted Off, Games, Minutes

Team stats (per game)

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-08-30.

Endpoint
/v1/matches/:id/statistics
Last updated
2026-08-30

Fields (38)

Shooting
Shot %, Shots on Target, Total Shots
Scoring
Final Score, Tournament Topscorers
Passing
Accurate Crosses, Accurate Long Balls, Accurate Passes, Cross Accuracy %, Long-Ball Accuracy %, Pass Accuracy %, Total Crosses, Total Long Balls, Total Passes
Possession
Momentum, Possession %, Team Form, Team Match Stats, Won Corners
Defending
Blocked Shots, Effective Clearances, Effective Tackles, Interceptions (defensive), Tackle %, Total Clearance, Total Tackles
Goalkeeping
Saves (goalkeeper)
Discipline
Fouls Committed, Offsides, Penalty Goals, Penalty Shots, Red Cards, Yellow Cards
Appearances
Average Positions, Best Players, Away Lineup, Home Lineup, Player Match Stats

Not included

  • Not shown here — team_per_game_advanced: advanced team stats that no route currently serves.
  • Not shown here — injuries: injury reports — reference data with its own endpoint.

Missing a stat?

We build what people actually ask for. If a field you need is not on this page, tell us — requests are how we decide what to add next.

Name the field or the endpoint shape. Specifics help more than categories.

Goes straight to the team as a product signal. No newsletter, no account, nothing else done with your address.

What you can build

  • Live score widget

    Embed real-time Bundesliga scores and goal events on any site.

  • Matchday companion

    Confirmed lineups, formations and live scores alongside the game.

  • Fantasy tool

    Per-player season stats (goals, assists, xG) and injury status in one feed.

  • Betting research tool

    Pre-match and in-play odds across major books with against-the-spread splits.

  • Table tracker

    Full Bundesliga table, refreshed within 60 seconds of a final whistle.

  • xG analytics dashboard

    Player-season xG, xA, npxG and xG chain across twelve seasons, for season-over-season analysis.

Endpoints

On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys. Click any endpoint to see every field it returns.

6 endpoints · 74 documented fields. Click any row to see every field it returns.

Next Bundesliga fixtures

12 matches, 18 Sep 2026 – 10 Oct 2026, from GET /v1/matches?sport=football&league=bundesliga. Kickoffs are UTC.

Upcoming Bundesliga fixtures, 18 Sep 2026 – 10 Oct 2026
Kickoff (UTC)HomeAwayOdds
2026-09-18 18:30Bayern Munich1. FC Union Berlin
2026-09-19 13:30Eintracht FrankfurtSC FreiburgYes
2026-09-19 13:30Borussia MönchengladbachMainz
2026-09-19 13:30Hamburger SVFC CologneYes
2026-09-19 13:30Werder BremenFC AugsburgYes
2026-09-19 16:30VfB StuttgartBorussia DortmundYes
2026-09-20 13:30Bayer LeverkusenRB LeipzigYes
2026-09-20 15:30Schalke 04SV Elversberg
2026-09-20 17:30SC Paderborn 07TSG Hoffenheim
2026-10-09 18:30Borussia DortmundWerder Bremen
2026-10-10 13:301. FC Union BerlinSV Elversberg
2026-10-10 13:30MainzBayer Leverkusen

The tables below cover the completed season; these are the matches still to be played.

The Bundesliga table, as we serve it

2026-27 · 18 teams · 3 matches played. Served by GET /v1/standings?league=bundesliga.

#TeamPWDLGFGAGDPts
1SC Freiburg3300101+99
2Borussia Dortmund330082+69
3FC Augsburg321093+67
4Bayern Munich321072+57
5RB Leipzig320193+66
6SV Elversberg320187+16
7Bayer Leverkusen311185+34
8Mainz311163+34
9Eintracht Frankfurt311178-14
10Werder Bremen311156-14
11Schalke 04311134-14
12FC Cologne311157-24
13TSG Hoffenheim310267-13
14VfB Stuttgart310268-23
15SC Paderborn 07301204-41
161. FC Union Berlin3012410-61
17Borussia Mönchengladbach3003312-90
18Hamburger SV3003012-120

Points are computed from wins and draws; the API returns W/D/L and goals.

Bundesliga xG leaders

Expected goals per player for the 2026-27 season, straight from GET /v1/leagues/bundesliga/xg-leaders?stat=xg. Non-penalty xG and expected assists are on the same row.

Bundesliga xG leaders, 2026-27 season
#PlayerTeamAppsGoalsxGnpxGxAG−xG
1Patrik SchickBayer Leverkusen332.632.630.25+0.4
2Luis DíazBayern Munich312.592.590.51-1.6
3Maurice KrattenmacherElversberg332.272.270.00+0.7
4Yuito SuzukiFreiburg332.202.200.15+0.8
5Michael GregoritschAugsburg332.162.160.21+0.8
6Can UzunEintracht Frankfurt322.122.120.45-0.1
7Phillip TietzMainz 05332.052.050.56+0.9
8Younes EbnoutalibEintracht Frankfurt332.012.010.87+1.0
9Willi OrbanRasenBallsport Leipzig312.012.010.00-1.0
10Anton KadeAugsburg111.931.930.98-0.9

G−xG is goals minus expected goals: positive means outscoring the chances taken. Every figure here is served by the endpoint above, not computed on this page.

Bundesliga top scorers

The 2026-27 scoring charts from GET /v1/leagues/bundesliga/top-scorers?season=2026. The season is always sent explicitly — the endpoint defaults to a fixed one.

Bundesliga top scorers, 2026-27 season
#PlayerTeamGoalsAssistsApps
1I. MatanovićSC Freiburg313
2Y. EbnoutalibEintracht Frankfurt313
3P. SchickBayer Leverkusen313
4Y. SuzukiSC Freiburg303
5P. TietzMainz303
6M. KrattenmacherSV Elversberg303
7M. GregoritschFC Augsburg303
8A. NusaRB Leipzig223
9S. GuirassyBorussia Dortmund223
10J. VagnomanVfB Stuttgart213

Every Bundesliga season we hold

13
seasons loaded
2014-15 to 2026-27
3,715
finished matches
results, lineups and stats attached
279
scheduled ahead
fixtures loaded before kickoff
2026-09-13
data through
kickoff of the most recent finished match

Call it with real Bundesliga IDs

Live IDs from this league, pulled when the page was built. Paste them straight into a request.

bashbash
# 1. FC Heidenheim 1846
curl -H "x-api-key: $BBS_KEY" \
  "https://api.bigballsdata.com/v1/teams/41f38b3e-b4c8-4620-bca3-3f253dceb44d"

# Bayern Munich v 1. FC Union Berlin
curl -H "x-api-key: $BBS_KEY" \
  "https://api.bigballsdata.com/v1/matches/ab9c1fe7-fdc3-4d5b-a1ee-6c371d4cbd8f/odds"

What we have for Bundesliga

Share of this league’s finished matches carrying each data type, straight from GET /v1/coverage.

Data typeMatchesCoverage
Scores3,715100%
Lineups63917%
Odds1875%
Expected goals2,24760%
Team stats3,40992%
Standingscurrent
CurrentResults through · next fixture · odds partial

Read live from GET /v1/coverage — the same endpoint you can call yourself. Dates are absolute, not a build timestamp.

Start on the free tier

100 requests per minute and 1,000 per day, free — the highest per-minute burst of any free sports API we checked. Burst is what matters when something asks several questions in a row and waits on each answer.

  • Every sport and league we cover — the paid tiers add history depth and premium fields, not more leagues.
  • Calls are counted one for one — no credit weighting, no markets-times-regions arithmetic.
  • Link GitHub and the daily cap goes to 2,000.
  • No credit card.
Get a key →

Or ask your AI tool directly

Connect your account to Claude, ChatGPT, Cursor, Perplexity or any other MCP-compatible tool and ask for soccer data in conversation — scores, standings, player stats and Elo ratings, with no API key to paste and no code to write. Your plan and limits carry over exactly as they do here.

Connect your AI tool →

Integrate in a few lines

Node.js, @bigballsdata/sdktypescript
import { BigBallSportsClient } from '@bigballsdata/sdk';

const client = new BigBallSportsClient(process.env.BBS_API_KEY!);

const matches = await client.matches.list({ sport: 'football', league: 'bundesliga', status: 'live' });
for (const m of matches.data) {
  console.log(m.home, m.away, m.scores?.value?.home, '-', m.scores?.value?.away);
}

Free covers a real app. Scale when you need to.

1,000 req/day free (2,000 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.

Frequently asked

Is the Bundesliga API free?
Yes. All 18 clubs, scores, lineups, stats, standings, and events on the free tier at 1,000 req/day (2,000 with GitHub), no credit card. Odds require the Edge plan ($149/mo) or higher.
Does it include xG?
Yes. /v1/stored/matches/:id/stats returns match-level xG and possession where the upstream feed supplies it.
Are confirmed lineups available?
Yes. Starting XIs surface in the lineups endpoint, typically around 60 minutes before kickoff.
How current are Bundesliga standings?
The table refreshes within 60 seconds of a final whistle via /v1/standings, with W-D-L records, goal difference, and points.

Get an API key in 30 seconds