The Ligue 1 API for developers ballers.

Historical fixtures, the final table, and season stats including xG for Ligue 1. 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.

Ligue 1 · 2025/26 complete · historical + standings

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

  • 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 Ligue 1 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 Ligue 1 fixtures

12 matches, 3 Sep 2026 – 12 Sep 2026, from GET /v1/matches?sport=football&league=ligue1. Kickoffs are UTC.

Upcoming Ligue 1 fixtures, 3 Sep 2026 – 12 Sep 2026
Kickoff (UTC)HomeAwayOdds
2026-09-03 18:45ToulouseLilleYes
2026-09-04 17:00LyonAJ AuxerreYes
2026-09-04 19:05Paris Saint-GermainAS MonacoYes
2026-09-05 15:15LensLorientYes
2026-09-05 18:45NiceLe MansYes
2026-09-05 18:45Le Havre ACBrestYes
2026-09-06 13:00TroyesStrasbourgYes
2026-09-06 15:15AngersStade Rennais
2026-09-06 18:45MarseilleParis FCYes
2026-09-11 18:45Stade RennaisMarseille
2026-09-12 15:15StrasbourgAS MonacoYes
2026-09-12 18:45AJ AuxerreNice

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

The Ligue 1 table, as we serve it

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

#TeamPWDLGFGAGDPts
1AS Monaco220030+36
2Paris FC211030+34
3Lille211042+24
4Lyon211031+24
5Stade Rennais211054+14
6Troyes211021+14
7Lens210164+23
8Marseille210142+23
9Angers21013303
10Strasbourg210125-33
11Brest20204402
12Paris Saint-Germain20204402
13Le Mans201145-11
14Lorient201112-11
15Le Havre AC201112-11
16Toulouse201124-21
17Nice201103-31
18AJ Auxerre200238-50

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

Ligue 1 xG leaders

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

Ligue 1 xG leaders, 2026-27 season
#PlayerTeamAppsGoalsxGnpxGxAG−xG
1Florian ThauvinLens232.560.281.13+0.4
2Louis MafoutaLe Mans232.161.400.93+0.8
3Paris BrunnerMonaco221.721.720.00+0.3
4Kamory DoumbiaBrest221.671.670.33+0.3
5Lassine SinayokoParis FC211.510.750.38-0.5
6Lucas TousartBrest201.501.500.00-1.5
7Amine GouiriMarseille221.480.720.02+0.5
8Christ TapéToulouse211.361.360.53-0.4
9Loïs OpendaLyon111.261.260.12-0.3
10Zabi GueuParis FC201.201.200.42-1.2

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.

Ligue 1 top scorers

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

Ligue 1 top scorers, 2026-27 season
#PlayerTeamGoalsAssistsApps
1L. MafoutaLe Mans312
2F. ThauvinLens312
3E. LepaulStade Rennais302
4K. DoumbiaBrest212
5Gessime YassineStrasbourg202
6Paris Josua BrunnerAS Monaco202
7A. GouiriMarseille202
8Ferran TorresParis Saint-Germain202
9O. GiroudLille122
10VitinhaParis Saint-Germain112

Every Ligue 1 season we hold

13
seasons loaded
2014-15 to 2026-27
4,265
finished matches
results, lineups and stats attached
288
scheduled ahead
fixtures loaded before kickoff
2026-08-30
data through
kickoff of the most recent finished match

Call it with real Ligue 1 IDs

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

bashbash
# AJ Auxerre
curl -H "x-api-key: $BBS_KEY" \
  "https://api.bigballsdata.com/v1/teams/fbfec136-40b4-4436-a092-ed23cf68a215"

# Toulouse v Lille
curl -H "x-api-key: $BBS_KEY" \
  "https://api.bigballsdata.com/v1/matches/dc7f950d-02bf-4dcd-8cbd-7e4ae9fb90d8/odds"

What we have for Ligue 1

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

Data typeMatchesCoverage
Scores4,265100%
Lineups3248%
Odds1042%
Expected goals3,35579%
Team stats3,88491%
Standingscurrent

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 table = await client.standings.list({ sport: 'football', league: 'ligue-1' });
for (const row of table.data) {
  console.log(row.rank, row.team, row.points, 'pts');
}

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 Ligue 1 live right now?
No. The 2025/26 Ligue 1 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 Ligue 1 on the free tier?
Yes. Historical fixtures, standings, stats, and events on the free tier at 1,000 req/day (2,000 with GitHub).

Get an API key in 30 seconds