Harry Kane won the 2026 Ballon d'Or after an exceptional season with Bayern Munich and England. In the communications published after the announcement of the result, one figure particularly sums up his campaign: 73 goals in 65 games.
However, the Ballon d'Or is not awarded using a formula based solely on goals, assists or the number of appearances. Its ranking results from a vote that takes several aspects of the players' season into account. The statistics presented in this article can therefore illustrate some of the performances of the podium players, but they cannot explain their ranking on their own.
Once the official result is known, the figures associated with Harry Kane's season can be retrieved with API-FOOTBALL. However, this exercise requires more than a single call. Club competitions and international competitions do not all follow the same API season. To obtain the published total, you need to define the period being studied, combine several competitions and, in some cases, work on a match-by-match basis.
This guide shows how to retrieve the following figures for the 2025/2026 campaign:
- Bayern Munich: 51 games, 61 goals and 7 assists
- England: 14 games, 12 goals and 1 assist
- Total: 65 games, 73 goals and 8 assists
The calls shown use the base URL https://v3.football.api-sports.io. The API key must be sent in the x-apisports-key header from your backend or testing tool.
Define the scope
A season statistic only makes sense when its scope is clearly defined. Here, the objective is to retrieve the published total of 73 goals in 65 appearances for the 2025/2026 campaign.
The expression “2025/2026 season” is an editorial convention. It does not correspond to a single season value that can be applied to every competition in the API.
We will use the following IDs:
- Harry Kane →
player=184 - Bayern Munich →
team=157 - England →
team=10
Retrieve the statistics with Bayern Munich
The four selected competitions use season=2025, which in this case corresponds to the 2025/2026 season. They are the Bundesliga, the Champions League, the DFB-Pokal and the German Super Cup.
Bundesliga
The Bundesliga uses league=78:
GET https://v3.football.api-sports.io/players?id=184&league=78&season=2025&team=157
The useful block is located in response[].statistics[]. Here is an extract from the response:
...
},
"games": {
"appearences": 31,
"lineups": 25,
"minutes": 2382,
"number": 9,
"position": "Attacker",
"rating": "7.87",
"captain": false
},
"substitutes": {
"in": 6,
"out": 8,
"bench": 7
},
"shots": {
"total": 91,
"on": 67
},
"goals": {
"total": 36,
"conceded": 0,
"assists": 5,
"saves": null
},
"passes": {
"total": 727,
"key": 40,
"accuracy": 81
},
...
This block shows 31 appearances, 36 goals and 5 assists.
UEFA Champions League
The Champions League uses league=2:
GET https://v3.football.api-sports.io/players?id=184&league=2&season=2025&team=157
},
"statistics": [
{
"team": {
"id": 157,
"name": "Bayern München",
"logo": "https://media.api-sports.io/football/teams/157.png"
},
"league": {
"id": 2,
"name": "UEFA Champions League",
"country": "World",
"logo": "https://media.api-sports.io/football/leagues/2.png",
"flag": null,
"season": 2025
},
This block shows 13 appearances, 14 goals and 2 assists.
DFB-Pokal
The German Cup uses league=81:
GET https://v3.football.api-sports.io/players?id=184&league=81&season=2025&team=157
},
"statistics": [
{
"team": {
"id": 157,
"name": "Bayern München",
"logo": "https://media.api-sports.io/football/teams/157.png"
},
"league": {
"id": 81,
"name": "DFB Pokal",
"country": "Germany",
"logo": "https://media.api-sports.io/football/leagues/81.png",
"flag": "https://media.api-sports.io/flags/de.svg",
"season": 2025
},
This block shows 6 appearances, 10 goals and no assists.
German Super Cup
The German Super Cup, officially presented as the Franz Beckenbauer Supercup since 2025, uses league=529:
GET https://v3.football.api-sports.io/players?id=184&league=529&season=2025&team=157
},
"statistics": [
{
"team": {
"id": 157,
"name": "Bayern München",
"logo": "https://media.api-sports.io/football/teams/157.png"
},
"league": {
"id": 529,
"name": "Super Cup",
"country": "Germany",
"logo": "https://media.api-sports.io/football/leagues/529.png",
"flag": "https://media.api-sports.io/flags/de.svg",
"season": 2025
},
This block shows 1 appearance, 1 goal and no assists.
Total with Bayern Munich
Adding the four competitions gives us a total of 51 games, 61 goals and 7 assists.
| Competition | Games | Goals | Assists |
|---|---|---|---|
| Bundesliga | 31 | 36 | 5 |
| UEFA Champions League | 13 | 14 | 2 |
| DFB-Pokal | 6 | 10 | 0 |
| German Super Cup | 1 | 1 | 0 |
Two other competitions appear in the data, but they must not be added to the total being calculated:
- FIFA Club World Cup
- Friendlies Clubs
The 2025 Club World Cup also uses season=2025, but it belongs to a different sporting period from the one selected for this total. Club friendlies are not part of the 51 official games either.
Therefore, the same season value does not mean that every competition must be added together.
Retrieve the statistics with England
The international section includes the European World Cup qualifiers, international friendlies and the 2026 World Cup. These competitions do not all use the same season value.
European World Cup qualifiers
The qualifiers use league=32 and season=2024:
GET https://v3.football.api-sports.io/players?id=184&league=32&season=2024&team=10
This call returns 8 games and 8 goals. The result is correct for the entire qualifying campaign, but it is too broad for the period studied here. It includes games played before the beginning of our 2025/2026 scope.
You must therefore start by selecting the fixtures between the required dates using the from and to filters:
GET https://v3.football.api-sports.io/fixtures?league=32&season=2024&team=10&from=2025-08-03&to=2026-03-31
The response contains the following five games:
- England vs Andorra →
fixture=1323291 - Serbia vs England →
fixture=1323310 - Latvia vs England →
fixture=1323342 - England vs Serbia →
fixture=1323347 - Albania vs England →
fixture=1323361
To obtain Kane's statistics in each game, then call /fixtures/players:
GET https://v3.football.api-sports.io/fixtures/players?fixture={FIXTURE_ID}&team=10
Replace {FIXTURE_ID} with the game ID, then look for the entry where player.id is 184.
| Match | Fixture ID | Goals | Assists |
|---|---|---|---|
| England vs Andorra | 1323291 |
0 | 0 |
| Serbia vs England | 1323310 |
1 | 0 |
| Latvia vs England | 1323342 |
2 | 0 |
| England vs Serbia | 1323347 |
0 | 0 |
| Albania vs England | 1323361 |
2 | 0 |
Kane totals 5 appearances and 5 goals in the selected part of the qualifying campaign.
This method requires several calls, but it gives you precise control over the period. It prevents every game from a broader API season from being automatically attributed to the 2025/2026 campaign.
International friendlies
National team friendlies use league=10 and season=2026:
GET https://v3.football.api-sports.io/players?id=184&league=10&season=2026&team=10
The result shows 2 appearances, 1 goal and no assists.
| Opponent | Fixture ID | Goals |
|---|---|---|
| New Zealand | 1525492 |
1 |
| Costa Rica | 1525494 |
0 |
Harry Kane does not appear in the player data for the games against Uruguay and Japan. These two games are therefore not counted as player appearances.
2026 World Cup
The World Cup uses league=1 and season=2026:
GET https://v3.football.api-sports.io/players?id=184&league=1&season=2026&team=10
The result shows 7 appearances, 6 goals and 1 assist.
Total with England
Adding the three groups gives us a total of 14 games, 12 goals and 1 assist.
| Competition | API season | Games | Goals | Assists |
|---|---|---|---|---|
| World Cup - Qualification Europe | 2024 |
5 | 5 | 0 |
| Friendlies | 2026 |
2 | 1 | 0 |
| World Cup | 2026 |
7 | 6 | 1 |
Two competitions with similar names must be distinguished here. Friendlies Clubs, with league=667, corresponds to the club friendlies excluded from Bayern's total. Friendlies, with league=10, corresponds to the international friendlies included in England's total.
Understand the season parameter
In API-FOOTBALL, season represents the season of the requested competition. It is not a universal season attached to the player.
To reconstruct the same 2025/2026 campaign, we used:
season=2025for Bayern's competitionsseason=2024for the European World Cup qualifiersseason=2026for the international friendlies and the World Cup
A single call with season=2025 or season=2026 cannot therefore return Kane's entire international season.
The reliable method is to:
- Identify the competitions included in the total
- Check the
seasonvalue for each competition with/leagues - Use
/playerswhen the entire competition season matches the required scope - Use
/fixtureswithfromandtowhen only part of the season should be retained - Call
/fixtures/playersto verify the statistics match by match - Add the results after applying the same inclusion rules to every competition
The European qualifiers are a good summary of this logic. The season=2024 aggregate contains 8 appearances and 8 goals. Filtering by date reduces the result to the 5 appearances and 5 goals that belong to the selected scope.
Summary

| Team | Competition | League ID | API season |
|---|---|---|---|
| Bayern Munich | Bundesliga | 78 |
2025 |
| Bayern Munich | UEFA Champions League | 2 |
2025 |
| Bayern Munich | DFB-Pokal | 81 |
2025 |
| Bayern Munich | German Super Cup | 529 |
2025 |
| England | World Cup - Qualification Europe | 32 |
2024 |
| England | Friendlies | 10 |
2026 |
| England | World Cup | 1 |
2026 |
Compare the other players on the podium
Kylian Mbappé finished second and Lamine Yamal third in the official 2026 Ballon d'Or ranking. To complete the study, we can retrieve some of their statistics with API-FOOTBALL. This comparison is based on the already established podium.
Mbappé and Yamal both played in La Liga during the 2025/2026 season. This competition therefore provides a shared scope for comparing indicators such as appearances, goals, assists, shots, key passes and dribbles.
This scope is intentionally limited. It does not cover their other club competitions, international games, team results or every factor considered in the vote.
La Liga uses league=140, and the 2025/2026 season corresponds to season=2025.
Second place
Kylian Mbappé uses ID=278:
GET https://v3.football.api-sports.io/players?id=278&league=140&season=2025
"response": [
{
"player": {
"id": 278,
"name": "Kylian Mbappé",
"firstname": "Kylian",
"lastname": "Mbappé Lottin",
"age": 27,
"birth": {
"date": "1998-12-20",
"place": "Paris",
"country": "France"
},
"nationality": "France",
"height": "178",
"weight": "75",
"injured": false,
"photo": "https://media.api-sports.io/football/players/278.png"
},
"statistics": [
{
"team": {
"id": 541,
"name": "Real Madrid",
"logo": "https://media.api-sports.io/football/teams/541.png"
},
"league": {
"id": 140,
"name": "La Liga",
"country": "Spain",
"logo": "https://media.api-sports.io/football/leagues/140.png",
"flag": "https://media.api-sports.io/flags/es.svg",
"season": 2025
},
...
Mbappé ends his La Liga season with 25 goals and 5 assists in 31 appearances. He also recorded 63 shots on target from 110 attempts.
Third place
Lamine Yamal uses ID=386828:
GET https://v3.football.api-sports.io/players?id=386828&league=140&season=2025
"response": [
{
"player": {
"id": 386828,
"name": "Lamine Yamal",
"firstname": "Lamine",
"lastname": "Yamal Nasraoui Ebana",
"age": 18,
"birth": {
"date": "2007-07-13",
"place": "Mataró",
"country": "Spain"
},
"nationality": "Spain",
"height": "179",
"weight": "72",
"injured": false,
"photo": "https://media.api-sports.io/football/players/386828.png"
},
"statistics": [
{
"team": {
"id": 529,
"name": "Barcelona",
"logo": "https://media.api-sports.io/football/teams/529.png"
},
"league": {
"id": 140,
"name": "La Liga",
"country": "Spain",
"logo": "https://media.api-sports.io/football/leagues/140.png",
"flag": "https://media.api-sports.io/flags/es.svg",
"season": 2025
},
...
Yamal ends his La Liga season with 16 goals and 11 assists in 28 appearances. He also put 37 of his 85 shots on target.
Comparison of the two players
| Statistics | Kylian Mbappé | Lamine Yamal |
|---|---|---|
| Appearances | 31 | 28 |
| Minutes | 2,604 | 2,268 |
| Average rating | 7.53 | 7.95 |
| Goals | 25 | 16 |
| Assists | 5 | 11 |
| Goals + assists | 30 | 27 |
| Shots | 110 | 85 |
| Shots on target | 63 | 37 |
| Key passes | 65 | 72 |
| Dribbles attempted | 148 | 244 |
| Successful dribbles | 78 | 135 |
The two players recorded a fairly similar volume of attacking contributions in La Liga, but with different profiles. Mbappé scored more goals, while Yamal stood out for his assists, key passes and dribbles.
This comparison covers La Liga only. It illustrates part of their season without covering all their performances or the different factors considered in the Ballon d'Or vote.
Conclusion
API-FOOTBALL makes it possible to retrieve and analyze the data behind the statistics highlighted after the announcement of the 2026 Ballon d'Or.
In Harry Kane's case, the main difficulty is combining several competitions and several season values to reconstruct the total of 73 goals in 65 games. The /players endpoint provides aggregated statistics, while /fixtures and /fixtures/players make it possible to isolate a specific period when an API season covers a broader scope.
You can reproduce all the calls in this guide with the API-FOOTBALL Live Tester. Select the endpoint, add the specified parameters and view the response directly.
If you do not have an API key yet, you can create an API-SPORTS account here.
The API-SPORTS Team
