Player statistics
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.
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
[
{
"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. |