The La Liga API for developers ballers.
Historical fixtures, the final table, and season stats including xG for La Liga. The 2025/26 season is complete; live match data resumes for 2026/27.
1,000 req/day free (2,000 with GitHub). No credit card.
La Liga · historical + standings
Seasons: 2023-24, 2024-25, 2025-26
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
Season review dashboard
Final table, results, and team stats for the completed 2025/26 season.
xG analysis tool
Player-season xG, xA and npxG across twelve seasons, season-over-season.
Player stats explorer
Per-player goals, assists, and minutes across the season.
Historical results feed
Every completed La Liga fixture with final scores.
Head-to-head tool
All-time records and venue splits between any two clubs.
Backtest engine
Replay completed matches against historical odds.
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 La Liga fixtures
12 matches, 3 Sep 2026 – 11 Sep 2026, from GET /v1/matches?sport=football&league=laliga. Kickoffs are UTC.
| Kickoff (UTC) | Home | Away | Odds |
|---|---|---|---|
| 2026-09-03 19:00 | Real Sociedad | Celta Vigo | Yes |
| 2026-09-04 19:00 | Real Betis | Real Madrid | Yes |
| 2026-09-05 14:15 | Athletic Club | Atlético Madrid | — |
| 2026-09-05 16:30 | Rayo Vallecano | Real Racing Club de Santander | Yes |
| 2026-09-05 19:00 | Villarreal | RC Deportivo La Coruña | — |
| 2026-09-06 14:15 | Valencia | Barcelona | Yes |
| 2026-09-06 16:30 | Alavés | Osasuna | — |
| 2026-09-06 16:30 | Málaga | Levante | Yes |
| 2026-09-06 19:00 | Espanyol | Sevilla FC | Yes |
| 2026-09-07 17:00 | Getafe | Celta Vigo | Yes |
| 2026-09-07 19:30 | Elche | Real Sociedad | Yes |
| 2026-09-11 19:00 | Sevilla FC | Valencia | Yes |
The tables below cover the completed season; these are the matches still to be played.
The La Liga table, as we serve it
2026-27 · 20 teams · 3 matches played. Served by GET /v1/standings?league=laliga.
| # | Team | P | W | D | L | GF | GA | GD | Pts |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Barcelona | 3 | 3 | 0 | 0 | 12 | 2 | +10 | 9 |
| 2 | Real Madrid | 3 | 3 | 0 | 0 | 10 | 2 | +8 | 9 |
| 3 | Atlético Madrid | 3 | 2 | 1 | 0 | 7 | 3 | +4 | 7 |
| 4 | Alavés | 3 | 2 | 1 | 0 | 5 | 1 | +4 | 7 |
| 5 | Osasuna | 3 | 2 | 1 | 0 | 3 | 1 | +2 | 7 |
| 6 | Sevilla FC | 3 | 2 | 0 | 1 | 6 | 5 | +1 | 6 |
| 7 | Real Betis | 3 | 2 | 0 | 1 | 4 | 5 | -1 | 6 |
| 8 | RC Deportivo La Coruña | 3 | 1 | 2 | 0 | 5 | 3 | +2 | 5 |
| 9 | Levante | 3 | 1 | 1 | 1 | 5 | 5 | 0 | 4 |
| 10 | Real Racing Club de Santander | 3 | 1 | 1 | 1 | 5 | 5 | 0 | 4 |
| 11 | Espanyol | 3 | 1 | 0 | 2 | 5 | 4 | +1 | 3 |
| 12 | Athletic Club | 3 | 1 | 0 | 2 | 3 | 5 | -2 | 3 |
| 13 | Real Sociedad | 3 | 1 | 0 | 2 | 3 | 6 | -3 | 3 |
| 14 | Getafe | 3 | 1 | 0 | 2 | 1 | 4 | -3 | 3 |
| 15 | Villarreal | 3 | 0 | 2 | 1 | 4 | 5 | -1 | 2 |
| 16 | Valencia | 3 | 0 | 1 | 2 | 1 | 4 | -3 | 1 |
| 17 | Celta Vigo | 3 | 0 | 1 | 2 | 1 | 4 | -3 | 1 |
| 18 | Rayo Vallecano | 3 | 0 | 1 | 2 | 4 | 8 | -4 | 1 |
| 19 | Elche | 3 | 0 | 1 | 2 | 3 | 9 | -6 | 1 |
| 20 | Málaga | 3 | 0 | 1 | 2 | 1 | 7 | -6 | 1 |
Points are computed from wins and draws; the API returns W/D/L and goals.
La Liga xG leaders
Expected goals per player for the 2026-27 season, straight from GET /v1/leagues/laliga/xg-leaders?stat=xg. Non-penalty xG and expected assists are on the same row.
| # | Player | Team | Apps | Goals | xG | npxG | xA | G−xG |
|---|---|---|---|---|---|---|---|---|
| 1 | Kylian Mbappe-Lottin | Real Madrid | 3 | 4 | 4.65 | 4.65 | 0.33 | -0.7 |
| 2 | Raphinha | Barcelona | 3 | 5 | 3.81 | 3.07 | 1.74 | +1.2 |
| 3 | Orri Óskarsson | Real Sociedad | 3 | 1 | 2.69 | 2.69 | 0.02 | -1.7 |
| 4 | Fermín López | Barcelona | 3 | 3 | 2.44 | 2.44 | 0.22 | +0.6 |
| 5 | Ante Budimir | Osasuna | 3 | 2 | 2.34 | 0.86 | 0.07 | -0.3 |
| 6 | Georges Mikautadze | Villarreal | 3 | 1 | 2.27 | 1.52 | 0.53 | -1.3 |
| 7 | Roberto Fernández | Espanyol | 3 | 3 | 2.23 | 2.23 | 0.22 | +0.8 |
| 8 | Pierre-Emerick Aubameyang | Deportivo La Coruna | 3 | 3 | 2.21 | 2.21 | 0.17 | +0.8 |
| 9 | Andrés Martín | Racing Santander | 3 | 1 | 2.15 | 0.66 | 0.72 | -1.1 |
| 10 | Antonio Martínez | Alaves | 3 | 0 | 1.82 | 1.82 | 1.22 | -1.8 |
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.
La Liga top scorers
The 2026-27 scoring charts from GET /v1/leagues/laliga/top-scorers?season=2026. The season is always sent explicitly — the endpoint defaults to a fixed one.
| # | Player | Team | Goals | Assists | Apps |
|---|---|---|---|---|---|
| 1 | Raphinha | Barcelona | 5 | 1 | 3 |
| 2 | Kylian Mbappé | Real Madrid | 4 | 0 | 3 |
| 3 | Álex Baena | Atlético Madrid | 3 | 1 | 3 |
| 4 | Sergio Camello | Rayo Vallecano | 3 | 0 | 3 |
| 5 | Roberto Fernández | Espanyol | 3 | 0 | 3 |
| 6 | Fermín | Barcelona | 3 | 0 | 3 |
| 7 | P. Aubameyang | RC Deportivo La Coruña | 3 | 0 | 3 |
| 8 | M. Zabiri | Real Racing Club de Santander | 3 | 0 | 3 |
| 9 | J. Bellingham | Real Madrid | 2 | 2 | 3 |
| 10 | M. Díaz | Alavés | 2 | 2 | 3 |
Every La Liga season we hold
- 13
- seasons loaded
- 2014-15 to 2026-27
- 4,590
- finished matches
- results, lineups and stats attached
- 350
- scheduled ahead
- fixtures loaded before kickoff
- 2026-08-31
- data through
- kickoff of the most recent finished match
Call it with real La Liga IDs
Live IDs from this league, pulled when the page was built. Paste them straight into a request.
# Alavés
curl -H "x-api-key: $BBS_KEY" \
"https://api.bigballsdata.com/v1/teams/ef495ba0-57ae-4af7-8e9b-746a9b1b3d39"
# Real Sociedad v Celta Vigo
curl -H "x-api-key: $BBS_KEY" \
"https://api.bigballsdata.com/v1/matches/7555ad1b-fc36-4d97-a242-81d5b51265c3/odds"What we have for La Liga
Share of this league’s finished matches carrying each data type, straight from GET /v1/coverage.
| Data type | Matches | Coverage |
|---|---|---|
| Scores | 4,590 | 100% |
| Lineups | 410 | 9% |
| Odds | 179 | 4% |
| Expected goals | 4,391 | 96% |
| Team stats | 55 | 1% |
| Standings | — | current |
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.
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!);
const res = await client.standings.list({ sport: 'football', league: 'laliga' });
for (const group of res.data.standings) {
console.log(group.league_name, group.season);
for (const row of group.rows) {
console.log(row.rank, row.team_name, `${row.wins}-${row.losses}-${row.ties}`);
}
}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 La Liga live right now?
- No. The 2025/26 La Liga season is complete, so there are no live matches currently. Historical fixtures, the final table, and season stats remain queryable; live match data resumes for 2026/27.
- Does it include xG?
- Yes, for completed matches. /v1/stored/matches/:id/stats returns match-level xG and possession where the upstream feed supplied it.
- Can I get full-season player stats?
- Yes. /v1/players/:id/stats returns per-season goals, assists, minutes, and xG where available.
- Is La Liga on the free tier?
- Yes. Historical fixtures, standings, stats, and events on the free tier at 1,000 req/day (2,000 with GitHub).
Related APIs
Other APIs you can build with: