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

Player seasons

A
GET /v1/players/{id}

One player, every season: appearances, minutes, goals, assists and more

One player, season by season: appearances, starts, minutes, goals, assists, shots and shots on target, passes and key passes, tackles, interceptions, duels, dribbles, fouls, cards, saves, goals conceded and the average rating, with goals per 90 minutes. One row a competition, season and club, so a move mid-season shows as two rows; a career total sits above them.

Counted from the matches the player played in, where the competition publishes player figures (the same figures as /v1/matches/{id}/players). Rebuilt every night.

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

player_id string path required
The player, from a match's players or a competition's player list. e.g. pl_0YC6AT4

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/players/pl_0YC6AT4" \
  -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