Skip to content
datasportsAPI

FixturesPlayer actions

Documentation

/

Type to filter the docs by title or path.

FixturesEndpoint 21 of 116

Player actions

GET

/v2/fixtures/{id}/players/{playerId}/actions

Plan
Pro + Business
Auth
Bearer dsa_live_…
Parameters
2 required · 0 optional
Returns
PlayerActions

A pitch-located log of one player’s on-ball involvement in the fixture: passes and crosses (start → end, completion, key pass, long ball), take-ons, ball carries and defensive work (tackles, interceptions, ball recoveries, clearances, blocks). Available on Pro and Business plans.

Plan access

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

Worth knowing

  • Football only, in covered leagues.
  • A player who did not play, a fixture yet to kick off and any other sport all return 200 with empty lists.
  • Coordinates run 0–100 in the player’s attacking direction (x 0 is the player’s own goal line, x 100 the goal he attacks), the same frame as the heatmap.
  • successful lines up with the accurate / won figures in the lineups’ statistics and is null on ball carries.
  • The source supplies no timestamps, so actions follow the source’s own ordering.

01Parameters

  • idpathRequired

    fixture id issued by DataSportsAPI, a positive integer

  • playerIdpathRequired

    player id issued by DataSportsAPI, for example taken from /lineups

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/fixtures/{id}/players/{playerId}/actions"

03Response

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

data
PlayerActions
meta
playerId, count (total actions)
Example response
{ "data": {
    "passes": [ { "type": "pass", "start": { "x": 27.7, "y": 96 }, "end": { "x": 23.3, "y": 94.8 }, "successful": true, "keyPass": false, "longBall": false },
                { "type": "cross", "start": { "x": 79.8, "y": 11.3 }, "end": { "x": 94.9, "y": 59.1 }, "successful": true, "keyPass": true, "longBall": true }, … ],
    "dribbles": [ { "type": "dribble", "start": { "x": 67.2, "y": 89.8 }, "end": null, "successful": true, "keyPass": null, "longBall": null }, … ],
    "defensive": [ { "type": "tackle", "start": { "x": 33.4, "y": 89.5 }, "end": null, "successful": false, "keyPass": null, "longBall": null }, … ],
    "ballCarries": [ { "type": "ballCarry", "start": { "x": 62.5, "y": 93.3 }, "end": { "x": 69.8, "y": 86.8 }, "successful": null, "keyPass": null, "longBall": null }, … ] },
  "meta": { "playerId": 1403061, "count": 72 } }

04Errors

  • 403history_not_in_plan

    kick-off falls before the start of your plan’s history window

  • 404not_found

    the fixture id or player id is unknown

Any key can also meet401unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code