Comment on page
Topscorers standings
In this tutorial, we will teach you how to request the top scorers per stage and the entire season.

Let’s start right away.
You can use the top scorers by season id endpoint if you want to request all the top scorers per stage* of a season. The endpoint returns the top 25 players per type: goals, cards and assists.
*Please check our stages tutorial for more information
Let's say you want to request the topscorers of the English Premier League season 20/21 (season id: 17420):
Request
Response
Field Description
https://soccer.sportmonks.com/api/v2.0/topscorers/season/17420?api_token={API_TOKEN}
{
"data": {
"id": 17420,
"name": "2020/2021",
"league_id": 8,
"is_current_season": true,
"current_round_id": 201968,
"current_stage_id": 77448322,
"goalscorers": {
"data": [
{
"position": 1,
"season_id": 17420,
"player_id": 4313,
"team_id": 6,
"stage_id": 77448322,
"goals": 8,
"penalty_goals": 0,
"type": "goals"
},
{
"position": 2,
"season_id": 17420,
"player_id": 5141,
"team_id": 13,
"stage_id": 77448322,
"goals": 7,
"penalty_goals": 0,
"type": "goals"
},
{
"position": 3,
"season_id": 17420,
"player_id": 1175,
"team_id": 71,
"stage_id": 77448322,
"goals": 6,
"penalty_goals": 0,
"type": "goals"
},
{
"position": 4,
"season_id": 17420,
"player_id": 4125,
"team_id": 8,
"stage_id": 77448322,
"goals": 6,
"penalty_goals": 2,
"type": "goals"
},
{
"position": 5,
"season_id": 17420,
"player_id": 1182,
"team_id": 42,
"stage_id": 77448322,
"goals": 6,
"penalty_goals": 4,
"type": "goals"
},
{
"position": 6,
"season_id": 17420,
"player_id": 997,
"team_id": 6,
"stage_id": 77448322,
"goals": 5,
"penalty_goals": 1,
"type": "goals"
},
{
"position": 7,
"season_id": 17420,
"player_id": 1108,
"team_id": 51,
"stage_id": 77448322,
"goals": 5,
"penalty_goals": 2,
"type": "goals"
},
Season Field Description
Field | Description |
id | The unique id of the current stage |
name | The name of the stage |
league_id | The unique league id the stage belongs to |
season_id | The unique id of the current season |
round_id | The unique id of the current round |
round_name | The name of the round |
type | Indicates what kind of type this stage is |
stage_id | The unique id of the current stage |
stage_name | The name of the stage |
Topscorers Field Description
Field | Description |
position | The actual position in the rankings in the stage |
player_id | The unique player id of the player in that position in the stage |
team_id | The unique id of the the player plays for |
stage_id | The unique id of the current stage |
goals | The total number of goals the player has scored in the stage |
penalty_goals | The total number of penalty goals the player has scored in the stage |
type | The type of the standings. Possible values are: goals, cards or assists |
In the response example, we only included the goalscorers type. If you look at the complete response you will also see the assists and card scorers.
Naturally, you can also enrich the response by using includes. However, you need to prefix the include.
Please read the responses carefully. Sometimes the standings for cards are based on points instead of the total amount of cards. A red card is worth 2 points and a yellow card 1.
What is prefixing exactly? With nested includes, you add the additional information at the end of the include, i.e.,
lineup.player
With prefixing, it’s just the other way around. You will need to prefix every available include with the actual include you’re looking for.
So, for example, if you want to have additional information about the goalscorers and team, you will need to include
goalscorers.player
and goalscorers.team.
A list of available includes are:
goalscorers.player
goalscorers.team
assistscorers.player
assistscorers.team
cardscorer.player
cardscorers.team
We're going to only show you additional information about the goalscorers for this tutorial:
Request
Response
https://soccer.sportmonks.com/api/v2.0/topscorers/season/17420?api_token={API_TOKEN}&include=goalscorers.player,goalscorers.team
{
"data": {
"id": 17420,
"name": "2020/2021",
"league_id": 8,
"is_current_season": true,
"current_round_id": 201968,
"current_stage_id": 77448322,
"goalscorers": {
"data": [
{
"position": 1,
"season_id": 17420,
"player_id": 4313,
"team_id": 6,
"stage_id": 77448322,
"goals": 8,
"penalty_goals": 0,
"type": "goals",
"player": {
"data": {
"player_id": 4313,
"team_id": 6,
"country_id": 712,
"position_id": 4,
"common_name": "H. Son",
"display_name": "Heung-Min Son",
"fullname": "Heung-Min Son",
"firstname": "Heung-Min",
"lastname": "Son",
"nationality": "Korea Republic",
"birthdate": "08/07/1992",
"birthcountry": "Korea Republic",
"birthplace": "Chuncheon",
"height": "183 cm",
"weight": "78 kg",
"image_path": "https://cdn.sportmonks.com/images/soccer/players/25/4313.png"
}
},
"team": {
"data": {
"id": 6,
"legacy_id": 148,
"name": "Tottenham Hotspur",
"short_code": "TOT",
"twitter": "@SpursOfficial",
"country_id": 462,
"national_team": false,
"founded": 1882,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/6/6.png",
"venue_id": 281313,
"current_season_id": 17420
}
}
},
{
"position": 2,
"season_id": 17420,
"player_id": 5141,
"team_id": 13,
"stage_id": 77448322,
"goals": 7,
"penalty_goals": 0,
"type": "goals",
"player": {
"data": {
"player_id": 5141,
"team_id": 13,
"country_id": 462,
"position_id": 4,
"common_name": "D. Calvert-Lewin",
"display_name": "Dominic Calvert-Lewin",
"fullname": "Dominic Calvert-Lewin",
"firstname": "Dominic",
"lastname": "Calvert-Lewin",
"nationality": "England",
"birthdate": "16/03/1997",
"birthcountry": "England",
"birthplace": "Sheffield",
"height": "176 cm",
"weight": "71 kg",
"image_path": "https://cdn.sportmonks.com/images/soccer/players/21/5141.png"
}
},
"team": {
"data": {
"id": 13,
"legacy_id": 165,
"name": "Everton",
"short_code": "EVE",
"twitter": "@Everton",
"country_id": 462,
"national_team": false,
"founded": 1878,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/13/13.png",
"venue_id": 12,
"current_season_id": 17420
}
}
},
As you can see, you now have more information about both the player himself and his team.
As mentioned before, the previous request will give you all the top scorers of goals, cards and assist per stage. But what if you want the total amount of a season? We have the aggregated topscorers endpoint for this.
This endpoint is often used for cups like the UEFA Champions and Europa League. The preliminary stages for these cups are not included in the response as we follow the official UEFA guidelines.
https://soccer.sportmonks.com/api/v2.0/topscorers/season/{ID}/aggregated?api_token={API_TOKEN}
The response is the same as the previous one. The only difference is that it will give you a list of the entire season or the cup’s top scorers. You can also enrich the data response you get by using includes.
You will need to prefix every available include with the actual include you’re looking for. For example, if you want to have additional information about the goalscorers and team, you will need to include
aggregatedGoalscorers.player
and aggregatedGoalscorers.team
.A list of available includes are:
aggregatedGoalscorers.player
aggregatedGoalscorers.team
aggregatedAssistscorers.player
aggregatedAssistscorers.team
aggregatedCardscorers.player
aggregatedCardscorers.team
https://soccer.sportmonks.com/api/v2.0/topscorers/season/{ID}?api_token={API_TOKEN}&include=aggregatedGoalscorers.player,aggregatedGoalscorers.team
Last modified 2yr ago