Endpoint Playground
Returns a player's transfer history (clubs moved from and to, date, fee, and SofaScore's numeric transfer type code), newest first. An empty `transfers` list is a valid response for a player who has never moved clubs. Returns 404 when SofaScore has no transfer record for the player (seen for ice hockey and baseball players). The `type_code` values are SofaScore's own opaque codes and are not translated.
14 Oct 2026: 5 transfers; 11 fields had a value in every checked item and 1 varied between items.
Sample value profiles: transfer_date: 2015-09-08 to 2022-07-01; fee: 0 to 60,000,000, median 8,000,000; from_team_name: “Borussia Dortmund” and 4 other values.
curl 'https://api.crawlora.net/api/v1/sofascore/player-transfers?id=839956' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 839956 | Numeric SofaScore player id |
{
"code": 200,
"msg": "OK",
"data": {
"player_id": 839956,
"source_url": "https://api.sofascore.com/api/v1/player/839956/transfer-history",
"fetched_at": "2026-07-08T00:00:00Z",
"count": 5,
"transfers": [
{
"id": 1404775,
"player": {
"id": 839956,
"name": "Erling Haaland",
"short_name": "E. Haaland",
"slug": "erling-haaland",
"position": "F",
"jersey_number": "9"
},
"from_team": {
"id": 2673,
"name": "Borussia Dortmund",
"short_name": "Dortmund",
"slug": "borussia-dortmund"
},
"to_team": {
"id": 17,
"name": "Manchester City",
"short_name": "Man City",
"slug": "manchester-city"
},
"from_team_name": "Borussia Dortmund",
"to_team_name": "Manchester City",
"type_code": 3,
"transfer_date": "2022-07-01",
"transfer_timestamp": 1656633600,
"fee": 60000000,
"fee_currency": "EUR",
"fee_description": "60M €"
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.