SofaScore API endpoint
Returns the highlight videos attached to a match: title, subtitle (for example `Full Highlights`), video `url`, thumbnail, the publish time, whether it is the key highlight, and the countries it is restricted to when SofaScore limits it. `media_type_code` is SofaScore's own numeric code and is returned untranslated. Returns 404 when the match has no highlight videos, which includes matches that have not finished.
/sofascore/event-highlightsQuery parameters:
id: required. Numeric SofaScore event (match) id, e.g. 16363867.Notable response behavior:
title, subtitle (for example Full Highlights), the video url, thumbnail_url, created_timestamp and created_at (UTC), key_highlight and livestream flags, and for_countries (ISO country codes the video is restricted to; absent when unrestricted).media_type_code is SofaScore's own numeric code (6 was observed on YouTube highlights) and is returned untranslated.404 when the match has no highlight videos, which includes matches that have not finished.| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| id | 2 | |
| title | 2 | “Man City 5 - 3 Sunderland” |
| subtitle | 2 | “Full Highlights” |
| url | 2 | youtube.com |
| thumbnail_url | 2 | i.ytimg.com |
| media_type_code | 2 | |
| for_countries | 1 | median 6 entries |
| key_highlight | 2 | |
| livestream | 2 | true in 0 of 2 |
| created_timestamp | 2 | 2026-09-20 |
| created_at | 2 | 2026-09-20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Numeric SofaScore event (match) id | 16363867 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sofascore/event-highlights?id=16363867" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"event_id": 16363867,
"source_url": "https://api.sofascore.com/api/v1/event/16363867/highlights",
"fetched_at": "2026-07-08T00:00:00Z",
"count": 2,
"highlights": [
{
"id": 8084695,
"title": "Man City 5 - 3 Sunderland",
"subtitle": "Full Highlights",
"url": "https://www.youtube.com/watch?v=bniBAK1Idog",
"thumbnail_url": "https://i.ytimg.com/vi/bniBAK1Idog/hqdefault.jpg",
"media_type_code": 6,
"for_countries": [
"BA",
"HR",
"ME"
],
"key_highlight": false,
"livestream": false,
"created_timestamp": 1789918115,
"created_at": "2026-09-20T15:28:35Z"
},
{
"id": 8085033,
"title": "Man City 5 - 3 Sunderland",
"subtitle": "Full Highlights",
"url": "https://www.youtube.com/watch?v=hgIaOCoVsDQ",
"thumbnail_url": "https://i.ytimg.com/vi/hgIaOCoVsDQ/hqdefault.jpg",
"media_type_code": 6,
"key_highlight": true,
"livestream": false,
"created_timestamp": 1789938075,
"created_at": "2026-09-20T21:01:15Z"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/sofascore.eventHighlightsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | sofascore.EventHighlightsResponse | No | ||||
| data.count | integer | No | ||||
| data.event_id | integer | No | 16363867 | |||
| data.fetched_at | string | No | ||||
| data.highlights | array | No | ||||
| data.highlights[].created_at | string | No | 2026-09-20T22:08:35Z | |||
| data.highlights[].created_timestamp | integer | No | ||||
| data.highlights[].for_countries | array | No | BA,HR | |||
| data.highlights[].id | integer | No | 8084695 | |||
| data.highlights[].key_highlight | boolean | No | ||||
| data.highlights[].livestream | boolean | No | ||||
| data.highlights[].media_type_code | integer | No | 6 | |||
| data.highlights[].subtitle | string | No | Full Highlights | |||
| data.highlights[].thumbnail_url | string | No | ||||
| data.highlights[].title | string | No | Man City 5 - 3 Sunderland | |||
| data.highlights[].url | string | No | https://www.youtube.com/watch?v=bniBAK1Idog | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/sofascore/event-highlights?id=16363867" \
-H "x-api-key: $CRAWLORA_API_KEY"