The free key reads yesterday again: our one-month trial of today on the free key has finished. Read the changelog

Competition players

A
GET /v1/leagues/{id}/seasons/{season}/players

Every player in a competition-season, ranked

Every player who played in one competition in one season, ranked by goals unless you say otherwise: the scorers' table, the assists table, the most-used players, the best rated over a minimum number of minutes. Each row carries the club the figures were made for and the player_id for the player's full record.

Plan

This endpoint needs Archive. Calling it on a lower plan returns a 403 naming the plan it needs and a link to pricing, never a bare refusal.

Parameters

league_id string path required
The competition id. e.g. lg_24T9Z0G
season integer path required
Season by starting year. e.g. 2024
sort string query
What to rank by: goals, assists, minutes, appearances, rating, shots, shots_on_target, key_passes, tackles, interceptions, yellow_cards, red_cards or saves, with - in front for highest first. Defaults to -goals. e.g. -assists
min_minutes integer query
Leave out players with fewer minutes than this, so a rating or a rate is not topped by someone who played once. e.g. 900
page integer query
Page number, 1-based. The response carries total, total_pages, next_page and prev_page, so a UI pager has everything it needs from one call. If you send both page and cursor, page wins. e.g. 2
limit integer query
Rows per page, 1–1000. Defaults to 100. e.g. 100

Returns

data[].player_id string
Our id for the player. Stable: what you store today still resolves later.
data[].player_name string
The player's name.
data[].league_id string
Our id for the competition.
data[].league_name string
The competition's name.
data[].country_name string
The country the competition belongs to.
data[].season integer
The season, by the year it starts in.
data[].team_id string
Our id for the club.
data[].team_name string
The club's name.
data[].appearances integer
Appearances.
data[].starts integer
Matches started.
data[].minutes integer
Minutes played.
data[].goals integer
Goals scored.
data[].assists integer
Goals set up.
data[].shots integer
Shots.
data[].shots_on_target integer
Shots on target.
data[].key_passes integer
Key passes.
data[].yellow_cards integer
Yellow cards.
data[].red_cards integer
Red cards.
data[].rating number
Rating.
meta.data_as_of string
When the data behind this answer was last brought up to date.
meta.request_id string
This request's id, to quote to support.

Request

curl "https://api.footballsoccerapi.com/v1/leagues/lg_24T9Z0G/seasons/2024/players?sort=-assists&min_minutes=900&page=2" \
  -H "X-API-Key: $FSAPI_KEY"

Example response

A real row from the archive, fetched when this page rendered. Run it against your own key below.

200 OK application/json
{
    "data": [
        {
            "player_id": "pl_0HDM538",
            "player_name": "Erling Haaland",
            "league_id": "lg_24T9Z0G",
            "league_name": "Premier League",
            "country_name": "England",
            "season": 2026,
            "team_id": "tm_3WJM4RA",
            "team_name": "Manchester City",
            "appearances": 7,
            "starts": 7,
            "minutes": 620,
            "goals": 8,
            "assists": 0,
            "shots": 26,
            "shots_on_target": 14,
            "key_passes": 4,
            "yellow_cards": 0,
            "red_cards": 0,
            "rating": 7.91
        },
        {
            "player_id": "pl_0FT6EHA",
            "player_name": "Alexander Isak",
            "league_id": "lg_24T9Z0G",
            "league_name": "Premier League",
            "country_name": "England",
            "season": 2026,
            "team_id": "tm_06VYC58",
            "team_name": "Liverpool",
            "appearances": 6,
            "starts": 6,
            "minutes": 481,
            "goals": 6,
            "assists": 0,
            "shots": 14,
            "shots_on_target": 8,
            "key_passes": 6,
            "yellow_cards": 1,
            "red_cards": 0,
            "rating": 7.68
        }
    ],
    "meta": {
        "data_as_of": "2026-10-29T04:32:57Z",
        "request_id": "01J9QW3C7M4KX2VB"
    }
}

Run it live

Paste your key and fire the real request. The key is kept in this browser only and never sent anywhere but the API.

Get a key
GET