Mexico Liga MX Soccer Data API
Integrate live scores, fixtures, standings, lineups, and odds for Mexico Liga MX through one fast, reliable, developer-friendly REST & WebSocket API. 29 clubs, 22 seasons of history, one consistent JSON schema.
No credit card required
The same schema powers Mexico Liga MX and 1,000+ competitions worldwide.
Access Full Data of Mexico Liga MX Matches
Every Mexico Liga MX match, table, and transfer flows through the same clean JSON — no scraping, no HTML parsing, no manual updates. Pick an endpoint, send one request, and get structured data you can ship straight into your product.
https://data.anysport.io/v1/soccer/livescore?match_id=as_3361a7d6448a4685bba040d8619b3cf1&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/livescore',
headers={'apikey': 'YOUR_API_KEY'},
params={'match_id': 'as_3361a7d6448a4685bba040d8619b3cf1', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_3361a7d6448a4685bba040d8619b3cf1",
"home": "Pachuca",
"away": "Queretaro",
"league": "Mexico Liga MX",
"minute": 90,
"phase": "finished",
"phase_label": "Finished",
"home_score": 1,
"away_score": 2,
"ht_score": "1-0",
"reg_score": "1-2",
"updated_at": "2026-07-27T03:05:47Z"
}
],
"meta": {
"total": 1
}
}https://data.anysport.io/v1/soccer/matches?league_id=asl_7a42ea7a17204a4da5388813f33aaee0&season=2026%2F2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/matches',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_7a42ea7a17204a4da5388813f33aaee0', 'season': '2026/2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_90739792b4ba4d2aa6877436e3430a59",
"date": "2026-11-23",
"time": "01:00",
"status": "Not Started",
"league": "Liga MX",
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"season": "2026/2027",
"home": {
"name": "Queretaro",
"team_id": "ast_5961a149f1bc493a8fd6ee470d2a6b6c"
},
"away": {
"name": "Necaxa",
"team_id": "ast_247ec3cb8e0847fcb74821cd03f63184"
},
"ht_score": "-",
"venue": "Estadio La Corregidora"
},
{
"match_id": "as_a8614a5768ef4460afd9ad9ca562b138",
"date": "2026-11-22",
"time": "01:00",
"status": "Not Started",
"league": "Liga MX",
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"season": "2026/2027",
"home": {
"name": "UNAM Pumas",
"team_id": "ast_9b4bb23bc876400a88cf0e08c9b03fa8"
},
"away": {
"name": "Monterrey",
"team_id": "ast_66a8a53250194ec894fd2dceb30591f7"
},
"ht_score": "-",
"venue": ""
},
{
"match_id": "as_8546592f87ed430e993e241089606213",
"date": "2026-11-22",
"time": "03:00",
"status": "Not Started",
"league": "Liga MX",
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"season": "2026/2027",
"home": {
"name": "Tigres UANL",
"team_id": "ast_5b31c3f03e2845138ac7948d1fb14565"
},
"away": {
"name": "Club America",
"team_id": "ast_5a5e495f2f6945bc93d4018c66aaee32"
},
"ht_score": "-",
"venue": "Estadio Universitario"
}
],
"meta": {
"total": 10
}
}https://data.anysport.io/v1/soccer/standings?league_id=asl_7a42ea7a17204a4da5388813f33aaee0&season=2026-2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/standings',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_7a42ea7a17204a4da5388813f33aaee0', 'season': '2026-2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"position": 1,
"team_id": "ast_5a5e495f2f6945bc93d4018c66aaee32",
"team": "Club America",
"played": 13,
"wins": 8,
"draws": 3,
"losses": 2,
"goals_for": 33,
"goals_against": 18,
"goal_difference": 15,
"points": 27,
"form": "LWWDW"
},
{
"position": 2,
"team_id": "ast_95273c72cc654034b1035285efb31e25",
"team": "Cruz Azul",
"played": 14,
"wins": 8,
"draws": 2,
"losses": 4,
"goals_for": 32,
"goals_against": 23,
"goal_difference": 9,
"points": 26,
"form": "WWWDD"
},
{
"position": 3,
"team_id": "ast_30c4136539654f479d8c59c41cb96c17",
"team": "Guadalajara Chivas",
"played": 14,
"wins": 7,
"draws": 5,
"losses": 2,
"goals_for": 21,
"goals_against": 12,
"goal_difference": 9,
"points": 26,
"form": "WWDDL"
}
],
"meta": {
"total": 18
}
}https://data.anysport.io/v1/soccer/topscorers?league_id=asl_7a42ea7a17204a4da5388813f33aaee0&season=2026-2027&kind=goals&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/topscorers',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_7a42ea7a17204a4da5388813f33aaee0', 'season': '2026-2027', 'kind': 'goals', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"rank": 1,
"player_id": "asp_702b786e7278434bbc6d51f3d8394ed4",
"player_name": "Salomon Rondon",
"team_id": "ast_5e9e2fa08ef14df8a2477b7dcb8429fb",
"team_name": "Pachuca",
"value": 13
},
{
"rank": 2,
"player_id": "asp_8862e6e614c84d029c7cbd3710604380",
"player_name": "Federico Vinas",
"team_id": "ast_664ab8199795407a92faf8f1332eb563",
"team_name": "Toluca",
"value": 7
},
{
"rank": 3,
"player_id": "asp_b9bc17d8bff949cd8e939edb3c0b0db5",
"player_name": "Francisco Juan",
"team_id": "ast_5b31c3f03e2845138ac7948d1fb14565",
"team_name": "Tigres UANL",
"value": 7
}
],
"meta": {
"total": 50
}
}https://data.anysport.io/v1/soccer/teams?league_id=asl_7a42ea7a17204a4da5388813f33aaee0&season=2026%2F2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/teams',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_7a42ea7a17204a4da5388813f33aaee0', 'season': '2026/2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"team_id": "ast_69cf9a98fe0e4473a232a49cfd2dc87d",
"name": "Atlante",
"country": "Mexico",
"venue": "Estadio Agustín Coruco Díaz"
},
{
"team_id": "ast_37921852aa874df3856479bd9cdf14d7",
"name": "Atlas",
"country": "Mexico",
"venue": "Estadio Jalisco"
},
{
"team_id": "ast_e8fa3c2d6b974de89d5462d5b3e1d701",
"name": "Atlético San Luis",
"country": "Mexico",
"venue": "Estadio Alfonso Lastras Ramírez"
}
],
"meta": {
"total": 18
}
}https://data.anysport.io/v1/soccer/odds/live?lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/odds/live',
headers={'apikey': 'YOUR_API_KEY'},
params={'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_0059673e806d4a0788a0d38a6a72f500",
"home": "ABC",
"away": "Luverdense",
"league": "Brazil Serie D",
"bookmaker": "bet365",
"phase": "live",
"main_market": "fulltime_result",
"main_market_label": "Fulltime Result",
"home_odd": 1.008,
"draw_odd": 26,
"away_odd": 51,
"markets": [
{
"market_code": "home_4th_goal_in_interval",
"market_code_label": "Home 4th Goal in Interval",
"handicap": 80,
"options": [
{
"name": "Yes",
"name_label": "Yes",
"odd": 9
},
{
"name": "No",
"name_label": "No",
"odd": 1.04
}
]
},
{
"market_code": "last_corner",
"market_code_label": "Last Corner",
"options": [
{
"name": "1",
"name_label": "1",
"odd": 1.8
},
{
"name": "2",
"name_label": "2",
"odd": 1.909
}
]
},
{
"market_code": "how_many_goals_will_away_team_score",
"market_code_label": "How many goals will Away Team score?",
"options": [
{
"name": "No goal",
"name_label": "No goal",
"odd": 1.571
},
{
"name": "1",
"name_label": "1",
"odd": 1.142
},
{
"name": "2",
"name_label": "2",
"odd": 5.5
},
{
"name": "3 or more",
"name_label": "3 or more",
"odd": 17
}
]
},
{
"market_code": "asian_handicap",
"market_code_label": "Asian Handicap",
"handicap": -2.25,
"options": [
{
"name": "1",
"name_label": "1",
"odd": 2.5
},
{
"name": "2",
"name_label": "2",
"odd": 1.5
}
]
}
],
"updated_at": "2026-07-26T21:41:43Z"
}
],
"meta": {
"total": 1
}
}https://data.anysport.io/v1/soccer/players?team_id=ast_33d5517a36b54a1cbb5490c9f2f62d94&league_id=asl_7a42ea7a17204a4da5388813f33aaee0&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/players',
headers={'apikey': 'YOUR_API_KEY'},
params={'team_id': 'ast_33d5517a36b54a1cbb5490c9f2f62d94', 'league_id': 'asl_7a42ea7a17204a4da5388813f33aaee0', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"player_id": "asp_331822489d834d439dec657b5bcb15ad",
"name": "Alan Vega",
"position": "D",
"number": "16",
"age": "26",
"team_id": "ast_33d5517a36b54a1cbb5490c9f2f62d94",
"team_name": "Tijuana",
"season_stats": {
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"appearances": 29,
"minutes": 2123,
"assists": 6,
"yellow_cards": 3,
"red_cards": 0,
"rating": 6.862
}
},
{
"player_id": "asp_f673d268ba2143db987ddab09ff1dc28",
"name": "Aldahir Perez",
"position": "M",
"number": "26",
"age": "21",
"team_id": "ast_33d5517a36b54a1cbb5490c9f2f62d94",
"team_name": "Tijuana",
"season_stats": {
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"appearances": 3,
"minutes": 106,
"assists": 0,
"yellow_cards": 0,
"red_cards": 0,
"rating": 6.967
}
},
{
"player_id": "asp_0d51d507159248a2ab6fe43bd74f2517",
"name": "Alejandro Gomez",
"position": "D",
"number": "6",
"age": "24",
"team_id": "ast_33d5517a36b54a1cbb5490c9f2f62d94",
"team_name": "Tijuana",
"season_stats": {
"league_id": "asl_7a42ea7a17204a4da5388813f33aaee0",
"appearances": 35,
"minutes": 2338,
"goals": 2,
"assists": 0,
"yellow_cards": 8,
"red_cards": 0,
"rating": 6.883
}
}
],
"meta": {
"total": 27
}
}https://data.anysport.io/v1/soccer/odds/prematch?lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/odds/prematch',
headers={'apikey': 'YOUR_API_KEY'},
params={'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_d21c97e73a5e45c7b87cb82e28c9f986",
"home": "Hafnarfjordur",
"away": "KR Reykjavik",
"league": "Iceland: Besta Deild Karla",
"bookmaker": "bet365",
"phase": "prematch",
"main_market": "match_winner",
"main_market_label": "Match Winner",
"home_odd": 3.9,
"draw_odd": 4.5,
"away_odd": 1.57,
"markets": [
{
"market_code": "match_winner",
"market_code_label": "Match Winner",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.9
},
{
"name": "Draw",
"name_label": "Draw",
"odd": 4.5
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.57
}
]
},
{
"market_code": "home_away",
"market_code_label": "Home/Away",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.4
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.3
}
]
},
{
"market_code": "2nd_half_winner",
"market_code_label": "2nd Half Winner",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.6
},
{
"name": "Draw",
"name_label": "Draw",
"odd": 3.4
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.83
}
]
},
{
"market_code": "asian_handicap",
"market_code_label": "Asian Handicap",
"options": [
{
"name": "Home -1",
"name_label": "Home -1",
"odd": 7
},
{
"name": "Away +1",
"name_label": "Away +1",
"odd": 1.1
},
{
"name": "Home -0.75",
"name_label": "Home -0.75",
"odd": 5
},
{
"name": "Away +0.75",
"name_label": "Away +0.75",
"odd": 1.17
},
{
"name": "Home -0.5",
"name_label": "Home -0.5",
"odd": 4
},
{
"name": "Away +0.5",
"name_label": "Away +0.5",
"odd": 1.23
},
{
"name": "Home -0.25",
"name_label": "Home -0.25",
"odd": 3.7
},
{
"name": "Away +0.25",
"name_label": "Away +0.25",
"odd": 1.26
},
{
"name": "Home +0",
"name_label": "Home +0",
"odd": 3.45
},
{
"name": "Away 0",
"name_label": "Away 0",
"odd": 1.3
},
{
"name": "Home +0.25",
"name_label": "Home +0.25",
"odd": 2.68
},
{
"name": "Away -0.25",
"name_label": "Away -0.25",
"odd": 1.45
},
{
"name": "Home +0.5",
"name_label": "Home +0.5",
"odd": 2.3
},
{
"name": "Away -0.5",
"name_label": "Away -0.5",
"odd": 1.6
},
{
"name": "Home +0.75",
"name_label": "Home +0.75",
"odd": 2.08
},
{
"name": "Away -0.75",
"name_label": "Away -0.75",
"odd": 1.72
},
{
"name": "Home +1",
"name_label": "Home +1",
"odd": 1.9
},
{
"name": "Away -1",
"name_label": "Away -1",
"odd": 1.9
},
{
"name": "Home +2",
"name_label": "Home +2",
"odd": 1.35
},
{
"name": "Away -2",
"name_label": "Away -2",
"odd": 3.1
},
{
"name": "Home +3",
"name_label": "Home +3",
"odd": 1.12
},
{
"name": "Away -3",
"name_label": "Away -3",
"odd": 6
},
{
"name": "Home +1.25",
"name_label": "Home +1.25",
"odd": 1.72
},
{
"name": "Away -1.25",
"name_label": "Away -1.25",
"odd": 2.08
},
{
"name": "Home +1.5",
"name_label": "Home +1.5",
"odd": 1.6
},
{
"name": "Away -1.5",
"name_label": "Away -1.5",
"odd": 2.3
},
{
"name": "Home +1.75",
"name_label": "Home +1.75",
"odd": 1.48
},
{
"name": "Away -1.75",
"name_label": "Away -1.75",
"odd": 2.6
},
{
"name": "Home +2.25",
"name_label": "Home +2.25",
"odd": 1.3
},
{
"name": "Away -2.25",
"name_label": "Away -2.25",
"odd": 3.45
},
{
"name": "Home +2.5",
"name_label": "Home +2.5",
"odd": 1.26
},
{
"name": "Away -2.5",
"name_label": "Away -2.5",
"odd": 3.7
},
{
"name": "Home +2.75",
"name_label": "Home +2.75",
"odd": 1.19
},
{
"name": "Away -2.75",
"name_label": "Away -2.75",
"odd": 4.5
}
]
}
],
"updated_at": "2026-07-28T14:20:04Z"
}
],
"meta": {
"total": 1
}
}One Request, the Full Mexico Liga MX Table
This isn't a screenshot. The standings below are served live from a single GET /standings call — the exact response your app receives. Positions, form, and goal difference update themselves; you never touch a spreadsheet.
| Position | Team | Played | W/D/L | Goals For / Against | Goal Difference | Form |
|---|---|---|---|---|---|---|
| 1 | Club America | 13 | 8/3/2 | 33/18 | 15 | LWWDW |
| 2 | Cruz Azul | 14 | 8/2/4 | 32/23 | 9 | WWWDD |
| 3 | Guadalajara Chivas | 14 | 7/5/2 | 21/12 | 9 | WWDDL |
| 4 | Atlas | 14 | 7/3/4 | 25/26 | -1 | WLWDW |
| 5 | Toluca | 14 | 6/5/3 | 29/19 | 10 | DDDLD |
| 6 | Club Leon | 14 | 6/4/4 | 21/18 | 3 | DWLDW |
| 7 | Monterrey | 13 | 6/2/5 | 23/18 | 5 | LWWDL |
| 8 | Club Tijuana | 13 | 5/5/3 | 21/17 | 4 | WDDDL |
| 9 | Queretaro | 13 | 6/2/5 | 17/18 | -1 | LLLWW |
| 10 | Santos Laguna | 14 | 6/1/7 | 20/20 | 0 | LWWWW |
| 11 | Atl. San Luis | 14 | 5/4/5 | 19/22 | -3 | WWDLW |
| 12 | UNAM Pumas | 14 | 4/5/5 | 20/23 | -3 | DLWDL |
| 13 | Pachuca | 14 | 4/4/6 | 22/19 | 3 | WLLDL |
| 14 | Puebla | 14 | 4/4/6 | 16/21 | -5 | LLDDL |
| 15 | Tigres UANL | 14 | 3/6/5 | 15/19 | -4 | DLDWW |
| 16 | Atlante | 14 | 3/5/6 | 14/20 | -6 | LWLLW |
| 17 | Necaxa | 14 | 2/4/8 | 16/27 | -11 | DLLDL |
| 18 | Juarez | 14 | 1/2/11 | 9/33 | -24 | DLLDL |
Data comes from the AnySport league standing endpoint. Update date: 2026/10/26
Mexico Liga MX Season 2026-2027, Quantified
Every figure below is computed from raw match data the API returns — not hand-entered. Build the same dashboards, betting models, or editorial widgets on top of the same numbers.
Last update: 2026/10/26
22 Seasons of Mexico Liga MX History, Queryable
Coverage runs back to 2005-2006 — champions and distinct title-holders, every final table archived and addressable by season. Backfill your database once, then keep it current from the same endpoints. This depth is what separates a data provider from a scoreboard.
| Season | Team | Points | Match Record | Goal Statistics |
|---|---|---|---|---|
| 2025-2026 | UNAM Pumas | 36 | 17/10/6/1 | 34/17/17 |
| 2024-2025 | Cruz Azul | 42 | 17/13/3/1 | 39/12/27 |
| 2023-2024 | America | 40 | 17/12/4/1 | 37/14/23 |
| 2022-2023 | America | 38 | 17/12/2/3 | 38/17/21 |
| 2021-2022 | America | 35 | 17/10/5/2 | 21/10/11 |
| 2020-2021 | Leon | 40 | 17/12/4/1 | 27/14/13 |
| 2019-2020 | Santos Laguna | 37 | 18/11/4/3 | 40/25/15 |
| 2018-2019 | Cruz Azul | 36 | 17/11/3/3 | 26/13/13 |
| 2017-2018 | Monterrey | 37 | 17/11/4/2 | 29/12/17 |
| 2016-2017 | Tijuana | 33 | 17/10/3/4 | 25/13/12 |
| 2015-2016 | Pumas UNAM | 35 | 17/11/2/4 | 37/20/17 |
| 2014-2015 | America | 31 | 17/9/4/4 | 28/18/10 |
| 2013-2014 | America | 37 | 17/11/4/2 | 31/12/19 |
| 2012-2013 | Toluca | 34 | 17/10/4/3 | 28/17/11 |
| 2011-2012 | Guadalajara | 30 | 17/8/6/3 | 24/18/6 |
| 2010-2011 | Monterrey | 32 | 17/9/5/3 | 29/20/9 |
| 2009-2010 | Toluca | 35 | 17/11/2/4 | 32/19/13 |
| 2008-2009 | Atlante | 27 | 17/7/6/4 | 22/16/6 |
| 2007-2008 | Santos Laguna | 38 | 17/11/5/1 | 40/22/18 |
| 2006-2007 | Cruz Azul | 30 | 17/9/3/5 | 27/20/7 |
| 2005-2006 | America | 38 | 17/12/2/3 | 34/22/12 |