The Football Data API for developers ballers.
Every major football competition behind one API: live scores, pre-match and in-play odds, confirmed team sheets, and match stats down to xG. England, Spain, Germany, Italy, France, the Champions League, and MLS, all live, plus the completed World Cup 2026, one schema, one key.
1,000 req/day free (2,000 with GitHub). No credit card.
Premier League · La Liga · Bundesliga · Serie A · Ligue 1 · UCL · MLS · WC2026
In the US, this is usually searched as "soccer". See the Soccer Data API →
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-gameWritten 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-gameWritten 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.
What you can build
Live football scoreboard
Show fixtures and live scores across every competition you cover.
Team-sheet companion
Confirmed XIs, formations and live scores alongside the match.
Fantasy football tool
Per-player goals, assists, and xG across leagues in one feed.
Trading / odds model
Pre-match and in-play prices with against-the-spread splits.
xG analytics dashboard
Player-season xG, xA, npxG and xG chain across twelve seasons, for season-over-season analysis.
World Cup 2026 companion
Elo predictions, group tables, and xG for the tournament.
Endpoints
On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys.
| Method | Path | Returns | Plan |
|---|---|---|---|
| GET | /v1/leagues?sport=football | Every football league key you can filter by | Free |
| GET | /v1/matches?sport=football&league=epl | Live + scheduled fixtures (swap the league key) | Free |
| GET | /v1/standings?sport=football&league=epl | League table for any competition | Free |
| GET | /v1/matches/:id/odds?sport=football | Pre-match + in-play odds across 16+ books | Edge |
| GET | /v1/stored/matches/:id/lineups | Starting XI + bench when published | Free |
| GET | /v1/stored/matches/:id/stats | Possession, shots, xG, passes | Free |
| GET | /v1/players/:id/stats?sport=football | Per-season player stats (goals, assists, xG) | Free |
| GET | /v1/matches/:id/events?sport=football | Goals, cards, substitutions | Free |
| GET | /v1/players/:id/club-form | Club season stats: appearances, goals, assists, minutes, rating (top 5 leagues, 2025-26) | Solo |
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.
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
import { BigBallSportsClient } from '@bigballsdata/sdk';
const client = new BigBallSportsClient(process.env.BBS_API_KEY!);
// Most recent EPL fixtures. This is NOT scoped to today — without ?date= you
// get the latest matches, finished ones included. Add date for a single day:
// client.matches.list({ sport: 'football', league: 'epl', date: '2026-05-24' })
const matches = await client.matches.list({ sport: 'football', league: 'epl' });
for (const m of matches.data) {
// home and away are objects, not strings.
console.log(m.home.name, 'v', m.away.name, '-', m.status);
}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
- Which competitions does the football API cover?
- The English Premier League, La Liga, Bundesliga, Serie A, Ligue 1, the UEFA Champions League, MLS, and the FIFA World Cup 2026. Call /v1/leagues?sport=football for the current list of league keys.
- Is the football API free?
- Yes. Scores, team sheets, 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 and advanced stats?
- Yes. /v1/stored/matches/:id/stats returns match-level xG and possession where the upstream feed supplies it; per-player season xG is available via the player stats endpoint.
- How do I switch competitions?
- Every endpoint takes a league key. Discover them with /v1/leagues?sport=football, then pass ?league=<key> on matches and standings.
- Can I get soccer player statistics through this API?
- Yes. Club season stats for the top 5 European leagues are available via GET /v1/players/:id/club-form. Returns appearances, goals, assists, minutes and rating for the 2025-26 season. WC2026 squad players are linked automatically.
Leagues in this sport
Every league we serve for this sport, each with its own endpoints and coverage.