Endpoint Playground
Returns a match's text commentary (minute, type, text, and the players involved, plus the running score on scoring lines) from SofaScore, newest first. Works for football and basketball matches that have commentary. An empty `comments` list is a valid response (a live match with no lines yet). Returns 404 when SofaScore has no commentary for the match, which includes matches that have not started.
14 Oct 2026: 114 comments; 3 fields had a value in every checked item and 9 varied between items.
Sample value profiles: minute: 1 to 94, median 52; is_home: true in 52 of 107; home_score: 1 to 5, median 2.
curl 'https://api.crawlora.net/api/v1/sofascore/event-comments?id=16363867' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 16363867 | Numeric SofaScore event (match) id |
{
"code": 200,
"msg": "OK",
"data": {
"event_id": 16363867,
"source_url": "https://api.sofascore.com/api/v1/event/16363867/comments",
"fetched_at": "2026-07-08T00:00:00Z",
"count": 114,
"comments": [
{
"id": 40442273,
"type": "scoreChange",
"text": "Goal! Manchester City 5, Sunderland 3. Erling Haaland (Manchester City) right footed shot from very close range to the bottom right corner. Assisted by Josko Gvardiol.Goal awarded following VAR Review.",
"period": "2ND",
"minute": 81,
"is_home": true,
"home_score": 5,
"away_score": 3,
"player": {
"id": 839956,
"name": "Erling Haaland",
"short_name": "E. Haaland",
"slug": "erling-haaland",
"position": "F",
"jersey_number": "9"
},
"assist": {
"id": 964994,
"name": "Joško Gvardiol",
"short_name": "J. Gvardiol",
"slug": "josko-gvardiol",
"position": "D",
"jersey_number": "24"
}
},
{
"id": 40442362,
"type": "substitution",
"text": "Substitution, Manchester City. Nico O'Reilly replaces Rayan Cherki.",
"period": "2ND",
"minute": 85,
"is_home": true,
"player": {
"id": 1142703,
"name": "Nico O'Reilly",
"short_name": "N. O’Reilly",
"slug": "nico-o-reilly",
"position": "D",
"jersey_number": "33"
},
"player_in": {
"id": 1142703,
"name": "Nico O'Reilly",
"short_name": "N. O’Reilly",
"slug": "nico-o-reilly",
"position": "D",
"jersey_number": "33"
},
"player_out": {
"id": 979128,
"name": "Rayan Cherki",
"short_name": "R. Cherki",
"slug": "cherki-rayan",
"position": "M",
"jersey_number": "10"
}
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.