Endpoint Playground
Returns one page (10 seasons, newest first) of a competition's past winners: the year, the season id and the winning team or player. Follow `has_next_page` and pass `page` (zero-based) for older seasons; a page past the last one and an unknown competition both answer 404. Get `id` from search; the returned `season_id` works with every season-scoped endpoint.
14 Oct 2026: 10 winners; 3 fields had a value in every checked item.
Sample value profiles: year: 2,017 to 2,026, median 2,021.
curl 'https://api.crawlora.net/api/v1/sofascore/tournament-winners?id=17' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 17 | Numeric SofaScore unique-tournament (competition) id |
| page | integer | No | Zero-based page number. Defaults to 0 |
{
"code": 200,
"msg": "OK",
"data": {
"tournament_id": 17,
"page": 0,
"has_next_page": true,
"count": 10,
"source_url": "https://api.sofascore.com/api/v1/unique-tournament/17/winners",
"fetched_at": "2026-10-07T14:00:00Z",
"winners": [
{
"year": 2026,
"season_id": 76986,
"winner": {
"id": 42,
"name": "Arsenal",
"short_name": "Arsenal",
"slug": "arsenal"
}
},
{
"year": 2025,
"season_id": 61627,
"winner": {
"id": 44,
"name": "Liverpool FC",
"short_name": "Liverpool",
"slug": "liverpool"
}
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.