API reference

30 endpoints, one JSON shape. Responses are { data, meta }; errors are { error: { code, message } }. Timestamps are UTC ISO 8601. Which prefix you write depends on the listing you bought: on a single-competition listing the competition is already chosen for you, so you call /standings; on the all-competitions listing you name it, so you call /premier-league/standings.

Get an API key

Calling it

curl -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: football-leagues1.p.rapidapi.com" \
  "https://football-leagues1.p.rapidapi.com/standings"

Per competition (26)

On a league listing, exactly as written. On the all-competitions listing, prefix each one with the competition slug.

GET /

Slug, name, country, type and the seasons available for this competition.

GET /matches

Matches for a season, filterable by round, date range, status and team, with pagination.

season queryround querydate queryfrom queryto querystatus queryteam querystage querypage querylimit query

GET /matches/{id}

One match in full: score, status, minute, venue, referee, both lineups with formations and per-player ratings, substitutions and the timeline of events.

id * path

GET /matches/live

Matches in play right now, with the score and the minute. Updated every 30 seconds.

GET /matches/next

The matches coming up next, soonest first.

GET /matches/today

Every match kicking off today, whatever its status.

GET /players

Players appearing in this competition, filterable by team.

season queryteam queryposition querynationality querypage querylimit query

GET /players/{id}

A player with their statistics for the season: appearances, minutes, goals, assists, cards and average rating.

season queryid * path

GET /players/{id}/matches

Every match a player appeared in, with their minutes, rating and contributions.

season queryid * path

GET /standings

The table for a season, with played, won, drawn, lost, goals, goal difference, points and recent form. Ordered by the competition's own tie-break rules: head-to-head first in Spain, Italy and Portugal, goal difference first in England, France, Germany and the Netherlands.

season query

GET /stats/cards

Players ranked by disciplinary points, a yellow counting one and a red three.

season querylimit query

GET /stats/expected-assists

Players ranked by expected assists (xA) over the season. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/expected-goals

Players ranked by expected goals (xG) over the season. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/key-passes

Players ranked by passes that led to a shot. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/ratings

Players ranked by average match rating, counting only those with at least five appearances.

season querylimit query

GET /stats/saves

Goalkeepers ranked by saves over the season. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/shots

Players ranked by total shots over the season. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/tackles

Players ranked by tackles won over the season. Counts only matches that carry detailed stats: every match in the domestic leagues and the UEFA league phases and knockouts, but not all early Conference League qualifiers. `stats.detailedAppearances` says how many a player had.

season querylimit query

GET /stats/top-assists

Players ranked by assists in the season.

season querylimit query

GET /stats/top-scorers

Players ranked by goals scored in the season, penalties included.

season querylimit query

GET /teams

Every team taking part, with slug, names and country.

season query

GET /teams/{id}

A team by numeric id or slug.

season queryid * path

GET /teams/{id}/head-to-head/{otherId}

Every stored meeting between two teams, with a summary of wins, draws and goals on each side.

id * pathotherId * path

GET /teams/{id}/matches

Fixtures and results for one team, filterable by season and status.

season querystatus queryid * path

GET /teams/{id}/squad

The current squad with shirt numbers, positions, age and nationality.

season queryid * path

GET /teams/{id}/stats

Played, won, drawn, lost, goals for and against, clean sheets, cards, and shots and expected goals (xG) for and against for a season.

season queryid * path

Across every competition (4)

Only on the all-competitions listing, where no single competition is implied.

GET /competitions

Every competition this API covers, with the seasons available for each.

GET /matches/live

Matches in play right now, with the score and the minute. Updated every 30 seconds.

GET /players/{id}

A player across every competition and season we hold, with the clubs they appeared for.

id * path

GET /search

Find teams and players by name across every competition.

q * query

Machine-readable

The OpenAPI 3.0 document is at /openapi.json and an index of it at /apis.json. A plain-language summary for language models is at /llms.txt. Interactive documentation is at /docs.

Competitions

Premier League · La Liga · Serie A · Bundesliga · Ligue 1 · Eredivisie · Primeira Liga · Championship · Champions League · Europa League · Conference League