Sofascore Scraper

ENDPOINTS
GET/players/heatmap

Player Heatmap

Season heatmap points for a tournament and season, the current one by default.

QUERY PARAMS

Sofascore player id or any sofascore.com player URL.

Examples:

  • ID: 934235 (Bukayo Saka)
  • URL: https://www.sofascore.com/football/player/bukayo-saka/934235

Sofascore tournament id or URL to scope the statistics.

Default: the current main competition

Season id from /tournaments/seasons or /tournaments/details.

Default: the current season

{
  "player_id": 934235,
  "tournament_id": 17,
  "season_id": 96668,
  "points": [
    {
      "x": 61,
      "y": 4,
      "count": 1
    },
    {
      "x": 61,
      "y": 20,
      "count": 2
    },
    {
      "x": 61,
      "y": 6,
      "count": 1
    },
    {
      "x": 61,
      "y": 21,
      "count": 1
    },
    {
      "x": 73,
      "y": 5,
      "count": 3
    },
    {
      "x": 73,
      "y": 3,
      "count": 1
    },
    {
      "x": 73,
      "y": 4,
      "count": 1
    },
    {
      "x": 73,
      "y": 7,
      "count": 1
    },
    {
      "x": 75,
      "y": 17,
      "count": 1
    },
    {
      "x": 75,
      "y": 6,
      "count": 1
    },
    {
      "x": 75,
      "y": 10,
      "count": 1
    },
    {
      "x": 75,
      "y": 5,
      "count": 1
    },
    {
      "x": 75,
      "y": 29,
      "count": 2
    },
    {
      "x": 75,
      "y": 7,
      "count": 1
    },
    {
      "x": 75,
      "y": 19,
      "count": 1
    },
    {
      "x": 90,
      "y": 28,
      "count": 1
    },
    {
      "x": 90,
      "y": 41,
      "count": 1
    },
    {
      "x": 90,
      "y": 18,
      "count": 1
    },
    {
      "x": 90,
      "y": 12,
      "count": 1
    },
    {
      "x": 90,
      "y": 70,
      "count": 1
    },
    {
      "x": 93,
      "y": 28,
      "count": 1
    },
    {
      "x": 93,
      "y": 10,
      "count": 1
    },
    {
      "x": 93,
      "y": 44,
      "count": 1
    },
    {
      "x": 93,
      "y": 17,
      "count": 1
    },
    {
      "x": 93,
      "y": 16,
      "count": 1
    },
    {
      "x": 46,
      "y": 23,
      "count": 1
    },
    {
      "x": 46,
      "y": 24,
      "count": 1
    },
    {
      "x": 46,
      "y": 81,
      "count": 1
    },
    {
      "x": 46,
      "y": 29,
      "count": 1
    },
    {
      "x": 87,
      "y": 18,
      "count": 1
    },
    {
      "x": 87,
      "y": 23,
      "count": 1
    },
    {
      "x": 87,
      "y": 7,
      "count": 1
    },
    {
      "x": 83,
      "y": 19,
      "count": 1
    },
    {
      "x": 83,
      "y": 6,
      "count": 1
    },
    {
      "x": 83,
      "y": 4,
      "count": 1
    },
    {
      "x": 83,
      "y": 7,
      "count": 1
    },
    {
      "x": 83,
      "y": 14,
      "count": 1
    },
    {
      "x": 39,
      "y": 12,
      "count": 2
    },
    {
      "x": 39,
      "y": 48,
      "count": 1
    },
    {
      "x": 70,
      "y": 4,
      "count": 1
    },
    {
      "x": 70,
      "y": 31,
      "count": 1
    },
    {
      "x": 84,
      "y": 29,
      "count": 1
    },
    {
      "x": 84,
      "y": 28,
      "count": 1
    },
    {
      "x": 84,
      "y": 9,
      "count": 2
    },
    {
      "x": 84,
      "y": 53,
      "count": 1
    },
    {
      "x": 84,
      "y": 10,
      "count": 1
    },
    {
      "x": 84,
      "y": 32,
      "count": 1
    },
    {
      "x": 81,
      "y": 33,
      "count": 1
    },
    {
      "x": 81,
      "y": 7,
      "count": 1
    },
    {
      "x": 81,
      "y": 18,
      "count": 1
    },
    {
      "x": 82,
      "y": 7,
      "count": 1
    },
    {
      "x": 82,
      "y": 29,
      "count": 1
    },
    {
      "x": 82,
      "y": 17,
      "count": 1
    },
    {
      "x": 82,
      "y": 28,
      "count": 1
    },
    {
      "x": 82,
      "y": 12,
      "count": 1
    },
    {
      "x": 82,
      "y": 47,
      "count": 1
    },
    {
      "x": 63,
      "y": 16,
      "count": 1
    },
    {
      "x": 68,
      "y": 3,
      "count": 1
    },
    {
      "x": 68,
      "y": 2,
      "count": 1
    },
    {
      "x": 68,
      "y": 12,
      "count": 2
    },
    {
      "x": 68,
      "y": 11,
      "count": 1
    },
    {
      "x": 68,
      "y": 16,
      "count": 1
    },
    {
      "x": 67,
      "y": 33,
      "count": 1
    },
    {
      "x": 67,
      "y": 4,
      "count": 1
    },
    {
      "x": 66,
      "y": 4,
      "count": 1
    },
    {
      "x": 80,
      "y": 4,
      "count": 1
    },
    {
      "x": 80,
      "y": 12,
      "count": 1
    },
    {
      "x": 80,
      "y": 11,
      "count": 1
    },
    {
      "x": 80,
      "y": 8,
      "count": 1
    },
    {
      "x": 80,
      "y": 22,
      "count": 1
    },
    {
      "x": 80,
      "y": 10,
      "count": 2
    },
    {
      "x": 95,
      "y": 25,
      "count": 1
    },
    {
      "x": 95,
      "y": 26,
      "count": 1
    },
    {
      "x": 95,
      "y": 41,
      "count": 1
    },
    {
      "x": 95,
      "y": 18,
      "count": 1
    },
    {
      "x": 95,
      "y": 12,
      "count": 1
    },
    {
      "x": 99,
      "y": 0,
      "count": 10
    },
    {
      "x": 99,
      "y": 36,
      "count": 1
    },
    {
      "x": 99,
      "y": 42,
      "count": 1
    },
    {
      "x": 74,
      "y": 5,
      "count": 1
    },
    {
      "x": 74,
      "y": 3,
      "count": 1
    },
    {
      "x": 74,
      "y": 22,
      "count": 1
    },
    {
      "x": 74,
      "y": 20,
      "count": 1
    },
    {
      "x": 53,
      "y": 3,
      "count": 1
    },
    {
      "x": 53,
      "y": 8,
      "count": 1
    },
    {
      "x": 53,
      "y": 5,
      "count": 1
    },
    {
      "x": 57,
      "y": 6,
      "count": 2
    },
    {
      "x": 57,
      "y": 13,
      "count": 1
    },
    {
      "x": 57,
      "y": 9,
      "count": 1
    },
    {
      "x": 71,
      "y": 2,
      "count": 1
    },
    {
      "x": 71,
      "y": 23,
      "count": 1
    },
    {
      "x": 71,
      "y": 4,
      "count": 1
    },
    {
      "x": 71,
      "y": 26,
      "count": 1
    },
    {
      "x": 69,
      "y": 12,
      "count": 1
    },
    {
      "x": 69,
      "y": 4,
      "count": 1
    },
    {
      "x": 69,
      "y": 11,
      "count": 1
    },
    {
      "x": 69,
      "y": 24,
      "count": 1
    },
    {
      "x": 72,
      "y": 14,
      "count": 1
    },
    {
      "x": 72,
      "y": 4,
      "count": 1
    },
    {
      "x": 72,
      "y": 7,
      "count": 1
    },
    {
      "x": 22,
      "y": 33,
      "count": 1
    },
    {
      "x": 55,
      "y": 10,
      "count": 1
    },
    {
      "x": 55,
      "y": 24,
      "count": 1
    },
    {
      "x": 31,
      "y": 9,
      "count": 1
    },
    {
      "x": 79,
      "y": 18,
      "count": 2
    },
    {
      "x": 79,
      "y": 25,
      "count": 2
    },
    {
      "x": 79,
      "y": 32,
      "count": 1
    },
    {
      "x": 88,
      "y": 13,
      "count": 1
    },
    {
      "x": 88,
      "y": 14,
      "count": 1
    },
    {
      "x": 43,
      "y": 16,
      "count": 1
    },
    {
      "x": 43,
      "y": 11,
      "count": 1
    },
    {
      "x": 77,
      "y": 5,
      "count": 2
    },
    {
      "x": 77,
      "y": 12,
      "count": 1
    },
    {
      "x": 77,
      "y": 13,
      "count": 1
    },
    {
      "x": 77,
      "y": 9,
      "count": 1
    },
    {
      "x": 77,
      "y": 11,
      "count": 1
    },
    {
      "x": 42,
      "y": 33,
      "count": 1
    },
    {
      "x": 42,
      "y": 19,
      "count": 1
    },
    {
      "x": 97,
      "y": 49,
      "count": 1
    },
    {
      "x": 97,
      "y": 31,
      "count": 1
    },
    {
      "x": 29,
      "y": 25,
      "count": 1
    },
    {
      "x": 29,
      "y": 7,
      "count": 1
    },
    {
      "x": 28,
      "y": 24,
      "count": 1
    },
    {
      "x": 28,
      "y": 31,
      "count": 1
    },
    {
      "x": 28,
      "y": 22,
      "count": 1
    },
    {
      "x": 28,
      "y": 20,
      "count": 1
    },
    {
      "x": 28,
      "y": 17,
      "count": 2
    },
    {
      "x": 56,
      "y": 11,
      "count": 1
    },
    {
      "x": 56,
      "y": 6,
      "count": 1
    },
    {
      "x": 58,
      "y": 25,
      "count": 1
    },
    {
      "x": 58,
      "y": 92,
      "count": 1
    },
    {
      "x": 10,
      "y": 28,
      "count": 1
    },
    {
      "x": 10,
      "y": 19,
      "count": 1
    },
    {
      "x": 40,
      "y": 39,
      "count": 1
    },
    {
      "x": 40,
      "y": 10,
      "count": 1
    },
    {
      "x": 40,
      "y": 17,
      "count": 1
    },
    {
      "x": 52,
      "y": 46,
      "count": 1
    },
    {
      "x": 30,
      "y": 8,
      "count": 1
    },
    {
      "x": 37,
      "y": 3,
      "count": 1
    },
    {
      "x": 37,
      "y": 53,
      "count": 1
    },
    {
      "x": 12,
      "y": 18,
      "count": 1
    },
    {
      "x": 12,
      "y": 35,
      "count": 1
    },
    {
      "x": 62,
      "y": 9,
      "count": 1
    },
    {
      "x": 35,
      "y": 16,
      "count": 2
    },
    {
      "x": 35,
      "y": 15,
      "count": 1
    },
    {
      "x": 35,
      "y": 10,
      "count": 1
    },
    {
      "x": 86,
      "y": 2,
      "count": 1
    },
    {
      "x": 85,
      "y": 3,
      "count": 1
    },
    {
      "x": 85,
      "y": 14,
      "count": 1
    },
    {
      "x": 60,
      "y": 6,
      "count": 1
    },
    {
      "x": 60,
      "y": 95,
      "count": 1
    },
    {
      "x": 25,
      "y": 31,
      "count": 1
    },
    {
      "x": 25,
      "y": 30,
      "count": 1
    },
    {
      "x": 25,
      "y": 16,
      "count": 1
    },
    {
      "x": 25,
      "y": 13,
      "count": 1
    },
    {
      "x": 44,
      "y": 9,
      "count": 1
    },
    {
      "x": 44,
      "y": 25,
      "count": 1
    },
    {
      "x": 94,
      "y": 24,
      "count": 1
    },
    {
      "x": 94,
      "y": 13,
      "count": 1
    },
    {
      "x": 92,
      "y": 10,
      "count": 1
    },
    {
      "x": 92,
      "y": 5,
      "count": 1
    },
    {
      "x": 89,
      "y": 17,
      "count": 2
    },
    {
      "x": 89,
      "y": 15,
      "count": 1
    },
    {
      "x": 89,
      "y": 24,
      "count": 1
    },
    {
      "x": 24,
      "y": 29,
      "count": 1
    },
    {
      "x": 24,
      "y": 7,
      "count": 1
    },
    {
      "x": 98,
      "y": 29,
      "count": 1
    },
    {
      "x": 98,
      "y": 31,
      "count": 1
    },
    {
      "x": 98,
      "y": 55,
      "count": 1
    },
    {
      "x": 76,
      "y": 12,
      "count": 1
    },
    {
      "x": 76,
      "y": 26,
      "count": 1
    },
    {
      "x": 76,
      "y": 28,
      "count": 1
    },
    {
      "x": 23,
      "y": 35,
      "count": 1
    },
    {
      "x": 9,
      "y": 16,
      "count": 1
    },
    {
      "x": 8,
      "y": 14,
      "count": 1
    },
    {
      "x": 2,
      "y": 29,
      "count": 1
    },
    {
      "x": 2,
      "y": 25,
      "count": 1
    },
    {
      "x": 13,
      "y": 16,
      "count": 1
    },
    {
      "x": 78,
      "y": 5,
      "count": 1
    },
    {
      "x": 78,
      "y": 11,
      "count": 1
    },
    {
      "x": 96,
      "y": 31,
      "count": 1
    },
    {
      "x": 64,
      "y": 87,
      "count": 1
    },
    {
      "x": 59,
      "y": 91,
      "count": 1
    },
    {
      "x": 32,
      "y": 9,
      "count": 1
    },
    {
      "x": 33,
      "y": 17,
      "count": 1
    },
    {
      "x": 27,
      "y": 15,
      "count": 1
    },
    {
      "x": 26,
      "y": 33,
      "count": 1
    },
    {
      "x": 91,
      "y": 45,
      "count": 1
    },
    {
      "x": 54,
      "y": 51,
      "count": 1
    },
    {
      "x": 51,
      "y": 54,
      "count": 1
    }
  ],
  "matches": [
    {
      "id": 16363245,
      "custom_id": "PR",
      "slug": "arsenal-aston-villa",
      "link": "https://www.sofascore.com/football/match/arsenal-aston-villa/PR#id:16363245",
      "start_time": "2026-08-31T19:00:00Z",
      "status": {
        "code": 100,
        "type": "finished",
        "description": "Ended"
      },
      "is_live": false,
      "is_finished": true,
      "winner_code": 2,
      "home_team": {
        "id": 40,
        "name": "Aston Villa",
        "short_name": "Aston Villa",
        "code": "AVL",
        "slug": "aston-villa",
        "link": "https://www.sofascore.com/team/football/aston-villa/40",
        "image_link": "https://img.sofascore.com/api/v1/team/40/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#670e36",
          "secondary": "#94bee5",
          "text": "#94bee5"
        },
        "followers_count": 1091289
      },
      "away_team": {
        "id": 42,
        "name": "Arsenal",
        "short_name": "Arsenal",
        "code": "ARS",
        "slug": "arsenal",
        "link": "https://www.sofascore.com/team/football/arsenal/42",
        "image_link": "https://img.sofascore.com/api/v1/team/42/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#cc0000",
          "secondary": "#ffffff",
          "text": "#ffffff"
        },
        "followers_count": 4194250
      },
      "home_score": {
        "current": 0,
        "display": 0,
        "periods": {
          "period1": 0,
          "period2": 0,
          "normaltime": 0
        }
      },
      "away_score": {
        "current": 1,
        "display": 1,
        "periods": {
          "period1": 0,
          "period2": 1,
          "normaltime": 1
        }
      },
      "round": {
        "number": 2,
        "name": null,
        "slug": null,
        "cup_round_type": null
      },
      "tournament": {
        "id": 17,
        "name": "Premier League",
        "slug": "premier-league",
        "link": "https://www.sofascore.com/tournament/football/england/premier-league/17",
        "image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image",
        "dark_image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image/dark",
        "colors": {
          "primary": "#3c1c5a",
          "secondary": "#f80158"
        },
        "followers_count": 1356594,
        "category": {
          "id": 1,
          "name": "England",
          "slug": "england",
          "link": "https://www.sofascore.com/football/england",
          "sport": {
            "id": 1,
            "name": "Football",
            "slug": "football"
          },
          "country": null,
          "flag_image_link": "https://img.sofascore.com/api/v1/country/EN/flag"
        },
        "group": null,
        "is_live": false
      },
      "season": null,
      "has_xg": true,
      "is_final_result_only": false
    },
    {
      "id": 16363633,
      "custom_id": "lsR",
      "slug": "arsenal-coventry-city",
      "link": "https://www.sofascore.com/football/match/arsenal-coventry-city/lsR#id:16363633",
      "start_time": "2026-08-21T19:00:00Z",
      "status": {
        "code": 100,
        "type": "finished",
        "description": "Ended"
      },
      "is_live": false,
      "is_finished": true,
      "winner_code": 1,
      "home_team": {
        "id": 42,
        "name": "Arsenal",
        "short_name": "Arsenal",
        "code": "ARS",
        "slug": "arsenal",
        "link": "https://www.sofascore.com/team/football/arsenal/42",
        "image_link": "https://img.sofascore.com/api/v1/team/42/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#cc0000",
          "secondary": "#ffffff",
          "text": "#ffffff"
        },
        "followers_count": 4194250
      },
      "away_team": {
        "id": 11,
        "name": "Coventry City",
        "short_name": "Coventry",
        "code": "COC",
        "slug": "coventry-city",
        "link": "https://www.sofascore.com/team/football/coventry-city/11",
        "image_link": "https://img.sofascore.com/api/v1/team/11/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#0099cc",
          "secondary": "#999999",
          "text": "#999999"
        },
        "followers_count": 115665
      },
      "home_score": {
        "current": 3,
        "display": 3,
        "periods": {
          "period1": 2,
          "period2": 1,
          "normaltime": 3
        }
      },
      "away_score": {
        "current": 0,
        "display": 0,
        "periods": {
          "period1": 0,
          "period2": 0,
          "normaltime": 0
        }
      },
      "round": {
        "number": 1,
        "name": null,
        "slug": null,
        "cup_round_type": null
      },
      "tournament": {
        "id": 17,
        "name": "Premier League",
        "slug": "premier-league",
        "link": "https://www.sofascore.com/tournament/football/england/premier-league/17",
        "image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image",
        "dark_image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image/dark",
        "colors": {
          "primary": "#3c1c5a",
          "secondary": "#f80158"
        },
        "followers_count": 1356594,
        "category": {
          "id": 1,
          "name": "England",
          "slug": "england",
          "link": "https://www.sofascore.com/football/england",
          "sport": {
            "id": 1,
            "name": "Football",
            "slug": "football"
          },
          "country": null,
          "flag_image_link": "https://img.sofascore.com/api/v1/country/EN/flag"
        },
        "group": null,
        "is_live": false
      },
      "season": null,
      "has_xg": true,
      "is_final_result_only": false
    },
    {
      "id": 16363257,
      "custom_id": "NR",
      "slug": "arsenal-chelsea",
      "link": "https://www.sofascore.com/football/match/arsenal-chelsea/NR#id:16363257",
      "start_time": "2026-09-06T15:30:00Z",
      "status": {
        "code": 100,
        "type": "finished",
        "description": "Ended"
      },
      "is_live": false,
      "is_finished": true,
      "winner_code": 1,
      "home_team": {
        "id": 42,
        "name": "Arsenal",
        "short_name": "Arsenal",
        "code": "ARS",
        "slug": "arsenal",
        "link": "https://www.sofascore.com/team/football/arsenal/42",
        "image_link": "https://img.sofascore.com/api/v1/team/42/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#cc0000",
          "secondary": "#ffffff",
          "text": "#ffffff"
        },
        "followers_count": 4194250
      },
      "away_team": {
        "id": 38,
        "name": "Chelsea",
        "short_name": "Chelsea",
        "code": "CHE",
        "slug": "chelsea",
        "link": "https://www.sofascore.com/team/football/chelsea/38",
        "image_link": "https://img.sofascore.com/api/v1/team/38/image",
        "sport": {
          "id": 1,
          "name": "Football",
          "slug": "football"
        },
        "country": null,
        "gender": "M",
        "is_national": false,
        "colors": {
          "primary": "#0310a7",
          "secondary": "#ffffff",
          "text": "#ffffff"
        },
        "followers_count": 3549341
      },
      "home_score": {
        "current": 2,
        "display": 2,
        "periods": {
          "period1": 1,
          "period2": 1,
          "normaltime": 2
        }
      },
      "away_score": {
        "current": 1,
        "display": 1,
        "periods": {
          "period1": 1,
          "period2": 0,
          "normaltime": 1
        }
      },
      "round": {
        "number": 3,
        "name": null,
        "slug": null,
        "cup_round_type": null
      },
      "tournament": {
        "id": 17,
        "name": "Premier League",
        "slug": "premier-league",
        "link": "https://www.sofascore.com/tournament/football/england/premier-league/17",
        "image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image",
        "dark_image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image/dark",
        "colors": {
          "primary": "#3c1c5a",
          "secondary": "#f80158"
        },
        "followers_count": 1356594,
        "category": {
          "id": 1,
          "name": "England",
          "slug": "england",
          "link": "https://www.sofascore.com/football/england",
          "sport": {
            "id": 1,
            "name": "Football",
            "slug": "football"
          },
          "country": null,
          "flag_image_link": "https://img.sofascore.com/api/v1/country/EN/flag"
        },
        "group": null,
        "is_live": false
      },
      "season": null,
      "has_xg": true,
      "is_final_result_only": false
    }
  ]
}