# Get a player's penalty record (v1)

Returns penalties a football player took with outcome, goal zone, coordinates and xG, plus scored and attempts. Pass both season fields to narrow to one season. Nothing found returns `data: null`.

- Platform: Sofascore
- Request: `GET https://api.toolzerhub.com/v1/sofascore/player/penalties`
- 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-sports-player-penalties

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `id` | query | yes | integer | Player id, from a lineup, a squad or Search Sports. |
| `tournament_id` | query | no | integer | Tournament id; pass with season_id. |
| `season_id` | query | no | integer | Season id; pass with tournament_id. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/sofascore/player/penalties?id=<id>" \
  -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.
