Ligue 1 · Season 2025/26

Every Ligue 1 match. One API.

Ship a Ligue 1 product in a weekend, not a quarter. Live scores, lineups, xG, Expected Points and ML predictions, plus the historical context your users come back for — through one REST endpoint with the docs and pricing builders need.

99.99% uptime 30,000+ developers From €29/month
GET /v3/football/fixtures/19433804
Full time · Matchday 4 Ligue 1 · Matchday 4
Paris Saint-Germain
Paris Saint-Germain
20
14 Sep 2025 · Parc des Princes
RC Lens
RC Lens
Starting XI
PSG · 4-3-3 RC · 4-3-3
15' Barcola · 51' Barcola (PSG)
1.92
xG
0.38
18
Shots
7
64%
Possession
36%
Built for developers
REST · SDKs · Docs

Trusted by 30,000+ developers

Case study
Case study
Case study
Case study
Case study Case study ScoutsLand Case study Case study Case study Sportspoule Case study Case study Case study Last5Games Case study Case study

Three things you can count on with the Ligue 1 API

1
🛡

Reliability that can be counted on.

99.99% uptime, in-house data ops team, fixtures and live events verified 24/7 by humans and systems. The data behind your match centre is the same data running on professional broadcast platforms.

Ship Ligue 1 data your users can trust on Le Classique weekend.
2
💰

Professional-grade data. Accessible pricing.

Enterprise-quality coverage of Ligue 1 squads, stats, lineups, xG, predictions and odds, at plans that scale from your first prototype to a global product. No quote calls, no per-call surprises.

Plans start at €29/month. No sales cycle. No procurement.
3
🚀

First Ligue 1 call in minutes. Real humans when you're stuck.

Self-serve signup. Instant API token. Football API docs, code examples in JavaScript, Python, PHP, and Java, plus Postman collections. Ligue 1 data flowing into your app the same day.

The only sports data API with an actual face.
Built with the Ligue 1 API

See what developers ship with this data

Every screen below is rendered from a single Sportmonks endpoint, the same ones documented above. Swipe through to see live topscorers, match trends, statistics, lineups and event timelines, all from Paris Saint Germain 2-0 Lens in the 2025/26 Ligue 1 season.

1 · Topscorers
Phone mockup of a Ligue 1 topscorers leaderboard, season 25651. Tabs for Goals, Assists, Yellow Cards and Red Cards. Ranked list of the season's top goalscorers with player photo, club crest and goal tally next to each name.

Live topscorers leaderboard

Goals, assists, yellow cards and red cards in one feed, ranked live as goals go in across the Ligue 1 season.

See the topscorers data
2 · Trends
Phone mockup of a Ligue 1 match-trends view for Paris Saint Germain 2-0 Lens, fixture 19433804, played on 14 September 2025 at Parc des Princes. Tab strip shows Match Preview, Statistics, Lineup, Events, Commentaries, Head2Head. Per-minute trend chart plots PSG above the line and Lens below, visualising attack frequency and momentum swings across the 90 minutes.

Per-minute match trends

Possession, attacks, goals and corners plotted minute by minute. Render the rhythm of the fixture, not just the final scoreline.

See the stats data
3 · Statistics
Phone mockup of the Paris Saint Germain 2-0 Lens statistics screen, fixture 19433804. Side-by-side bar chart with PSG on the left and Lens on the right. Rows for ball possession, total shots, shots on goal, total passes, pass accuracy, yellow cards, red cards, corners, fouls, offsides and saves, each with the numeric value next to its bar.

Side-by-side match statistics

Possession, shots, passes, accuracy, cards, corners, fouls, offsides, saves. The full statistics object for any Ligue 1 fixture, in one call.

See the stats data
4 · Lineups
Phone mockup of the Paris Saint Germain vs Lens lineups screen. PSG starting XI: Lucas Chevalier 30 (goalkeeper), Achraf Hakimi 2, Ilya Zabarnyi 6, Lucas Beraldo 4, Lucas Hernández 21, Vitinha 17, Warren Zaïre-Emery 33, Kang-in Lee 19, Khvicha Kvaratskhelia 7, Bradley Barcola 29 (two goals), Gonçalo Ramos 9 (yellow). PSG bench: Marquinhos 5, Fabián Ruiz 8, Mayulu 24, Nuno Mendes 25, Safonov 39, Kamara 43, Mbaye 49, Pacho 51. Lens starting XI: Robin Risser 40 (goalkeeper), Ruben Aguilar 2, Jonathan Gradit 24, Malang Sarr 20, Samson Baidoo 6, Matthieu Udol 14, Mamadou Sangaré 8, Adrien Thomasson 28, Florian Thauvin 10 (yellow), Morgan Guilavogui 29, Odsonne Édouard 11 (yellow). Lens bench: Gurtner 1, Bulatovic 5, Sotoca 7, Sima 19, Saïd 22, Abdulhamid 23, Ganiou 25, Bermont 26.

Starting XI + bench

Numbers, positions, captain badges, yellow-card flags, goal markers, substitution arrows. Everything you need to render a tactical breakdown.

See the squads data
5 · Events
Phone mockup of the Paris Saint Germain 2-0 Lens events timeline. Goals: Bradley Barcola 15 minutes assisted by Vitinha (1-0 PSG), Bradley Barcola 51 minutes assisted by Vitinha (2-0 PSG). Yellow cards: Édouard 5, Thauvin 18, Gonçalo Ramos 38. Substitutions visible from 30 minutes onwards including Ibrahim Mbaye for Kvaratskhelia, Senny Mayulu for Kang-in Lee, Abdallah Sima for Guilavogui, Saud Abdulhamid for Aguilar, João Neves for Zaïre-Emery, Fabián Ruiz for Barcola, Nuno Mendes for Beraldo.

Goals, cards & substitutions

Every event from kick-off to the final whistle. Barcola brace at 15' and 51', both assisted by Vitinha. Every goal, card and sub with minute and player.

See the events data

All five screens render from the same fixture, query GET /v3/football/fixtures/19433804?include=statistics;lineups;events;participants and the leaderboard from GET /v3/football/topscorers/seasons/25651. Swipe horizontally to scroll.

A taste of the response shape

Real data, real match centre

One API call, two views: the match centre your users see on the left, the exact JSON your code receives on the right. Every name, photo, minute and number on the left exists in the response on the right — drag the divider to see more of either side.

Drag to resize
Match Centre · Built from the response Ligue 1 · 2025/26
Paris Saint Germain
Paris Saint Germain
2
0
Full Time
14 Sep 2025
Lens
Lens
Goal 15' Bradley Barcola
Goal 51' Bradley Barcola
80'
Anthony Bermont Matthieu Udol
80'
Wesley Saïd Florian Thauvin
João Neves Warren Zaïre-Emery
71'
Fabián Ruiz Bradley Barcola
71'
Nuno Mendes Lucas Beraldo
70'
66'
Saud Abdulhamid Ruben Aguilar
66'
Rayan Fofana Odsonne Édouard
Senny Mayulu Kang-in Lee
57'
Bradley Barcola Goal2-0 · assist Vitinha
51'
46'
Abdallah Sima Morgan Guilavogui
Gonçalo Ramos
38'
Ibrahim Mbaye Khvicha Kvaratskhelia
30'
18'
Florian Thauvin
Bradley Barcola Goal1-0 · assist Vitinha
15'
5'
Odsonne Édouard
Paris Saint Germain Paris Saint Germain
2Achraf HakimiC
4Lucas Beraldo
6Ilya Zabarnyi
7Khvicha Kvaratskhelia
9Gonçalo Ramos
17Vitinha
19Kang-in Lee
21Lucas Hernández
29Bradley BarcolaGoal
30Lucas Chevalier
33Warren Zaïre-Emery
Lens Lens
2Ruben Aguilar
6Samson Baidoo
8Mamadou Sangaré
10Florian Thauvin
11Odsonne Édouard
14Matthieu Udol
20Malang Sarr
24Jonathan Gradit
28Adrien ThomassonC
29Morgan Guilavogui
40Robin Risser
68%Ball Possession32%
14Total Shots11
3Shots on Goal7
1.23Expected Goals (xG)1.18
771Total Passes352
92%Pass Accuracy83%
4Corners3
10Fouls8
Pre-match · Full Time Result
Paris Saint Ge
62.3%
Draw
21.4%
Away
16.3%
Both Teams to Score
Yes
52.0%
No
48.0%
Total Goals
Over 2.5
56.5%
Under 2.5
43.5%
Top Correct Scores
1–0
10.9%
2–0
10.4%
2–1
10.0%
GET /v3/football/fixtures/19433804?include=lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19433804,
    "league_id": 301,
    "season_id": 25651,
    "venue_id": 131,
    "name": "Paris Saint Germain vs Lens",
    "starting_at": "2025-09-14 15:15:00",
    "result_info": "Paris Saint Germain won after full-time.",
    "xgfixture": [
      { "location": "home", "data": { "value": 1.233 } },
      { "location": "away", "data": { "value": 1.1770999999999998 } }
    ],
    "lineups": [
      { "player_id": 96348, "team_id": 271, "player_name": "Adrien Thomasson", "jersey_number": 28, "type_id": 11, "captain": true, "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/28/96348.png" } },
      { "player_id": 187260, "team_id": 591, "player_name": "Achraf Hakimi", "jersey_number": 2, "type_id": 11, "captain": true, "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/28/187260.png" } },
      { "player_id": 98711, "team_id": 271, "player_name": "Ruben Aguilar", "jersey_number": 2, "type_id": 11, "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/23/98711.png" } },
      // … more lineup entries (full XI + bench per team)
    ],
    "events": [
      { "minute": 5, "type_id": 19, "participant_id": 271, "player_name": "Odsonne Édouard" },
      { "minute": 15, "type_id": 14, "participant_id": 591, "player_name": "Bradley Barcola", "related_player_name": "Vitinha", "result": "1-0" },
      { "minute": 18, "type_id": 19, "participant_id": 271, "player_name": "Florian Thauvin" },
      { "minute": 30, "type_id": 18, "participant_id": 591, "player_name": "Ibrahim Mbaye", "related_player_name": "Khvicha Kvaratskhelia" },
      // … more events through full time
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 68 } },  /* Ball Possession */,
      { "type_id": 45, "location": "away", "data": { "value": 32 } },
      { "type_id": 42, "location": "home", "data": { "value": 14 } },  /* Total Shots */,
      { "type_id": 42, "location": "away", "data": { "value": 11 } },
      { "type_id": 41, "location": "home", "data": { "value": 3 } },  /* Shots on Goal */,
      { "type_id": 41, "location": "away", "data": { "value": 7 } },
      { "type_id": 5304, "location": "home", "data": { "value": 1.233 } },  /* Expected Goals (xG) */,
      { "type_id": 5304, "location": "away", "data": { "value": 1.1770999999999998 } },
      { "type_id": 80, "location": "home", "data": { "value": 771 } },  /* Total Passes */,
      { "type_id": 80, "location": "away", "data": { "value": 352 } },
      // … more bilateral stat entries
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 62.3, "draw": 21.38, "away": 16.28 } }  /* FT Result */,
      { "type_id": 231, "predictions": { "yes": 51.96, "no": 48.04 } }  /* BTTS */,
      { "type_id": 235, "predictions": { "yes": 56.47, "no": 43.53 } }  /* Over 2.5 */
    ]
  }
}
What's in the Ligue 1 API

Pick the data features your app actually needs

  • Match schedules & historical results
  • Match statistics & in-play events
  • Complete team squads & player profiles
  • Match formations & line-ups
  • Live topscorers & live standings
  • Pre-match & in-play odds
  • Predictions & value bet indicators
  • Match previews & post-match reviews
  • Expected Goals (xG) metrics
  • Expected Lineups & Pressure Index
  • Coach & referee stats
  • Ligue 1 Match Facts
Scouting
"Sportmonks feels like a partner rather than just a service."
The support team is fast, helpful, and actually understands what you're trying to achieve.
EN
Eglė Neumann Co-Founder, ScoutsLand
Betting
"The widest coverage out there for both in-play and pre-match events."
We launched BettingKick, a revolutionary start-up in the betting industry. Our visitors are really satisfied with useful information, and BIG thanks to Sportmonks for a good job.
BB
Borko Bajic CTO at BettingKick.com
Fantasy
"Sportmonks has proven to be a great partner."
Finding high-quality football and betting data is challenging. When available, it is often either too expensive or difficult to integrate. This is where Sportmonks has proven to be a great partner.
P
Pasquale Co-founder of FantaMaster
Data Platform
"The quality of the data itself stands out."
Once you start utilising it, you realise that its excellence isn't just superficial, the quality of the data itself stands out.
B
Božić CEO & Lead Developer of ShiftOneZero
AI & Automation
"Naturally compatible with how modern development works."
The way the API is structured and documented makes it naturally compatible with how modern development works — including AI-assisted coding and automated data pipelines.
AS
Ahmet Sayarlioglu Co-Founder, ScoutsLand

Included in all plans

Check all the features we cover here.

Score_icon

Fixtures & leagues data

Access complete fixture schedules, live scores, match events, standings, season statistics, topscorers, team of the week insights, and venue information across your selected leagues.

Data provider

Live data & events

Deliver dynamic match experiences with live standings, in-game events, ball coordinate tracking, and continuously updated match insights throughout every fixture.

Player stats icon

Teams & player data

Explore full team profiles, squad lists, rankings, player and coach statistics, referee data, injury and suspension updates, and historical data to build rich, data-driven experiences.

Dashboard icon

Advanced statistics

Power your product with detailed match statistics, standing statistics, team and player statistics, line-up statistics, head-to-head comparisons, trend analysis, and historical data across seasons.

Plans & pricing

Pick a plan that grows with your app

Every paid plan starts with a 14-day free trial. Cancel before day 14 and you’ll never see an invoice.

Monthly
Yearly
Starter

Perfect for small teams focusing on specific countries.

Starting at
€ 29
€ 24
paid monthly per month paid yearly

Pick any 5 leagues worldwide

2,000 API calls per entity per hour

Full professional-grade data access included

14 day free trial

Growth

Ideal for covering top football competitions.

Starting at
€ 99
€ 79
paid monthly per month paid yearly

Pick any 30 leagues worldwide

2,500 API calls per entity per hour

Full professional-grade data access included

14 day free trial

Pro

Built for developers creating a global product.

Starting at
€ 249
€ 199
paid monthly per month paid yearly

Pick any 120 leagues worldwide

3,000 API calls per entity per hour

Full professional-grade data access included

14 day free trial

Ultimate solution
Enterprise

The ultimate solution for the real pros, contact us for a tailored offer.

Starting at
€ Custom
€ Custom
paid monthly per month paid yearly

All 2300+ available leagues

5,000 API calls per entity per hour

Historical data included

Custom agreements available

Recommended Bundles

Odds & Predictions

Build betting features with pre-match and in-play odds combined with AI-powered fixture predictions.

  • Pre-match & inplay odds
  • AI fixture predictions
  • 50+ bookmakers
  • 150+ markets

Starting at
€24 €15
/month
Save 20%

xG & Pressure Index

Go deeper with expected-goals metrics for players and teams, alongside the team pressure index.

  • Player xG metrics
  • Team xG metrics
  • Team pressure index
  • xG, xGot, xPTS, npxG & more

Starting at
€29 €24
/month
Save 15%

Other

Extra API calls

Extra API calls

Increase the amount of data you can retrieve per hour with the extra API calls add-on.

Starting at €29 /month
News

News

Get access to pre- and post-match news article for the biggest leagues in the world with our News API.

Starting at €99 /month
Historical data

Historical data

Comprehensive historical football data archive for in-depth analysis available at a one-time fee.

Starting at €29 One-time fee
Transfer rumours

Transfer rumours

Add ongoing transfer rumours to your platform with continuously updated transfer rumours sourced from trusted media outlets.

Starting at €99 /month
Extra leagues

Extra leagues

Scale your product as you grow. Add more leagues on demand and instantly expand your data coverage.

Starting at €4 /month
Premium Odds Feed

Premium Odds Feed

Access an odds feed powered by TXOODS, delivering extended market coverage, deeper bookmaker granularity, and high-frequency updates.

Starting at €129 /month

Your Ligue 1 app starts today.

Create a free account

Sign up at MySportMonks.com, no credit card required.

Get access to all Ligue 1 data

Get access instantly, no approval process, no sales call.

Build whatever you want

Fixtures, scores, standings, and squads are available immediately. Start building in seconds.

Full data coverage

What's in the Ligue 1 API

A complete reference to the squads, teams, advanced metrics and schedules you can pull from the Ligue 1 endpoint. Jump to the section that matters for your build.

Ligue 1 fixtures

Ligue 1 schedule & fixtures

Render fixture lists, matchday previews, and season-long calendars from a single fixtures endpoint with includes for venue, referee, line-ups, and pre-match odds.

The Ligue 1 season runs from August to May, 34 matchdays per club. The schedule endpoint exposes every fixture, every season — historical and current. Season ID 25651 covers 2025/26.

2025/26 — verified results from the data feed

Season 25651
Date Round Fixture Result
03 May 2026 Matchday 32
Olympique LyonnaisOlympique Lyonnais vs RennesRennes
4 - 2
10 May 2026 Matchday 33
Paris Saint-GermainParis Saint-Germain vs BrestBrest
1 - 0
10 May 2026 Matchday 33
MonacoMonaco vs LOSC LilleLOSC Lille
0 - 1
17 May 2026 Matchday 34
StrasbourgStrasbourg vs MonacoMonaco
5 - 4
GET /v3/football/schedules/seasons/25651

Filter by team, date range, or matchday. Compose with stats, xG, predictions, and teams via ?include=.

Ligue 1 match statistics

Match statistics & in-play events

Every Ligue 1 fixture comes with a deep statistics object, goals, shots, possession, tackles, passes, cards, saves and more. Pull it pre-match, in-play, or post-match. Coach and referee stats included.

Attack

  • Goals
  • Shots (total, on target, off target, blocked)
  • Hit woodwork
  • Big chances created & missed
  • Assists
  • Corners
  • Crosses
  • Offsides

Defence

  • Tackles
  • Interceptions
  • Blocks & clearances
  • Saves
  • Goalkeeper saves inside box
  • Fouls
  • Yellow & red cards
  • Goals conceded

Overall

  • Ball possession %
  • Pass accuracy %
  • Total passes
  • Duels won
  • Aerials won
  • Substitutions
  • Injuries
  • Match events timeline
Paris Saint GermainParis Saint-Germain
vs
LensLens
2–0FT · 14 Sep 2025
GET /v3/football/fixtures/19433804?include=statistics.type 200 OK
{
  "data": {
    "id": 19433804,
    "league_id": 301,
    "name": "Paris Saint Germain vs Lens",
    "starting_at": "2025-09-14 15:15:00",
    "result_info": "Paris Saint Germain won after full-time.",
    "statistics": [
      { "type": "Ball Possession %",        "location": "home", "value": 68  },
      { "type": "Ball Possession %",        "location": "away", "value": 32  },
      { "type": "Shots Total",              "location": "home", "value": 14  },
      { "type": "Shots Total",              "location": "away", "value": 11  },
      { "type": "Shots On Target",          "location": "home", "value": 6   },
      { "type": "Shots On Target",          "location": "away", "value": 3   },
      { "type": "Goals",                    "location": "home", "value": 2   },
      { "type": "Goals",                    "location": "away", "value": 0   },
      { "type": "Corners",                  "location": "home", "value": 7   },
      { "type": "Corners",                  "location": "away", "value": 3   },
      { "type": "Tackles",                  "location": "home", "value": 14  },
      { "type": "Tackles",                  "location": "away", "value": 25  },
      { "type": "Fouls",                    "location": "home", "value": 12  },
      { "type": "Fouls",                    "location": "away", "value": 8   }
    ]
  }
}

Ligue 1 standings

Live Ligue 1 standings & table

More than a static league table, identify the virtual leader during a matchday in real time, watch the relegation race live, and access standings for every past season.

Live

Live standings & live goal difference

Watch the table reshape as matches play. If three goals go in across the league simultaneously, the table reorders in seconds, including live goal difference for tiebreakers.

Current season

Form, points, GS & GA

Position, points, matches played, wins, draws, losses, goals scored, goals conceded, goal difference, and last-5 form for every Ligue 1 club.

Historical

Every past season

Pull final standings for any Ligue 1 season we've covered. Build "this day in history" widgets, season comparisons, or relegation play-off dashboards.

Current Ligue 1 standings, top 6

Live snapshot
#ClubPWDLGDPts
1Paris Saint Germain crestParis Saint-Germain342446+4576
2Lens crestLens342248+3170
3LOSC Lille crestLOSC Lille341879+1561
4Olympique Lyonnais crestOlympique Lyonnais3418610+1360
5Olympique Marseille crestOlympique Marseille3418511+1859
6Rennes crestRennes341789+959
Live pull · GET /v3/football/standings/seasons/25651?include=participant · returns all 18 clubs with full home/away splits.

What's in the standings response

  • position  league rank
  • points  total points
  • overall_matches  played
  • overall_wins / draws / lost
  • overall_scored / conceded
  • home_wins / draws / lost
  • home_scored / conceded
  • away_wins / draws / lost
  • away_scored / conceded
  • streak  current form streak
  • result  up / equal / down
  • participant.short_code  PSG, OM, …

Ligue 1 top scorers

Ligue 1 top scorers, live

Live ranked top-scorer table with player photos, club crests, goals, assists, and any other stat you want to sort by. Updates after every Ligue 1 goal, no polling required.

Live data
Embed-as-iframe widget, same data the API serves, no token required
Soulier d'Or winners

Every Ligue 1 top scorer since 2005

Available through the historical top-scorer endpoint by season_id.

  • 2025/26Estéban Lepaul21 · REN
  • 2024/25Mason Greenwood21 · OM
  • 2024/25Ousmane Dembélé21 · PSG
  • 2023/24Kylian Mbappé27 · PSG
  • 2022/23Kylian Mbappé29 · PSG
  • 2021/22Kylian Mbappé28 · PSG
  • 2020/21Kylian Mbappé27 · PSG
  • 2019/20Kylian Mbappé18 · PSG
  • 2019/20Wissam Ben Yedder18 · ASM
  • 2018/19Kylian Mbappé33 · PSG
  • 2017/18Edinson Cavani28 · PSG
  • 2016/17Edinson Cavani35 · PSG
  • 2015/16Zlatan Ibrahimović38 · PSG
  • 2014/15Alexandre Lacazette27 · LYO
  • 2013/14Zlatan Ibrahimović26 · PSG
  • 2012/13Zlatan Ibrahimović30 · PSG
  • 2011/12Olivier Giroud21 · MHSC
  • 2010/11Moussa Sow25 · LOSC
  • 2009/10Mamadou Niang18 · OM
  • 2008/09André-Pierre Gignac24 · TFC
  • 2007/08Karim Benzema20 · LYO
  • 2006/07Pauleta15 · PSG
  • 2005/06Pauleta21 · PSG

Ligue 1 xG data

Ligue 1 xG & Expected Points

Our xG Data add-on covers Ligue 1 and 40+ other leagues. Here's what xG looks like in practice for Ligue 1.

xG analyses the quality of scoring chances using shot location, type, angle, goalkeeper positioning, distance from goal and surrounding players. The model is trained on millions of historical shots, every shot you query gets its own xG value between 0 and 1.

10 MAY 2026 · Fixture 19467928
MonacoMonacovsLOSC LilleLOSC Lille
Home xG0.47
Away xG0.47
Monaco 0–1 Lille. xG was a dead-heat (0.47 vs 0.47) but Lille's chances came at marginally better moments. The kind of low-volume match where xPts (1.26 vs 1.26) flags the result as essentially a coin-flip, and one xG-equivalent moment decided it.
17 MAY 2026 · Fixture 19433455
StrasbourgStrasbourgvsMonacoMonaco
Home xG1.77
Away xG1.57
Strasbourg 5–4 Monaco. The wildest game of the season. xG (1.77 vs 1.57) projected a sub-four-goal match, the finishing went nuclear with nine goals on chances worth three. Useful for showing users where xG and reality diverge spectacularly.
03 MAY 2026 · Fixture 19467921
Olympique LyonnaisOlympique LyonnaisvsRennesRennes
Home xG2.16
Away xG0.90
Lyon 4–2 Rennes. xG margin (2.16 vs 0.90) said clear home win, and Lyon converted at a clip above expected. Both sides over-finished their xG, classic open game with a Groupama Stadium roar behind every shot.
10 MAY 2026 · Fixture 19433937
Paris Saint GermainParis Saint-GermainvsBrestBrest
Home xG1.95
Away xG0.27
PSG 1–0 Brest. xG gap (1.95 vs 0.27) one of the widest of the season, Brest barely managed a quarter of a goal's worth of chances at the Parc. Final score tracked xG almost exactly, the kind of fixture where the model and reality line up.

Expected Points: who's over- or underperforming the table

Beyond match-level xG, our Expected Points endpoint converts cumulative xG into projected league points, so you can show users which clubs are punching above their weight and which are quietly heading for trouble.

Paris Saint-Germain
76 pts 67 xPts
+9overperforming
Olympique Lyonnais
60 pts 49 xPts
+11overperforming

Ligue 1 predictions

Ligue 1 predictions & value bets

Our Predictions API has been refined since 2017. Machine-learning models trained on millions of historical matches output probabilities for every Ligue 1 fixture across 20+ betting markets, available 21 days before kick-off and updated daily.

1,350+
Leagues with predictions
20+
Markets covered
21 days
Pre-match lead time
Daily
Probability updates

What the model considers

  • Team form, recent results, scoring/conceding trend, home/away splits.
  • Head-to-head records, historical performance between the same two clubs (Le Classique, Marseille vs PSG, has its own pattern).
  • Player contributions, individual form, position, and impact on team output (Dembélé creating, Mbappé-era finishing).
  • Player availability, injuries and suspensions to key players (Dembélé out, Hakimi back).
  • Expected Goals (xG), chance quality, not just chance count, factored into the win probability.
Paris Saint GermainParis Saint-Germain
vs
LensLens
2–0 FT · 14 Sep 2025
GET /v3/football/predictions/probabilities/fixtures/19433804 200 OK
{
  "data": {
    "id": 19433804,
    "name": "Paris Saint Germain vs Lens",
    "league_id": 301,
    "season_id": 25651,
    "starting_at": "2025-09-14 15:15:00",
    "result_info": "Paris Saint Germain won after full-time.",
    "predictions": [
      { "type_id": 237, "type": "Fulltime Result",
        "predictions": { "home": 62.30, "draw": 21.38, "away": 16.28 } },
      { "type_id": 239, "type": "Double Chance",
        "predictions": { "draw_home": 83.68, "home_away": 78.58, "draw_away": 37.66 } },
      { "type_id": 231, "type": "Both Teams To Score",
        "predictions": { "yes": 51.96, "no": 48.04 } },
      { "type_id": 334, "type": "Total Goals Over 0.5",
        "predictions": { "yes": 85.80, "no": 14.20 } },
      { "type_id": 333, "type": "Total Goals Over 2.5",
        "predictions": { "yes": 52.36, "no": 47.64 } },
      { "type_id": 332, "type": "Total Goals Over 3.5",
        "predictions": { "yes": 21.19, "no": 78.81 } },
      { "type_id": 238, "type": "Team To Score First",
        "predictions": { "home": 64.77, "away": 29.84, "draw": 5.39 } },
      { "type_id": 240, "type": "Correct Score (top 3)",
        "predictions": { "1-0": 10.91, "2-0": 10.45, "2-1": 10.00 } }
    ]
  }
}

Markets you can pull for every Ligue 1 fixture

Probabilities only, pair with our Premium Odds Feed to compute live value-bet edges.

  • Match-winner (1X2)
  • Double chance
  • Both teams to score
  • Total goals (over/under)
  • Correct score
  • Half-time / full-time
  • Asian handicap
  • European handicap
  • Total corners
  • Total cards
  • Clean sheet
  • Win to nil
  • First / last goalscorer
  • Anytime goalscorer
  • Player to score 2+
  • Value bet indicator

Ligue 1 teams

All 18 Ligue 1 teams & their IDs

Every Ligue 1 club we cover, with the team ID you'll use to query the API. Team IDs are stable across seasons, bookmark this page.

Ligue 1 trimmed to 18 clubs and 34 matchdays from 2023/24 onwards, the same format as the Bundesliga, with two automatic relegation slots and one promotion play-off. PSG's Parc des Princes, Marseille's Stade Vélodrome (67,395, the largest in French club football), and Lyon's Groupama Stadium (59,186) anchor a competition that exports more young talent to the rest of Europe than any other top-five league. Whatever you're building, fantasy, betting, scouting, media, Ligue 1 data is the source of truth for the French-speaking football world.

Ligue 1 team IDs

Use with GET /v3/football/teams/{id}
ClubTeam IDFoundedStadiumCapacity
Angers SCOAngers SCO7761919Stade Raymond Kopa17,835
AuxerreAuxerre36821905Stade de l'Abbé Deschamps18,541
BrestBrest2661950Stade Francis-Le Blé15,097
Le HavreLe Havre10551872Stade Océane25,181
LensLens2711906Stade Bollaert-Delelis38,223
LOSC LilleLOSC Lille6901944Stade Pierre-Mauroy50,186
LorientLorient92571926Stade du Moustoir18,110
MetzMetz35131932Stade Saint-Symphorien26,661
MonacoMonaco67891919Stade Louis II18,523
NantesNantes591943Stade de la Beaujoire37,473
NiceNice4501904Allianz Riviera36,178
Olympique LyonnaisOlympique Lyonnais791950Groupama Stadium59,186
Olympique MarseilleOlympique Marseille441899Stade Vélodrome67,395
Paris FCParis FC45081969Stade Jean Bouin15,097
Paris Saint GermainParis Saint-Germain5911970Parc des Princes48,583
RennesRennes5981901Roazhon Park29,778
StrasbourgStrasbourg6861906Stade de la Meinau29,200
ToulouseToulouse2891937Stadium de Toulouse33,150

Promoted & relegated clubs rotate each season, query the current 18 with GET /v3/football/standings/seasons/{season_id}. Team IDs remain stable across seasons.

Ligue 1 players & all-time leaders

Squads, players & all-time leaders

Every Ligue 1 player, every active squad, every transfer, with photo, position, jersey number, date of birth, height and weight. Updated continuously through the season.

Build complete squad pages

All Ligue 1 players are included in the Ligue 1 API. Render full club squads, group by position, filter by transfer window, your call.

Live player stats

Goals, assists, passes, tackles, duels, take-ons, cards, keep your users updated on who's performing and who's underperforming, as the match unfolds.

Ligue 1 top scorers

Generate a top-scorers list ranked by goals, assists, cards, or any other stat. Add country flags, club crests, and player photos straight from our CDN.

Bonus dataset

Ligue 1 all-time top scorers

Cumulative goal records across the full Ligue 1 era, ready to surface in your app.

All-time leaders
  • Delio Onnis299 · ASM/REI
  • Bernard Lacombe255 · LYO/BOR
  • Hervé Revelli216 · ASSE/NCE
  • Roger Courtois210 · STR/TFC
  • Thadée Cisowski206 · PSG/METZ
  • Roger Piantoni203 · NCY/REI
  • Joseph Ujlaki190 · OGCN/SED
  • Just Fontaine165 · STAD/REI
Modern era (post-2000)
  • Kylian Mbappé192 · ASM/PSG
  • Pauleta109 · BOR/PSG
  • Edinson Cavani138 · PSG
  • Zlatan Ibrahimović113 · PSG
  • Pierre-Emerick Aubameyang95 · ASSE/OM
  • Neymar Jr82 · PSG
  • Wissam Ben Yedder119 · TFC/ASM
  • Alexandre Lacazette130 · LYO

Ligue 1 champions

Ligue 1 champions

Pull the full historical winners list with squads, points totals, and goal differences for every Ligue 1 season. France's top flight has produced one all-conquering modern dynasty, the only French Champions League winner, and 13 distinct title-winning clubs.

Ligue 1 winners, the facts

13
Paris Saint-Germain hold the record for most Ligue 1 titles in the modern era, ten of them since 2013 under Qatari ownership. The Trophée des Champions has lived in Paris most years of the past decade.
10
AS Saint-Étienne, ten titles, the most decorated French club before PSG's modern dynasty. Les Verts dominated the 1960s and 1970s with the legendary 1976 European Cup final run.
7
Olympique Lyonnais 2002–2008, seven consecutive titles, the longest unbroken run in Ligue 1 history before PSG matched it. The Juninho-era OL set the template for sustained French dominance.
1993
Olympique Marseille, the only French club to win the Champions League/European Cup. Beat AC Milan 1–0 in Munich, Basile Boli the scorer. The title was later stripped domestically due to the VA-OM affair, restored in the European record book.
9
Olympique Marseille, nine Ligue 1 titles, the most decorated non-PSG, non-Saint-Étienne club. Last title 2010 under Didier Deschamps.

Most-decorated Ligue 1 champions

Titles per club, all-time (since 1932).

  • Paris Saint-Germain14
  • AS Saint-Étienne10
  • Olympique Marseille9
  • FC Nantes8
  • AS Monaco8
  • Olympique Lyonnais7
  • Stade de Reims6
  • Girondins de Bordeaux6
  • LOSC Lille4
  • OGC Nice4

Recent Ligue 1 winners' list

SeasonChampion
2025/26Paris Saint-Germain
2024/25Paris Saint-Germain
2023/24Paris Saint-Germain
2022/23Paris Saint-Germain
2021/22Paris Saint-Germain
2020/21LOSC Lille · "Le miracle nordiste"
2019/20Paris Saint-Germain (season ended early)
2018/19Paris Saint-Germain
2017/18Paris Saint-Germain
2016/17AS Monaco
2015/16Paris Saint-Germain
2014/15Paris Saint-Germain
2013/14Paris Saint-Germain
SeasonChampion
2012/13Paris Saint-Germain
2011/12Montpellier HSC · "L'exploit pailladin"
2010/11LOSC Lille
2009/10Olympique Marseille
2008/09Girondins de Bordeaux
2007/08Olympique Lyonnais
2006/07Olympique Lyonnais
2005/06Olympique Lyonnais
2003/04Olympique Lyonnais
2002/03Olympique Lyonnais
1999/00AS Monaco
1993/94Paris Saint-Germain
1992/93Olympique Marseille · UCL winners

Frequently asked

Quick answers about the Ligue 1 API

Does the Ligue 1 API include historical seasons?
Yes. Historical fixtures, standings, top scorers, squads, and (where applicable) xG are available for every Ligue 1 season we've covered. Use the seasons endpoint to enumerate, then filter the fixtures or standings endpoint by season_id. Season ID 25651 covers 2025/26.
How is Ligue 1 xG calculated?
Our xG model is trained on millions of historical shots and their outcomes. For each shot it considers location, type of attempt, angle to goal, goalkeeper position, defenders between ball and goal, and distanc. See the xG section above for live Ligue 1 examples.
How long does it take to integrate the Ligue 1 API?
Most developers have their first Premier League fixture response rendering in their app within an hour of signing up. Our developers created a Postman collection and intuitive docs to get you up to speed quickly.
Is Ligue 1 included in the Free plan?
The Free plan covers the Danish Superliga and Scottish Premiership only. To access Ligue 1, start a 14-day free trial of any paid plan. Plans start at 29/month (Starter, 5 leagues), Growth is 99/month (30 leagues), Pro is 249/month (120 leagues, most popular), and Enterprise is a custom quote covering all 2,300+ competitions. Cancel any time before day 14 and you'll never be invoiced.
What is Paris Saint-Germain's team ID in the Sportmonks Ligue 1 API?
Paris Saint-Germain's team ID is 591, Olympique Marseille's is 44, Olympique Lyonnais is 79 and Monaco is 6789. Query PSG with GET /v3/football/teams/591. All 18 current Ligue 1 team IDs are listed in the team table above. Team IDs are stable across seasons.
Which other French competitions are covered alongside Ligue 1?
French football is covered end to end, including Ligue 2 (the second tier), Coupe de France, Trophée des Champions, Championnat National (third tier), and the Première Ligue (women's top flight, formerly D1 Arkema). All accessible from the same API token under your European or Worldwide plan.

Why Ligue 1 matters

France's flagship competition, the launchpad for world football

Ligue 1 is the development league of choice for European football's most valuable talent pipeline, Mbappé, Pogba, Camavinga, Tchouameni and Saliba all came through here. Paris Saint-Germain's title dynasty sits alongside Marseille's 1993 Champions League win, the only French side to lift the trophy. The 2024–29 domestic broadcast cycle is anchored by DAZN and beIN Sports at roughly €500 million per season, with Apple, Amazon and Netflix all circling the next deal. Whatever you're building, fantasy, betting, scouting, media, Ligue 1 data is what French-speaking audiences expect to be done right.

18
Clubs · 34 matchdays
Reduced from 20 in 2023/24, tighter top-flight than the PL or La Liga.
€500M
Domestic media rights
Per-season value of the 2024–29 cycle (DAZN + beIN Sports).
67,395
Largest stadium
Stade Vélodrome, Marseille, the biggest in French club football.
1993
Only French UCL win
Olympique Marseille, beating Milan 1–0 in Munich.

Your Ligue 1 app starts today

Sign up, get your API token, make your first Ligue 1 fixture call, all in the same session. Real humans available 7 days a week if you need a hand.

14-day free trial · No credit card required · Cancel any time