# Get the transfer window's moves (v1)

Returns football transfers in the current window, 50 per page, newest first unless `sort` is set. Filter by tournament, direction, nationality, position and age. Nothing found returns `data: null`.

- Platform: Sofascore
- Request: `GET https://api.toolzerhub.com/v1/sofascore/transfers`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/sofascore/players/get-football-transfers

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `page` | query | no | integer | Page number, from 1. hasNextPage says whether another page exists. Default: 1. |
| `tournament_id` | query | no | integer | Only transfers involving this tournament's teams. |
| `joined` | query | no | enum: true, false | true for players joining the tournament, false for players leaving it. |
| `nationality` | query | no | string | Three-letter nationality code, such as BRA. |
| `role` | query | no | enum: F, M, D, G | Position: F forward, M midfielder, D defender, G goalkeeper. |
| `min_age` | query | no | integer | Youngest player age to include. |
| `max_age` | query | no | integer | Oldest player age to include. |
| `sort` | query | no | string | Sort by transferFee, transferDate, marketValue or userCount; a leading - sorts descending. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/sofascore/transfers" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
