Player statistics

GET https://soccer.highlightly.net/players/{id}/statistics Football API
GET https://sports.highlightly.net/football/players/{id}/statistics All Sports API

Retrieve detailed statistics for one player.

Refresh interval
Once a day

The player id comes from players.

Per club and per competition

Statistics arrive split into perClub and perCompetition, and both cover the same measures.

Each perClub entry names a club and carries the measures for the player's time there.

Each perCompetition entry names a club, a league, a season and the competition type, and carries the measures for that combination.

Competition categories

Category Covers
national league A country's main domestic competition, played across a season. Premier League, La Liga.
national cup A domestic knockout open to clubs from different divisions. FA Cup, Copa del Rey.
international cup A tournament involving clubs from multiple countries. UEFA Champions League, Copa Libertadores.

Use type to compare league and cup figures separately.

Available measures

Field Counts
gamesPlayed Matches the player appeared in.
minutesPlayed Total minutes on the field.
goals Goals scored.
assists Assists provided.
penaltiesScored Goals scored from the penalty spot.
ownGoals Goals accidentally scored against their own team.
yellowCards Yellow cards received.
secondYellowCards Second yellows that led to a red.
redCards Direct reds received.
substitutedIn Times the player came on from the bench.
substitutedOut Times the player was taken off.
cleanSheets Matches where no goals were conceded. Mostly relevant for goalkeepers.
goalsConceded Goals the team conceded while the player was on the pitch. Mainly for goalkeepers.

cleanSheets and goalsConceded are present on every entry, outfield players included.

Player statistics rendered in a client application

Parameters

Parameter Type Description
idrequired numberpath Requested player id.

Request

curl --request GET \
  --url 'https://soccer.highlightly.net/players/{id}/statistics' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const response = await fetch('https://soccer.highlightly.net/players/{id}/statistics', {
  headers: {
    'x-rapidapi-key': process.env.HIGHLIGHTLY_API_KEY
  }
})

if (!response.ok) {
  throw new Error(`Highlightly responded ${response.status}`)
}

const data = await response.json()
import os
import requests

response = requests.get(
    'https://soccer.highlightly.net/players/{id}/statistics',
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

response.raise_for_status()
data = response.json()

Response

idnumberrequired
namestringrequired
fullNamestring
logostring
perCompetitionDetailedPlayerStatisticsPerCompetition[]required17 fields
clubstringrequired
typestringrequirednational leaguenational cupinternational cup
leaguestringrequired
seasonstringrequired
goalsnumberrequired
assistsnumberrequired
ownGoalsnumberrequired
redCardsnumberrequired
cleanSheetsnumberrequired
gamesPlayednumberrequired
yellowCardsnumberrequired
goalsConcedednumberrequired
minutesPlayednumberrequired
substitutedInnumberrequired
substitutedOutnumberrequired
penaltiesScorednumberrequired
secondYellowCardsnumberrequired
perClubDetailedPlayerStatisticsPerClub[]required14 fields
clubstringrequired
goalsnumberrequired
assistsnumberrequired
ownGoalsnumberrequired
redCardsnumberrequired
cleanSheetsnumberrequired
gamesPlayednumberrequired
yellowCardsnumberrequired
goalsConcedednumberrequired
minutesPlayednumberrequired
substitutedInnumberrequired
substitutedOutnumberrequired
penaltiesScorednumberrequired
secondYellowCardsnumberrequired

Example response

200 application/json
[
  {
    "id": 33481,
    "name": "Ivan Perišić",
    "fullName": "Ivan Perišić",
    "logo": "",
    "perCompetition": [
      {
        "club": "PSV Eindhoven",
        "type": "national league",
        "league": "Eredivisie",
        "season": "2025",
        "goals": 9,
        "assists": 9,
        "ownGoals": 0,
        "redCards": 0,
        "cleanSheets": 0,
        "gamesPlayed": 4,
        "yellowCards": 27,
        "goalsConceded": 0,
        "minutesPlayed": 1804,
        "substitutedIn": 6,
        "substitutedOut": 13,
        "penaltiesScored": 0,
        "secondYellowCards": 0
      }
    ],
    "perClub": [
      {
        "club": "Inter Milan",
        "goals": 55,
        "assists": 50,
        "ownGoals": 2,
        "redCards": 1,
        "cleanSheets": 0,
        "gamesPlayed": 254,
        "yellowCards": 27,
        "goalsConceded": 0,
        "minutesPlayed": 18940,
        "substitutedIn": 44,
        "substitutedOut": 79,
        "penaltiesScored": 4,
        "secondYellowCards": 0
      }
    ]
  }
]

Values are the examples declared in the OpenAPI spec, not a captured live response.

Errors

Status Description
400 Bad request descriptive error.
500 Internal server error.