NewConnect Claude, Gemini, ChatGPT, and other AI agents to API Ninjas via our MCP server →

MLS API

A soccer API for Major League Soccer: get the regular season and MLS Cup playoff fixtures, live scores with the match minute on paid plans, results with goals per half, the Eastern and Western Conference standings with the playoff places, and every club's squad. The free plan covers the current season's fixtures, results, standings and squads.

MLS is served by the Football (Soccer) API with league=mls. The same API key works for every sports API.

Available endpoints:

MLS data at a glance

Season valueseason=2026 is the 2026 season, February to the MLS Cup in December (season_label 2026)
Season typesregular for the regular season and postseason for the MLS Cup playoffs, with the playoff round in round
ConferencesEastern and Western; filter standings with conference=Eastern
Match daydate is the US Eastern date, so West Coast night matches keep their US date
ResultsGoals per half in period_scores; regular season draws have winner: null, and playoff matches can go to extra_time or penalties
Club idssoccer-lafc, soccer-inter-miami-cf, soccer-la-galaxy: one id per club, shared with other soccer competitions
SquadsPosition, jersey number, nationality, birth date, height and weight

MLS table fields

points, wins, draws, losses, goals_for, goals_against, goal_difference, the club's conference and conference_rank, the overall league_rank (ordered by points, then goal difference, then goals scored), and qualification for the MLS Cup playoff places, including the wild card matches.

4 endpoints

https://api.api-ninjas.com/v1/soccermatches

Returns fixtures, live scores and results. Ask for one day, a team's season or one match; with only league you get today's matches. Paid plans see matches in progress with the score, half and match minute updated throughout the match; the free plan sees their status and the final score once they end. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccermatches.

Live Demo

Live demo · no API key required
Query parameters
league
date
team
season
season_type
status
game_id
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccermatches?league=mls
Sample response
[
{
"game_id": "mls-20261025-la-lafc",
"league": "mls",
"sport": "soccer",
"season": 2026,
"season_label": "2026",
"season_type": "regular",
"round": null,
"leg": null,
"date": "2026-10-25",
"start_time": "2026-10-26T01:00:00Z",
"status": "final",
"status_detail": null,
"period": 2,
"clock": null,
"home_team": {
"team_id": "soccer-lafc",
"name": "LAFC",
"abbreviation": "LAFC"
},
"away_team": {
"team_id": "soccer-la-galaxy",
"name": "LA Galaxy",
"abbreviation": "LA"
},
"home_score": 2,
"away_score": 2,
"period_scores": {
"home": [
0,
2
],
"away": [
1,
1
]
},
"penalty_scores": null,
"aggregate_scores": null,
"decided_in": "regulation",
"winner": null,
"venue": {
"name": "BMO Stadium",
"city": "Los Angeles, California",
"state": null,
"country": "US"
},
"neutral_site": false,
"original_date": null,
"updated_at": "2026-10-27T23:14:44Z"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccermatches?league=mls" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerstandings

Returns the table for a season, ordered by league rank, or by conference or division rank when you filter. Tables update throughout the season, shortly after each match ends. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccerstandings.

Live Demo

Live demo · no API key required
Query parameters
league
season
conference

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerstandings?league=mls
Sample response
[
{
"league": "mls",
"sport": "soccer",
"season": 2026,
"season_label": "2026",
"team": {
"team_id": "soccer-nashville-sc",
"name": "Nashville SC",
"abbreviation": "NSH"
},
"conference": "Eastern",
"division": null,
"games_played": 31,
"wins": 21,
"draws": 7,
"losses": 3,
"points": 70,
"goals_for": 66,
"goals_against": 23,
"goal_difference": 43,
"league_rank": 1,
"conference_rank": 1,
"qualification": "Qualifies for MLS Cup Playoffs - Round One Best-of-3 series",
"final": false
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerstandings?league=mls" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerclubs

Lists clubs with their domestic league, country and home venue. Available on every plan.

Full parameter and response reference: /v1/soccerclubs.

Live Demo

Live demo · no API key required
Query parameters
league
team
active

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerclubs?league=mls
Sample response
[
{
"team_id": "soccer-lafc",
"league": "mls",
"sport": "soccer",
"abbreviation": "LAFC",
"name": "LAFC",
"short_name": "LAFC",
"city": "Los Angeles",
"country": "US",
"venue": {
"name": "BMO Stadium",
"city": "Los Angeles",
"state": null,
"country": "US"
},
"active": true
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerclubs?league=mls" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerplayers

Returns current squads and player profiles, by team or by name. Rosters refresh every day. Available on every plan.

Full parameter and response reference: /v1/soccerplayers.

Live Demo

Live demo · no API key required
Query parameters
league
team
name
player_id
position
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerplayers?league=mls&team=LAFC
Sample response
[
{
"player_id": "soccer-p-ecaf243390",
"league": "mls",
"team": {
"team_id": "soccer-lafc",
"name": "LAFC",
"abbreviation": "LAFC"
},
"name": "Son Heung-Min",
"first_name": "Son",
"last_name": "Heung-Min",
"position": "F",
"jersey_number": "7",
"height_in": 72,
"height_cm": 183,
"weight_lb": 168,
"weight_kg": 76,
"birth_date": "1992-07-08",
"birth_place": null,
"roster_status": "active",
"nationality": "South Korea"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerplayers?league=mls&team=LAFC" \ -H "X-Api-Key: YOUR_API_KEY"

Frequently Asked Questions

  • Yes, but you must have a premium subscription. Commercial use of the MLS API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.
  • Sign up for a free account to instantly get your API key, then pass it in the X-Api-Key header on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.
  • Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.
  • The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.
  • MLS does not publish a public API for developers. The API Ninjas Football (Soccer) API provides MLS fixtures, live scores, results, standings and squads with league=mls. API Ninjas is not affiliated with or endorsed by Major League Soccer.
  • The 2026 MLS season. MLS seasons are calendar years, so season and season_label are both 2026, from the regular season through the MLS Cup playoffs.
  • Call /v1/soccerstandings?league=mls&conference=Eastern. Rows are ordered by conference_rank and include points, record, goals, goal_difference and qualification for the playoff places. Without conference, the rows are the overall table.
  • Yes, with season_type=postseason and the playoff round in round. Playoff matches can be decided in extra_time or on penalties, with the shootout in penalty_scores.
  • Call /v1/soccermatches?league=mls&team=LAFC or team=MIA. The club ids are soccer-lafc and soccer-inter-miami-cf.

API Ninjas is not affiliated with or endorsed by the NFL, the NBA, the NHL or any other league, competition or team. League, competition and team names are trademarks of their owners and are used only to identify them.