Skip to content
datasportsAPI

PlayersPenalties

Documentation

/

Type to filter the docs by title or path.

PlayersEndpoint 58 of 116

Penalties

GET

/v2/players/{id}/penalties

Plan
Pro + Business
Auth
Bearer dsa_live_…
Parameters
3 required · 0 optional
Returns
PenaltyHistory

Football penalty record for a player across one league season: totals scored and taken, plus each kick: its fixture, its outcome (goal, save, miss, post), its xG and where in the goal it went. Available since 2026-11-04.

Plan access

Requires a Pro or Business plan; every other plan receives 403 endpoint_not_in_plan.

Worth knowing

Only penalties during play are included, not shoot-outs, ordered oldest first. goalMouth uses the same goal-mouth frame as the shot map. Without source data, the list is empty and the counts are null.

01Parameters

02Request

The same call from the command line and each SDK. The SDK lines assume a client created with your key; left out, it is read from DATASPORTSAPI_API_KEY. Installing a client: SDKs & CLI.

curl -H "Authorization: Bearer dsa_live_…" \
    "https://api.datasportsapi.com/v2/players/{id}/penalties?league=…&season=…"

03Response

The top-level keys of the JSON body. Each object links to its full shape in the data reference.

data
PenaltyHistory
meta
league, season, count
Example response
{ "data": { "scored": 1, "attempts": 1, "penalties": [ { "fixtureId": 201324, "startTime": "2026-09-12T19:00:00.000Z", "outcome": "goal",
      "goalMouthLocation": "lowRight", "goalMouth": { "x": 74.19, "y": 96.83, "z": null }, "expectedGoals": 0.7884 } ] },
  "meta": { "league": 200001, "season": 200386, "count": 1 } }

04Errors

  • 403history_not_in_plan

    the season finished before your plan’s history window begins

  • 403endpoint_not_in_plan

    returned to keys on the Free and Starter plans

  • 404not_found

    the season id does not belong to this league

Any key can also meet401unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code