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

Player ranking

L
GET /v1/players/{id}/ranking

One player's ranking and how it moved over the year

One player's place in our player rankings: his rank overall, among his role and at his club, his score, his minutes and goals over the twelve months, his best rank of the year and his rank week by week, oldest first. A player who is not ranked answers 404 with the reason. On the Live & Archive plan.

Plan

This endpoint needs Live & 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.rank integer
Its place in the list, 1 being the best; in our rankings, its place across the world.
data.role_rank integer
The player's place among players in the same role.
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.role string
goalkeeper, defender, midfielder or forward: where the player played most of his minutes.
data.team_id string
Our id for the club.
data.team_name string
The club's name.
data.country_name string
The country the competition belongs to.
data.league_id string
Our id for the competition.
data.league_name string
The competition's name.
data.score integer
Our score, 0 to 100: the best ranked at 100.
data.rank_week_ago empty in this example
Its rank a week ago; empty when it was not ranked then.
data.places_moved_week empty in this example
Places gained over the week; negative for places lost.
data.rank_year_ago empty in this example
Its rank a year ago; empty when it was not ranked then.
data.matches integer
Matches counted.
data.starts integer
Matches started.
data.minutes integer
Minutes played.
data.goals integer
Goals scored.
data.assists integer
Goals set up.
data.last_played string
The latest match played, as a UTC timestamp.
data.best_rank_year integer
Its best rank in the last twelve months.
data.best_rank_date string
The day it held that best rank.
data.club_rank integer
The player's place among the ranked players of his club.
data.history list
Its rank and score week by week over the year, oldest first.
data.history[].date string
Date.
data.history[].rank integer
Its place in the list, 1 being the best; in our rankings, its place across the world.
data.history[].score integer
Our score, 0 to 100: the best ranked at 100.
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.
meta.ranked_at string
When the rankings were worked out, as a UTC timestamp.
meta.window_from string
The first day of the twelve months counted.
meta.window_to string
The last day of the twelve months counted.

Request

curl "https://api.footballsoccerapi.com/v1/players/pl_0YC6AT4/ranking" \
  -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": {
        "rank": 1,
        "role_rank": 1,
        "player_id": "pl_0BSP9DP",
        "player_name": "H. Kane",
        "role": "forward",
        "team_id": "tm_234PN5V",
        "team_name": "Bayern München",
        "country_name": "Germany",
        "league_id": "lg_0S9M0P4",
        "league_name": "Bundesliga",
        "score": 100,
        "rank_week_ago": null,
        "places_moved_week": null,
        "rank_year_ago": null,
        "matches": 50,
        "starts": 42,
        "minutes": 3946,
        "goals": 51,
        "assists": 11,
        "last_played": "2026-10-25T16:30:00Z",
        "best_rank_year": 1,
        "best_rank_date": "2026-10-29",
        "club_rank": 1,
        "history": [
            {
                "date": "2026-10-29",
                "rank": 1,
                "score": 100
            }
        ]
    },
    "meta": {
        "data_as_of": "2026-10-29T04:32:57Z",
        "request_id": "01J9QW3C7M4KX2VB",
        "ranked_at": "2026-10-29T10:18:53Z",
        "window_from": "2025-10-29",
        "window_to": "2026-10-29"
    }
}

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