Skip to main content

MLS — MLS official web API (mlssoccer.com)

sportsdataverse.mls — 12 endpoints.

mls_club​

Single club detail (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/clubs/{club_id}

Valid URL: https://stats-api.mlssoccer.com/clubs/MLS-CLU-000001

API ParameterPythonPatternRequiredNullableDescription
club_idclub_idYclub_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
club_idcharacterSportec club id
club_namecharacterFull club name
three_letter_codecharacter3-letter code
short_namecharacterShort name
club_short_namecharacterAlternate short name
club_three_letter_codecharacterAlternate 3-letter code
citycharacterHome city
countrycharacterCountry
long_namecharacterLong/legal club name
foundedcharacterYear founded
stadium_idcharacterStadium id
stadium_namecharacterStadium name
club_color_one_club_colorcharacterPrimary club colour: club colour name.
club_color_one_club_color_rgbcharacterPrimary club colour: club colour as an RGB hex string.
club_color_two_club_colorcharacterSecondary club colour: club colour name.
club_color_two_club_color_rgbcharacterSecondary club colour: club colour as an RGB hex string.
club_color_three_club_colorcharacterTertiary club colour: club colour name.
club_color_three_club_color_rgbcharacterTertiary club colour: club colour as an RGB hex string.
shirt_one_shirt_main_colorcharacterFirst-choice kit: main shirt colour name.
shirt_one_shirt_main_color_rgbcharacterFirst-choice kit: main shirt colour as an RGB hex string.
shirt_one_shirt_secondary_colorcharacterFirst-choice kit: secondary shirt colour name.
shirt_one_shirt_secondary_color_rgbcharacterFirst-choice kit: secondary shirt colour as an RGB hex string.
shirt_one_shirt_number_colorcharacterFirst-choice kit: shirt-number colour name.
shirt_one_shirt_number_color_rgbcharacterFirst-choice kit: shirt-number colour as an RGB hex string.
shirt_two_shirt_main_colorcharacterSecond-choice kit: main shirt colour name.
shirt_two_shirt_main_color_rgbcharacterSecond-choice kit: main shirt colour as an RGB hex string.
shirt_two_shirt_secondary_colorcharacterSecond-choice kit: secondary shirt colour name.
shirt_two_shirt_secondary_color_rgbcharacterSecond-choice kit: secondary shirt colour as an RGB hex string.
shirt_two_shirt_number_colorcharacterSecond-choice kit: shirt-number colour name.
shirt_two_shirt_number_color_rgbcharacterSecond-choice kit: shirt-number colour as an RGB hex string.
shirt_three_shirt_main_colorcharacterThird-choice kit: main shirt colour name.
shirt_three_shirt_main_color_rgbcharacterThird-choice kit: main shirt colour as an RGB hex string.
shirt_three_shirt_secondary_colorcharacterThird-choice kit: secondary shirt colour name.
shirt_three_shirt_secondary_color_rgbcharacterThird-choice kit: secondary shirt colour as an RGB hex string.
shirt_three_shirt_number_colorcharacterThird-choice kit: shirt-number colour name.
shirt_three_shirt_number_color_rgbcharacterThird-choice kit: shirt-number colour as an RGB hex string.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_club(club_id='MLS-CLU-000001')

Last validated n/a.

mls_competition_seasons​

List seasons for a competition (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/competitions/{competition_id}/seasons

Valid URL: https://stats-api.mlssoccer.com/competitions/MLS-COM-000001/seasons

API ParameterPythonPatternRequiredNullableDescription
competition_idcompetition_idYcompetition_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
season_idcharacterSportec season id
seasonintegerSeason year

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_competition_seasons(competition_id='MLS-COM-000001')

Last validated n/a.

mls_competitions​

List competitions (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/competitions

Valid URL: https://stats-api.mlssoccer.com/competitions

API ParameterPythonPatternRequiredNullableDescription

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
competition_idcharacterSportec competition id
competition_namecharacterCompetition display name
competition_name_frenchcharacterFrench competition name
countrycharacterCountry
competition_typecharacterLeague or Tournament

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_competitions()

Last validated n/a.

mls_content_season​

Season content entity by slug (dapi / Contentful).

Endpoint URL: GET https://dapi.mlssoccer.com/v2/content/en-us/seasons/{slug}

Valid URL: https://dapi.mlssoccer.com/v2/content/en-us/seasons/mls-regular-season-2026

API ParameterPythonPatternRequiredNullableDescription
slugslugYslug path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
typecharacterType discriminator for the record.
_translation_idcharacterContentful translation-group id shared by every locale of this entry.
_entity_idcharacterContentful entity id for the content entry.
self_urlcharacterCanonical API URL of this content entry.
slugcharacterURL slug.
titlecharacterDisplay title.
tagscharacterContent tags, JSON-encoded.
relationscharacterRelated content entries, JSON-encoded.
created_bycharacterUser or service that created the content entry.
last_updated_bycharacterUser or service that last updated the content entry.
last_updated_datecharacterTimestamp of the last content update (ISO 8601).
content_datecharacterEditorial content date (ISO 8601).
featuredintegerWhether the entry is flagged as featured (1 = featured).
entity_codecharacterContentful entity-type code.
_list_availabilityintegerContentful flag controlling whether the entry appears in listings.
references_list_of_clubs_clinched_xcharacterContentful reference list: reference list of clubs that have clinched, list variant x.
references_list_of_clubs_clinched_echaracterContentful reference list: reference list of clubs that have clinched, list variant e.
references_list_of_clubs_clinched_scharacterContentful reference list: reference list of clubs that have clinched, list variant s.
references_list_of_clubs_clinched_ycharacterContentful reference list: reference list of clubs that have clinched, list variant y.
fields_opta_idcharacterSeason content field: parallel Opta integer id for the entity.
fields_sportec_idcharacterSeason content field: Sportec opaque id for the entity (Utf8 join key, never numeric).
fields_namecharacterSeason content field: display name.
fields_competition_opta_idcharacterSeason content field: parallel Opta integer id of the competition.
fields_competition_sportec_idcharacterSeason content field: Sportec opaque id of the competition (Utf8 join key).
fields_standings_legendcharacterSeason content field: prose legend explaining the standings qualification bands.
fields_top_clubsintegerSeason content field: number of clubs qualifying from the top of the table.
fields_top_clubs_legendcharacterSeason content field: prose legend explaining the top-clubs cut line.
fields_home_advantageintegerSeason content field: points of home advantage applied by the playoff seeding rules.
fields_home_advantage_legendcharacterSeason content field: prose legend explaining the home-advantage rule.
fields_playoff_qualified_east_conferenceintegerSeason content field: count of Eastern Conference clubs that have clinched a playoff berth.
fields_playoff_qualified_west_conferenceintegerSeason content field: count of Western Conference clubs that have clinched a playoff berth.
fields_competition_sportec_id_overwritelogicalSeason content field: competition: whether the season's Sportec id is manually overridden in the CMS.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_content_season(slug='mls-regular-season-2026')

Last validated n/a.

mls_content_seasons​

Query season content entities (dapi / Contentful).

Endpoint URL: GET https://dapi.mlssoccer.com/v2/content/en-us/seasons

Valid URL: https://dapi.mlssoccer.com/v2/content/en-us/seasons

API ParameterPythonPatternRequiredNullableDescription
fields.competitionSportecIdcompetition_sportec_idYFilter by competition Sportec id (indexed field)
fields.sportecIdsportec_idYFilter by season Sportec id (indexed field)

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
typecharacterType discriminator for the record.
_translation_idcharacterContentful translation-group id shared by every locale of this entry.
_entity_idcharacterContentful entity id for the content entry.
self_urlcharacterCanonical API URL of this content entry.
slugcharacterURL slug.
titlecharacterDisplay title.
tagscharacterContent tags, JSON-encoded.
created_bycharacterUser or service that created the content entry.
last_updated_bycharacterUser or service that last updated the content entry.
last_updated_datecharacterTimestamp of the last content update (ISO 8601).
content_datecharacterEditorial content date (ISO 8601).
featuredintegerWhether the entry is flagged as featured (1 = featured).
entity_codecharacterContentful entity-type code.
fields_opta_idcharacterSeason content field: parallel Opta integer id for the entity.
fields_sportec_idcharacterSeason content field: Sportec opaque id for the entity (Utf8 join key, never numeric).
fields_namecharacterSeason content field: display name.
fields_competition_opta_idcharacterSeason content field: parallel Opta integer id of the competition.
fields_competition_sportec_idcharacterSeason content field: Sportec opaque id of the competition (Utf8 join key).
fields_standings_legendcharacterSeason content field: prose legend explaining the standings qualification bands.
fields_top_clubsintegerSeason content field: number of clubs qualifying from the top of the table.
fields_top_clubs_legendcharacterSeason content field: prose legend explaining the top-clubs cut line.
fields_home_advantageintegerSeason content field: points of home advantage applied by the playoff seeding rules.
fields_home_advantage_legendcharacterSeason content field: prose legend explaining the home-advantage rule.
fields_playoff_qualified_east_conferenceintegerSeason content field: count of Eastern Conference clubs that have clinched a playoff berth.
fields_playoff_qualified_west_conferenceintegerSeason content field: count of Western Conference clubs that have clinched a playoff berth.
fields_competition_sportec_id_overwritelogicalSeason content field: competition: whether the season's Sportec id is manually overridden in the CMS.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_content_seasons()

Last validated n/a.

mls_match​

Single match detail incl. lineups + referees (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/matches/{match_id}

Valid URL: https://stats-api.mlssoccer.com/matches/MLS-MAT-0009H8

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYmatch_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
competition_idcharacterSportec competition id
competition_namecharacterCompetition display name
away_team_goalsintegerAway goals
home_team_goalsintegerHome goals
kickoff_timecharacterActual kickoff timestamp (ISO 8601)
match_dayintegerMatchday / round number
match_idcharacterSportec match id (MLS-MAT-*)
match_titlecharacterHome:Away title, e.g. CF Montréal:Toronto FC
planned_kickoff_timecharacterScheduled kickoff timestamp (ISO 8601)
resultcharacterFinal score string, e.g. 0:0
seasonintegerSeason year
season_idcharacterSportec season id
competition_typecharacterLeague or Tournament
section_namecharacterSeason section / phase
competition_labelcharacterShort competition label
series_typecharacterSeries type (e.g. regular)
total_time_first_halfintegerFirst-half elapsed seconds
total_time_second_halfintegerSecond-half elapsed seconds
playing_time_first_halfintegerFirst-half playing seconds
playing_time_second_halfintegerSecond-half playing seconds
total_time_first_half_extraintegerFirst-half stoppage seconds
total_time_second_half_extraintegerSecond-half stoppage seconds
total_time_penaltyintegerPenalty-shootout total seconds
playing_time_penaltyintegerPenalty-shootout playing seconds
other_informationcharacterFree-form notes
match_typecharacterMatch classification
match_scheduledlogicalWhether kickoff is scheduled
date_qualitycharacterConfidence of the match date
end_datecharacterMatch end date
sub_leaguecharacterSub-league grouping
groupcharacterGroup name (tournaments)
competition_name_frenchcharacterFrench competition name
match_statuscharacterStatus (e.g. Live, FullTime)
minute_of_playcharacterCurrent minute (live)

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_match(match_id='MLS-MAT-0009H8')

Last validated n/a.

mls_season_matches​

List matches in a season, date-windowed (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/matches/seasons/{season_id}

Valid URL: https://stats-api.mlssoccer.com/matches/seasons/MLS-SEA-0001KA

API ParameterPythonPatternRequiredNullableDescription
season_idseason_idYseason_id path parameter.
match_date[gte]match_date_gteYWindow start date (YYYY-MM-DD)
match_date[lte]match_date_lteYWindow end date (YYYY-MM-DD)
competition_idcompetition_idYFilter by competition id
per_pageper_pageYPage size
sortsortYSort spec, e.g. planned_kickoff_time:asc,home_team_name:asc
series_nameseries_nameYFilter by series/round name

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
competition_idcharacterSportec competition id
competition_namecharacterCompetition display name
competition_typecharacterLeague or Tournament
end_datecharacterMatch end date
away_team_idcharacterAway Sportec club id
away_team_namecharacterAway club name
home_team_idcharacterHome Sportec club id
home_team_namecharacterHome club name
home_team_short_namecharacterHome short name
home_team_three_letter_codecharacterHome 3-letter code
away_team_short_namecharacterAway short name
away_team_three_letter_codecharacterAway 3-letter code
match_scheduledlogicalWhether kickoff is scheduled
match_dayintegerMatchday / round number
match_day_idcharacterSportec matchday id
match_idcharacterSportec match id (MLS-MAT-*)
match_typecharacterMatch classification
planned_kickoff_timecharacterScheduled kickoff timestamp (ISO 8601)
seasonintegerSeason year
season_idcharacterSportec season id
stadium_idcharacterStadium id
stadium_namecharacterStadium name
neutral_venuelogicalNeutral-venue flag
start_datecharacterMatch start date
sub_leaguecharacterSub-league grouping
groupcharacterGroup name (tournaments)
date_qualitycharacterConfidence of the match date
official_informationcharacterOfficiating notes
match_date_time_statuscharacterKickoff time status
section_namecharacterSeason section / phase
competition_labelcharacterShort competition label
series_typecharacterSeries type (e.g. regular)
competition_name_frenchcharacterFrench competition name
resultcharacterFinal score string, e.g. 0:0
away_team_goalsintegerAway goals
home_team_goalsintegerHome goals
match_statuscharacterStatus (e.g. Live, FullTime)
minute_of_playcharacterCurrent minute (live)
stadium_citycharacterStadium city
stadium_countrycharacterStadium country
bracket_structure_idcharacterIdentifier of the playoff bracket structure.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_season_matches(season_id='MLS-SEA-0001KA')

Last validated n/a.

mls_sportapi_club_players​

Club roster with player Sportec ids (sportapi).

Endpoint URL: GET https://sportapi.mlssoccer.com/api/players/byClub/{club_id}

Valid URL: https://sportapi.mlssoccer.com/api/players/byClub/MLS-CLU-000001

API ParameterPythonPatternRequiredNullableDescription
club_idclub_idYclub_id path parameter.
culturecultureYLocale, e.g. en-us

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
opta_idcharacterParallel Opta integer id for the entity.
full_namecharacterFull name
first_namecharacterFirst name
last_namecharacterLast name
known_namecharacterKnown / display name
on_loanlogicalOn-loan flag
club_opta_idcharacterClub Opta id
club_sportec_idcharacterClub Sportec id
sportec_idcharacterSportec opaque id for the entity (Utf8 join key, never numeric).
heightcharacterHeight
weightcharacterWeight
positioncharacterTable position/rank
roster_categorycharacterRoster category
player_categoriescharacterRoster category tags
jersey_numbercharacterJersey number
player_status_listcharacterStatus tags (e.g. Loaned Out)
date_of_birthcharacterBirth date
player_slugcharacterURL slug
thumbnail_slugcharacterPlayer thumbnail image: URL slug.
thumbnail_self_urlcharacterPlayer thumbnail image: canonical API URL of this content entry.
thumbnail_titlecharacterPlayer thumbnail image: display title.
thumbnail_template_urlcharacterPlayer thumbnail image: templated image URL with substitutable size tokens.
thumbnail_thumbnail_urlcharacterPlayer thumbnail image: URL of the rendered thumbnail image.
thumbnail_formatcharacterPlayer thumbnail image: image format of the asset.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_sportapi_club_players(club_id='MLS-CLU-000001')

Last validated n/a.

mls_sportapi_clubs_by_sportec_ids​

Batch club detail by Sportec ids (sportapi).

Endpoint URL: GET https://sportapi.mlssoccer.com/api/clubs/bySportecIds/{ids}

Valid URL: https://sportapi.mlssoccer.com/api/clubs/bySportecIds/MLS-MAT-0009H8

API ParameterPythonPatternRequiredNullableDescription
idsidsYids path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
opta_idcharacterParallel Opta integer id for the entity.
sportec_idcharacterSportec opaque id for the entity (Utf8 join key, never numeric).
full_namecharacterFull name
slugcharacterURL slug.
short_namecharacterShort name
abbreviationcharacterShort abbreviation.
background_colorcharacterBrand background colour (hex).
logo_bw_slugcharacterAsset slug for the black-and-white logo.
logo_color_slugcharacterAsset slug for the full-colour logo.
logo_color_urlcharacterURL of the full-colour logo asset.
crest_color_slugcharacterAsset slug for the full-colour club crest.
ecal_widget_idcharacterIdentifier of the eCal calendar-subscription widget.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_sportapi_clubs_by_sportec_ids(ids='MLS-MAT-0009H8')

Last validated n/a.

mls_sportapi_match​

Single match detail (sportapi / .NET).

Endpoint URL: GET https://sportapi.mlssoccer.com/api/matches/{match_id}

Valid URL: https://sportapi.mlssoccer.com/api/matches/MLS-MAT-0009H8

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYmatch_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
opta_idcharacterParallel Opta integer id for the entity.
sportec_idcharacterSportec opaque id for the entity (Utf8 join key, never numeric).
slugcharacterURL slug.
league_match_titlecharacterHome:Away match title as rendered in league listings.
broadcasterscharacterBroadcast listings for the match, JSON-encoded.
match_datecharacterScheduled kickoff timestamp (ISO 8601).
tagscharacterContent tags, JSON-encoded.
home_club_broadcasterscharacterHome club: club-specific broadcast listings, JSON-encoded.
away_club_broadcasterscharacterAway club: club-specific broadcast listings, JSON-encoded.
club_broadcasterscharacterClub-specific broadcast listings, JSON-encoded.
is_time_tbdlogicalWhether the kickoff time is still to be confirmed.
mgm_idcharacterMGM sportsbook partner identifier.
apple_stream_urlcharacterApple broadcast: Apple TV stream URL for the match.
apple_subscription_tiercharacterApple broadcast: Apple subscription tier required to watch.
apple_advertisement_categorycharacterApple broadcast: Apple advertising category for the stream.
round_namecharacterName of the round or series this match belongs to.
competition_phasecharacterCompetition: competition phase of the match (regular season, playoffs, ...).
home_club_rankcharacterHome club: club's standings rank at the time of the request.
away_club_rankcharacterAway club: club's standings rank at the time of the request.
round_numberintegerDraft round number.
round_groupcharacterGroup label within the round (tournaments).
match_daycharacterMatchday / round number
calendar_urlcharacterCalendar (.ics) subscription URL for the match.
delayed_matchlogicalWhether the match is flagged as delayed.
priority_match_date_tocharacterPriority-match window: end of the display window (ISO 8601).
priority_match_sponsorcharacterPriority-match window: sponsor name attached to the priority match.
home_opta_idcharacterHome club: parallel Opta integer id for the entity.
home_sportec_idcharacterHome club: Sportec opaque id for the entity (Utf8 join key, never numeric).
home_full_namecharacterHome club: full name
home_slugcharacterHome club: URL slug.
home_short_namecharacterHome club: short name
home_abbreviationcharacterHome team's abbreviation.
home_background_colorcharacterHome club: brand background colour (hex).
home_logo_bw_slugcharacterHome club: asset slug for the black-and-white logo.
home_logo_color_slugcharacterHome club: asset slug for the full-colour logo.
home_logo_color_urlcharacterHome club: URL of the full-colour logo asset.
home_crest_color_slugcharacterHome club: asset slug for the full-colour club crest.
home_ecal_widget_idcharacterHome club: identifier of the eCal calendar-subscription widget.
away_opta_idcharacterAway club: parallel Opta integer id for the entity.
away_sportec_idcharacterAway club: Sportec opaque id for the entity (Utf8 join key, never numeric).
away_full_namecharacterAway club: full name
away_slugcharacterAway club: URL slug.
away_short_namecharacterAway club: short name
away_abbreviationcharacterAway team's abbreviation.
away_background_colorcharacterAway club: brand background colour (hex).
away_logo_bw_slugcharacterAway club: asset slug for the black-and-white logo.
away_logo_color_slugcharacterAway club: asset slug for the full-colour logo.
away_logo_color_urlcharacterAway club: URL of the full-colour logo asset.
away_crest_color_slugcharacterAway club: asset slug for the full-colour club crest.
away_ecal_widget_idcharacterAway club: identifier of the eCal calendar-subscription widget.
venue_venue_sportec_idcharacterVenue: Sportec opaque id of the venue (Utf8 join key).
venue_background_image_slugcharacterVenue: asset slug for the background image.
venue_namecharacterVenue: display name.
venue_citycharacterVenue: home city
season_slugcharacterSeason: URL slug.
season_opta_idcharacterSeason: parallel Opta integer id for the entity.
season_sportec_idcharacterSeason: Sportec opaque id for the entity (Utf8 join key, never numeric).
season_competition_opta_idcharacterSeason: parallel Opta integer id of the competition.
season_namecharacterSeason: display name.
competition_opta_idcharacterParallel Opta integer id of the competition.
competition_sportec_idcharacterSportec opaque id of the competition (Utf8 join key).
competition_namecharacterCompetition display name
competition_widget_idcharacterCompetition: identifier of the embedded provider widget.
competition_slugcharacterCompetition: URL slug.
competition_short_namecharacterCompetition: short name
competition_match_typecharacterCompetition: Match classification
competition_logo_light_slugcharacterCompetition light-theme logo: URL slug.
competition_logo_dark_slugcharacterCompetition dark-theme logo: URL slug.
competition_block_header_namecharacterCompetition: header label used for this competition on the site.
competition_mgm_idcharacterCompetition: MGM sportsbook partner identifier.
competition_nextgen_ecal_match_hub_displaylogicalCompetition: whether the match hub shows the eCal subscribe control.
competition_player_headshot_thumbnail_fieldcharacterCompetition: content field the site reads player headshots from.
league_promo_image_asset_urlcharacterLeague promo image: URL of the image asset.
first_party_tickets_display_textcharacterMLS-operated ticketing link: button label for the ticketing link.
first_party_tickets_accessible_textcharacterMLS-operated ticketing link: accessible (screen-reader) label for the ticketing link.
first_party_tickets_urlcharacterMLS-operated ticketing link: link URL.
first_party_tickets_open_in_new_tablogicalMLS-operated ticketing link: whether the link opens in a new tab.
first_party_tickets_is_visiblelogicalMLS-operated ticketing link: whether the link is shown.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_sportapi_match(match_id='MLS-MAT-0009H8')

Last validated n/a.

mls_sportapi_matches_by_sportec_ids​

Batch match detail by Sportec ids (sportapi).

Endpoint URL: GET https://sportapi.mlssoccer.com/api/matches/bySportecIds/{ids}

Valid URL: https://sportapi.mlssoccer.com/api/matches/bySportecIds/MLS-MAT-0009H8

API ParameterPythonPatternRequiredNullableDescription
idsidsYids path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
opta_idcharacterParallel Opta integer id for the entity.
sportec_idcharacterSportec opaque id for the entity (Utf8 join key, never numeric).
slugcharacterURL slug.
league_match_titlecharacterHome:Away match title as rendered in league listings.
broadcasterscharacterBroadcast listings for the match, JSON-encoded.
match_datecharacterScheduled kickoff timestamp (ISO 8601).
tagscharacterContent tags, JSON-encoded.
home_club_broadcasterscharacterHome club: club-specific broadcast listings, JSON-encoded.
away_club_broadcasterscharacterAway club: club-specific broadcast listings, JSON-encoded.
club_broadcasterscharacterClub-specific broadcast listings, JSON-encoded.
is_time_tbdlogicalWhether the kickoff time is still to be confirmed.
mgm_idcharacterMGM sportsbook partner identifier.
apple_stream_urlcharacterApple broadcast: Apple TV stream URL for the match.
apple_subscription_tiercharacterApple broadcast: Apple subscription tier required to watch.
apple_advertisement_categorycharacterApple broadcast: Apple advertising category for the stream.
round_namecharacterName of the round or series this match belongs to.
competition_phasecharacterCompetition: competition phase of the match (regular season, playoffs, ...).
home_club_rankcharacterHome club: club's standings rank at the time of the request.
away_club_rankcharacterAway club: club's standings rank at the time of the request.
round_numberintegerDraft round number.
round_groupcharacterGroup label within the round (tournaments).
match_daycharacterMatchday / round number
calendar_urlcharacterCalendar (.ics) subscription URL for the match.
delayed_matchlogicalWhether the match is flagged as delayed.
priority_match_date_tocharacterPriority-match window: end of the display window (ISO 8601).
priority_match_sponsorcharacterPriority-match window: sponsor name attached to the priority match.
home_opta_idcharacterHome club: parallel Opta integer id for the entity.
home_sportec_idcharacterHome club: Sportec opaque id for the entity (Utf8 join key, never numeric).
home_full_namecharacterHome club: full name
home_slugcharacterHome club: URL slug.
home_short_namecharacterHome club: short name
home_abbreviationcharacterHome team's abbreviation.
home_background_colorcharacterHome club: brand background colour (hex).
home_logo_bw_slugcharacterHome club: asset slug for the black-and-white logo.
home_logo_color_slugcharacterHome club: asset slug for the full-colour logo.
home_logo_color_urlcharacterHome club: URL of the full-colour logo asset.
home_crest_color_slugcharacterHome club: asset slug for the full-colour club crest.
away_opta_idcharacterAway club: parallel Opta integer id for the entity.
away_sportec_idcharacterAway club: Sportec opaque id for the entity (Utf8 join key, never numeric).
away_full_namecharacterAway club: full name
away_slugcharacterAway club: URL slug.
away_short_namecharacterAway club: short name
away_abbreviationcharacterAway team's abbreviation.
away_background_colorcharacterAway club: brand background colour (hex).
away_logo_bw_slugcharacterAway club: asset slug for the black-and-white logo.
away_logo_color_slugcharacterAway club: asset slug for the full-colour logo.
away_logo_color_urlcharacterAway club: URL of the full-colour logo asset.
away_crest_color_slugcharacterAway club: asset slug for the full-colour club crest.
venue_venue_sportec_idcharacterVenue: Sportec opaque id of the venue (Utf8 join key).
venue_namecharacterVenue: display name.
venue_citycharacterVenue: home city
season_slugcharacterSeason: URL slug.
season_opta_idcharacterSeason: parallel Opta integer id for the entity.
season_sportec_idcharacterSeason: Sportec opaque id for the entity (Utf8 join key, never numeric).
season_competition_opta_idcharacterSeason: parallel Opta integer id of the competition.
season_namecharacterSeason: display name.
competition_opta_idcharacterParallel Opta integer id of the competition.
competition_sportec_idcharacterSportec opaque id of the competition (Utf8 join key).
competition_namecharacterCompetition display name
competition_widget_idcharacterCompetition: identifier of the embedded provider widget.
competition_slugcharacterCompetition: URL slug.
competition_short_namecharacterCompetition: short name
competition_match_typecharacterCompetition: Match classification
competition_logo_light_slugcharacterCompetition light-theme logo: URL slug.
competition_logo_dark_slugcharacterCompetition dark-theme logo: URL slug.
competition_block_header_namecharacterCompetition: header label used for this competition on the site.
competition_mgm_idcharacterCompetition: MGM sportsbook partner identifier.
competition_nextgen_ecal_match_hub_displaylogicalCompetition: whether the match hub shows the eCal subscribe control.
competition_player_headshot_thumbnail_fieldcharacterCompetition: content field the site reads player headshots from.
league_promo_image_asset_urlcharacterLeague promo image: URL of the image asset.
third_party_tickets_urlcharacterThird-party ticketing link: link URL.
third_party_tickets_open_in_new_tabcharacterThird-party ticketing link: whether the link opens in a new tab.
third_party_tickets_is_visiblecharacterThird-party ticketing link: whether the link is shown.
priority_match_date_fromcharacterPriority-match window: start of the display window (ISO 8601).
home_ecal_widget_idcharacterHome club: identifier of the eCal calendar-subscription widget.
away_ecal_widget_idcharacterAway club: identifier of the eCal calendar-subscription widget.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_sportapi_matches_by_sportec_ids(ids='MLS-MAT-0009H8')

Last validated n/a.

mls_standings​

Standings table for a competition season (stats-api).

Endpoint URL: GET https://stats-api.mlssoccer.com/competitions/{competition_id}/seasons/{season_id}/standings

Valid URL: https://stats-api.mlssoccer.com/competitions/MLS-COM-000001/seasons/MLS-SEA-0001KA/standings

API ParameterPythonPatternRequiredNullableDescription
competition_idcompetition_idYcompetition_id path parameter.
season_idseason_idYseason_id path parameter.
categorycategoryYStandings grouping: conference | overall
typestandings_typeYhome | away split (optional)
is_liveis_liveYInclude live in-progress results

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
competition_idcharacterSportec competition id
season_idcharacterSportec season id
groupcharacterGroup name (tournaments)
categorycharacterCategory label.
typecharacterType discriminator for the record.
positionintegerTable position/rank
clubcharacterClub full name
club_idcharacterSportec club id
teamcharacterTeam name
team_idcharacterSportec club id
team_short_namecharacterShort club name
team_three_letter_codecharacter3-letter club code
games_playedintegerMatches played
winsintegerWins
drawsintegerDraws
lossesintegerLosses
goals_scoredintegerGoals for
goals_againstintegerGoals against
goals_differenceintegerGoal differential
pointsintegerPoints
qualificationcharacterPlayoff/qualification marker
tendencycharacterMovement vs prior matchday
points_per_gamenumericPoints per game
goals_scored_per_gamenumericGoals-for per game
goals_against_per_gamenumericGoals-against per game
goals_difference_per_gamenumericGoal-diff per game

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mls_standings(competition_id='MLS-COM-000001', season_id='MLS-SEA-0001KA')

Last validated n/a.