# Topscorers standings

In this tutorial, we will teach you how to request the top scorers per stage and the entire season.&#x20;

![](/files/-MPE7krSu4KTz_EZI2or)

Let’s start right away.

### Top scorers by season id

You can use the [**top scorers by season id endpoint**](https://football-postman.sportmonks.com/#550e793f-9a47-4936-a365-b06771473564) 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**](/v2/tutorials/schedule-fixtures-and-livescores/season-schedule.md) for more information&#x20;

Let's say you want to request the topscorers of the **English Premier League season 20/21 (season id: 17420):**

{% tabs %}
{% tab title="Request" %}

```javascript
https://soccer.sportmonks.com/api/v2.0/topscorers/season/17420?api_token={API_TOKEN}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    "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"
                },
```

{% endtab %}

{% tab title="Field Description" %}
**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 |
| {% endtab %}    |                                                                         |
| {% endtabs %}   |                                                                         |

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.&#x20;

Naturally, you can also enrich the response by using includes. However, you need to prefix the include.&#x20;

{% hint style="warning" %}
**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.
{% endhint %}

### Enriching your request

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:

{% tabs %}
{% tab title="Request" %}

```javascript
https://soccer.sportmonks.com/api/v2.0/topscorers/season/17420?api_token={API_TOKEN}&include=goalscorers.player,goalscorers.team
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    "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
                        }
                    }
                },

```

{% endtab %}
{% endtabs %}

As you can see, you now have more information about both the player himself and his team.&#x20;

### Aggregated Topscorers

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**](https://football-postman.sportmonks.com/#cae491b5-c084-4579-a44d-d057c8e07ba9) for this.&#x20;

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.&#x20;

```javascript
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.

### Enriching your request again

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`

```javascript
https://soccer.sportmonks.com/api/v2.0/topscorers/season/{ID}?api_token={API_TOKEN}&include=aggregatedGoalscorers.player,aggregatedGoalscorers.team
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportmonks.com/v2/tutorials/league-and-topscorers-standings/topscorers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
