Endpoint Playground
Returns a football player's aggregated touch locations over one competition season: `points` with an `x`, `y` and touch `count` on SofaScore's 0-100 pitch scale, the number of `matches` behind it and the matched `events`. Get `tournament_id` and `season` from player-statistics-seasons. The response is large for a full league season. Returns 404 when SofaScore has no heatmap for that player, competition and season, which includes sports other than football and seasons the player did not play.
14 Oct 2026: 35 events; 11 fields had a value in every checked item.
Sample value profiles: start_timestamp: 2025-08-16 to 2026-05-19; start_time: 2025-08-16 to 2026-05-19.
curl 'https://api.crawlora.net/api/v1/sofascore/player-season-heatmap?id=839956&tournament_id=17&season=76986' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 839956 | Numeric SofaScore player id |
| tournament_id | string | Yes | 17 | Numeric SofaScore unique-tournament (competition) id |
| season | string | Yes | 76986 | Numeric SofaScore season id |
{
"code": 200,
"msg": "OK",
"data": {
"player_id": 839956,
"tournament_id": 17,
"season": 76986,
"source_url": "https://api.sofascore.com/api/v1/player/839956/unique-tournament/17/season/76986/heatmap/overall",
"fetched_at": "2026-07-08T00:00:00Z",
"matches": 35,
"count": 6,
"points": [
{
"x": 71,
"y": 42,
"count": 1
},
{
"x": 71,
"y": 21,
"count": 1
},
{
"x": 71,
"y": 81,
"count": 2
}
],
"events": [
{
"id": 14025050,
"slug": "manchester-city-wolverhampton",
"start_timestamp": 1755361800,
"start_time": "2025-08-16T16:30:00Z",
"status": {
"code": 100,
"description": "Ended",
"type": "finished"
},
"winner_code": 2,
"tournament": {
"id": 1,
"name": "Premier League",
"slug": "premier-league",
"category": "England",
"unique_tournament_id": 17,
"unique_tournament_name": "Premier League"
},
"home_team": {
"id": 3,
"name": "Wolverhampton",
"short_name": "Wolves",
"slug": "wolverhampton"
},
"away_team": {
"id": 17,
"name": "Manchester City",
"short_name": "Man City",
"slug": "manchester-city"
},
"home_score": {
"current": 0
},
"away_score": {
"current": 4,
"period1": 2,
"period2": 2
}
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.