Tracking data

Tracked events

GET/v2/fixtures/{id}/tracking/eventsEnterprise

Tracked events with their positions, in play order: football passes (start and end), shots, set pieces, fouls, cards, substitutions and the attack flow; tennis ball and player positions, serves, faults and points with the game score; basketball shots with their spot, rebounds, fouls, turnovers. 1,000 a page, optionally one type and after an instant. Enterprise plan only.

key is stable: the same event has the same key here and in trackedEvent frames. minute and second are football’s match clock; set and game tennis’s; period basketball’s. player, assist, playerIn and playerOut are null when the source names nobody or the squad does not list him. Clock bookkeeping is left out. Football while live: flowAttack / flowDangerousAttack / flowBallSafe (side = the team with the ball, position = where; together the current situation), possessionChange (no side), throwIn, freeKick, corner, goalKick, attemptAtGoal, goal, yellowCard, redCard, substitution, possibleGoal / possibleCorner …, about 18 a minute; passes come with the post-match read. Empty for ice hockey (read the timeline) and before the post-match read for most basketball matches.

Parameters

id
pathrequired
our numeric id (positive integer)
type
query
only this type, camelCase (pass, attemptAtGoal, goal, serve, point, ballSituation, threePointer, …)
since
query
only events after this instant (ISO-8601, any offset; exclusive)
page
query
page 0–999 of the filtered list (default 0)

Response

data
TrackedEvent[]
meta
page, count, total (after the filters), hasNextPage
errors
400 bad_request — type, since or page malformed403 endpoint_not_in_plan — every plan but Enterprise404 not_found — an id we never issued

Every /v2 call can also answer the common errors.

Try it →
$ curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/fixtures/{id}/tracking/events"
Example
{ "data": [
    { "key": "5f0c2a9e41d7b3c8", "type": "pass", "at": "2026-11-11T21:04:09.568Z", "side": "home", "minute": 79, "second": 4785,
      "period": null, "set": null, "game": null, "position": { "x": 42, "y": 2, "z": null }, "endPosition": { "x": 58, "y": 15, "z": null },
      "player": { "name": "John Doe", "shirtNumber": 8, "side": "home" }, "assist": null, "playerIn": null, "playerOut": null,
      "outcome": "complete", "goalType": null, "serving": null, "gameScore": null, "pointOutcome": null, "shots": null }, … ],
  "meta": { "page": 0, "count": 1000, "total": 2215, "hasNextPage": true } }