Developers · API Reference
API v1

Data API · Events

Get match event feed

GET/api/v1/datas/events/{id}

Returns event markers, match context, positions and offsets for one match. A match with no usable events still answers 200, carrying matchStatus and the reason instead of the feed; 404 means the match itself was not found.

Bearer authentication required · service: data_api

Reference only — this page never sends API requests or exposes token controls.

Response formats

When format is listed below, use json for the response documented here, or csv and xml for downloads. JSON uses camelCase by default; set case=snake_case when supported for legacy key names. Nested response fields use dot notation; [] denotes an array item and {key} a dynamic object key.

Path parameters

ParameterTypeRequiredDescription
id integer Required Match ID Minimum 1.

Query parameters

ParameterTypeRequiredDescription
format string Required Response format. Allowed: json, csv, xml.
mirrored boolean Optional Mirror pitch coordinates for the event feed. Default: false.
page integer Optional Page number. Default: 1. Minimum 1.
perPage integer Optional Items per page. Default: 20. Minimum 1; maximum 100.
case string Optional JSON response key style. Default: camelCase. Allowed: camelCase, snake_case.

Response attributes

AttributeTypeDescription
matchobjectMatch metadata.
match.matchIdintegerMatch ID.
match.matchDatestring|nullMatch date and time.
match.homeTeamScoreinteger|nullHome-team score. Only published once the analysis has produced it; null while the match is still being worked on, so a fixture is never reported as a false 0-0.
match.awayTeamScoreinteger|nullAway-team score. Only published once the analysis has produced it; null while the match is still being worked on, so a fixture is never reported as a false 0-0.
match.matchStatusinteger|nullDelivery state: 1 not started, 8 in progress, 9 delivered, 10 rejected (final), 11 on hold (paused, may resume), 12 no detailed match data. Describes our analysis, not the score - see hasFinalScore.
match.matchStatusLabelstring|nullDelivery state as a name: not_started, in_progress, delivered, rejected, on_hold, data_unavailable.
match.matchStatusReasonstring|nullWhy the match will not be delivered or is paused. Populated on matchStatus 10 and 11 only.
match.matchStatusUpdatedAtstring|nullUTC timestamp of the last delivery-state change (ISO 8601).
match.hasFinalScorebooleanWhether the published score is the final one.
match.homeTeamobjectHome-team metadata.
match.homeTeam.idintegerHome team ID.
match.homeTeam.namestring|nullHome team name.
match.awayTeamobjectAway-team metadata.
match.awayTeam.idintegerAway team ID.
match.awayTeam.namestring|nullAway team name.
matchPositionsobjectGoal-side positions by period.
matchPositions.firstHalfPositionsobjectGoal-side positions in the first half.
matchPositions.firstHalfPositions.leftSideGoalTeamstringTeam defending the left goal.
matchPositions.firstHalfPositions.rightSideGoalTeamstringTeam defending the right goal.
matchPositions.secondHalfPositionsobjectGoal-side positions in the second half.
matchPositions.secondHalfPositions.leftSideGoalTeamstringTeam defending the left goal.
matchPositions.secondHalfPositions.rightSideGoalTeamstringTeam defending the right goal.
offsetsobjectVideo offsets keyed by match period.
offsets.{period}objectStart and end offsets for a match period.
offsets.{period}.startnumber|nullPeriod start offset in seconds.
offsets.{period}.endnumber|nullPeriod end offset in seconds.
firstHalfMarkersarrayFirst-half event markers.
firstHalfMarkers[].idintegerMarker ID.
firstHalfMarkers[].actionIdinteger|nullAction ID.
firstHalfMarkers[].creatorIdinteger|nullCreator player ID.
firstHalfMarkers[].recipientIdinteger|nullRecipient player ID.
firstHalfMarkers[].matchIdintegerMatch ID.
firstHalfMarkers[].videoIdinteger|nullRelated video ID.
firstHalfMarkers[].coordXnumber|nullPitch X coordinate.
firstHalfMarkers[].coordYnumber|nullPitch Y coordinate.
firstHalfMarkers[].coordXDestinationnumber|nullDestination pitch X coordinate.
firstHalfMarkers[].coordYDestinationnumber|nullDestination pitch Y coordinate.
firstHalfMarkers[].gateCoordXnumber|nullGoal X coordinate.
firstHalfMarkers[].gateCoordYnumber|nullGoal Y coordinate.
firstHalfMarkers[].secondnumber|nullElapsed match time in seconds.
firstHalfMarkers[].bodyPartIdinteger|nullBody-part ID.
firstHalfMarkers[].setPieceIdinteger|nullSet-piece ID.
firstHalfMarkers[].attackIdinteger|nullAttack ID.
firstHalfMarkers[].possessionIdinteger|nullPossession ID.
firstHalfMarkers[].autoGeneratedbooleanWhether the marker was generated automatically.
firstHalfMarkers[].creatorTeamIdinteger|nullCreator team ID.
firstHalfMarkers[].possessionTeamIdinteger|nullTeam in possession when the event occurred.
firstHalfMarkers[].attackTeamIdinteger|nullTeam attacking when the event occurred.
firstHalfMarkers[].opponentIdinteger|nullOpposing player involved in the event.
firstHalfMarkers[].opponentTeamIdinteger|nullOpposing team involved in the event.
firstHalfMarkers[].touchesinteger|nullNumber of touches recorded for the event.
firstHalfMarkers[].qualifiersobject|nullProvider event qualifiers. Contains "map" (qualifier ID to value) and "raw" (the full qualifier list). Boolean qualifiers are present with a null value.
firstHalfMarkers[].actionobject|nullAction lookup with id and title.
firstHalfMarkers[].creatorobject|nullCreator player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
firstHalfMarkers[].recipientobject|nullRecipient player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
firstHalfMarkers[].setPieceobject|nullSet-piece lookup with id and title.
firstHalfMarkers[].attackobject|nullAttack lookup with id and name.
firstHalfMarkers[].possessionobject|nullPossession lookup with id and name.
firstHalfMarkers[].bodyPartobject|nullBody-part lookup with id and name.
firstHalfMarkers[].relativeCoordXnumber|nullTeam-relative pitch X coordinate.
firstHalfMarkers[].relativeCoordYnumber|nullTeam-relative pitch Y coordinate.
firstHalfMarkers[].relativeCoordXDestinationnumber|nullTeam-relative destination X coordinate.
firstHalfMarkers[].relativeCoordYDestinationnumber|nullTeam-relative destination Y coordinate.
firstHalfMarkers[].zonestring|nullDerived pitch zone.
firstHalfMarkers[].videoEventstring|nullVideo URL; only present on the Video API event endpoint.
secondHalfMarkersarraySecond-half event markers.
secondHalfMarkers[].idintegerMarker ID.
secondHalfMarkers[].actionIdinteger|nullAction ID.
secondHalfMarkers[].creatorIdinteger|nullCreator player ID.
secondHalfMarkers[].recipientIdinteger|nullRecipient player ID.
secondHalfMarkers[].matchIdintegerMatch ID.
secondHalfMarkers[].videoIdinteger|nullRelated video ID.
secondHalfMarkers[].coordXnumber|nullPitch X coordinate.
secondHalfMarkers[].coordYnumber|nullPitch Y coordinate.
secondHalfMarkers[].coordXDestinationnumber|nullDestination pitch X coordinate.
secondHalfMarkers[].coordYDestinationnumber|nullDestination pitch Y coordinate.
secondHalfMarkers[].gateCoordXnumber|nullGoal X coordinate.
secondHalfMarkers[].gateCoordYnumber|nullGoal Y coordinate.
secondHalfMarkers[].secondnumber|nullElapsed match time in seconds.
secondHalfMarkers[].bodyPartIdinteger|nullBody-part ID.
secondHalfMarkers[].setPieceIdinteger|nullSet-piece ID.
secondHalfMarkers[].attackIdinteger|nullAttack ID.
secondHalfMarkers[].possessionIdinteger|nullPossession ID.
secondHalfMarkers[].autoGeneratedbooleanWhether the marker was generated automatically.
secondHalfMarkers[].creatorTeamIdinteger|nullCreator team ID.
secondHalfMarkers[].possessionTeamIdinteger|nullTeam in possession when the event occurred.
secondHalfMarkers[].attackTeamIdinteger|nullTeam attacking when the event occurred.
secondHalfMarkers[].opponentIdinteger|nullOpposing player involved in the event.
secondHalfMarkers[].opponentTeamIdinteger|nullOpposing team involved in the event.
secondHalfMarkers[].touchesinteger|nullNumber of touches recorded for the event.
secondHalfMarkers[].qualifiersobject|nullProvider event qualifiers. Contains "map" (qualifier ID to value) and "raw" (the full qualifier list). Boolean qualifiers are present with a null value.
secondHalfMarkers[].actionobject|nullAction lookup with id and title.
secondHalfMarkers[].creatorobject|nullCreator player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
secondHalfMarkers[].recipientobject|nullRecipient player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
secondHalfMarkers[].setPieceobject|nullSet-piece lookup with id and title.
secondHalfMarkers[].attackobject|nullAttack lookup with id and name.
secondHalfMarkers[].possessionobject|nullPossession lookup with id and name.
secondHalfMarkers[].bodyPartobject|nullBody-part lookup with id and name.
secondHalfMarkers[].relativeCoordXnumber|nullTeam-relative pitch X coordinate.
secondHalfMarkers[].relativeCoordYnumber|nullTeam-relative pitch Y coordinate.
secondHalfMarkers[].relativeCoordXDestinationnumber|nullTeam-relative destination X coordinate.
secondHalfMarkers[].relativeCoordYDestinationnumber|nullTeam-relative destination Y coordinate.
secondHalfMarkers[].zonestring|nullDerived pitch zone.
secondHalfMarkers[].videoEventstring|nullVideo URL; only present on the Video API event endpoint.
firstExtraTimeMarkersarrayFirst extra-time event markers.
firstExtraTimeMarkers[].idintegerMarker ID.
firstExtraTimeMarkers[].actionIdinteger|nullAction ID.
firstExtraTimeMarkers[].creatorIdinteger|nullCreator player ID.
firstExtraTimeMarkers[].recipientIdinteger|nullRecipient player ID.
firstExtraTimeMarkers[].matchIdintegerMatch ID.
firstExtraTimeMarkers[].videoIdinteger|nullRelated video ID.
firstExtraTimeMarkers[].coordXnumber|nullPitch X coordinate.
firstExtraTimeMarkers[].coordYnumber|nullPitch Y coordinate.
firstExtraTimeMarkers[].coordXDestinationnumber|nullDestination pitch X coordinate.
firstExtraTimeMarkers[].coordYDestinationnumber|nullDestination pitch Y coordinate.
firstExtraTimeMarkers[].gateCoordXnumber|nullGoal X coordinate.
firstExtraTimeMarkers[].gateCoordYnumber|nullGoal Y coordinate.
firstExtraTimeMarkers[].secondnumber|nullElapsed match time in seconds.
firstExtraTimeMarkers[].bodyPartIdinteger|nullBody-part ID.
firstExtraTimeMarkers[].setPieceIdinteger|nullSet-piece ID.
firstExtraTimeMarkers[].attackIdinteger|nullAttack ID.
firstExtraTimeMarkers[].possessionIdinteger|nullPossession ID.
firstExtraTimeMarkers[].autoGeneratedbooleanWhether the marker was generated automatically.
firstExtraTimeMarkers[].creatorTeamIdinteger|nullCreator team ID.
firstExtraTimeMarkers[].possessionTeamIdinteger|nullTeam in possession when the event occurred.
firstExtraTimeMarkers[].attackTeamIdinteger|nullTeam attacking when the event occurred.
firstExtraTimeMarkers[].opponentIdinteger|nullOpposing player involved in the event.
firstExtraTimeMarkers[].opponentTeamIdinteger|nullOpposing team involved in the event.
firstExtraTimeMarkers[].touchesinteger|nullNumber of touches recorded for the event.
firstExtraTimeMarkers[].qualifiersobject|nullProvider event qualifiers. Contains "map" (qualifier ID to value) and "raw" (the full qualifier list). Boolean qualifiers are present with a null value.
firstExtraTimeMarkers[].actionobject|nullAction lookup with id and title.
firstExtraTimeMarkers[].creatorobject|nullCreator player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
firstExtraTimeMarkers[].recipientobject|nullRecipient player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
firstExtraTimeMarkers[].setPieceobject|nullSet-piece lookup with id and title.
firstExtraTimeMarkers[].attackobject|nullAttack lookup with id and name.
firstExtraTimeMarkers[].possessionobject|nullPossession lookup with id and name.
firstExtraTimeMarkers[].bodyPartobject|nullBody-part lookup with id and name.
firstExtraTimeMarkers[].relativeCoordXnumber|nullTeam-relative pitch X coordinate.
firstExtraTimeMarkers[].relativeCoordYnumber|nullTeam-relative pitch Y coordinate.
firstExtraTimeMarkers[].relativeCoordXDestinationnumber|nullTeam-relative destination X coordinate.
firstExtraTimeMarkers[].relativeCoordYDestinationnumber|nullTeam-relative destination Y coordinate.
firstExtraTimeMarkers[].zonestring|nullDerived pitch zone.
firstExtraTimeMarkers[].videoEventstring|nullVideo URL; only present on the Video API event endpoint.
secondExtraTimeMarkersarraySecond extra-time event markers.
secondExtraTimeMarkers[].idintegerMarker ID.
secondExtraTimeMarkers[].actionIdinteger|nullAction ID.
secondExtraTimeMarkers[].creatorIdinteger|nullCreator player ID.
secondExtraTimeMarkers[].recipientIdinteger|nullRecipient player ID.
secondExtraTimeMarkers[].matchIdintegerMatch ID.
secondExtraTimeMarkers[].videoIdinteger|nullRelated video ID.
secondExtraTimeMarkers[].coordXnumber|nullPitch X coordinate.
secondExtraTimeMarkers[].coordYnumber|nullPitch Y coordinate.
secondExtraTimeMarkers[].coordXDestinationnumber|nullDestination pitch X coordinate.
secondExtraTimeMarkers[].coordYDestinationnumber|nullDestination pitch Y coordinate.
secondExtraTimeMarkers[].gateCoordXnumber|nullGoal X coordinate.
secondExtraTimeMarkers[].gateCoordYnumber|nullGoal Y coordinate.
secondExtraTimeMarkers[].secondnumber|nullElapsed match time in seconds.
secondExtraTimeMarkers[].bodyPartIdinteger|nullBody-part ID.
secondExtraTimeMarkers[].setPieceIdinteger|nullSet-piece ID.
secondExtraTimeMarkers[].attackIdinteger|nullAttack ID.
secondExtraTimeMarkers[].possessionIdinteger|nullPossession ID.
secondExtraTimeMarkers[].autoGeneratedbooleanWhether the marker was generated automatically.
secondExtraTimeMarkers[].creatorTeamIdinteger|nullCreator team ID.
secondExtraTimeMarkers[].possessionTeamIdinteger|nullTeam in possession when the event occurred.
secondExtraTimeMarkers[].attackTeamIdinteger|nullTeam attacking when the event occurred.
secondExtraTimeMarkers[].opponentIdinteger|nullOpposing player involved in the event.
secondExtraTimeMarkers[].opponentTeamIdinteger|nullOpposing team involved in the event.
secondExtraTimeMarkers[].touchesinteger|nullNumber of touches recorded for the event.
secondExtraTimeMarkers[].qualifiersobject|nullProvider event qualifiers. Contains "map" (qualifier ID to value) and "raw" (the full qualifier list). Boolean qualifiers are present with a null value.
secondExtraTimeMarkers[].actionobject|nullAction lookup with id and title.
secondExtraTimeMarkers[].creatorobject|nullCreator player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
secondExtraTimeMarkers[].recipientobject|nullRecipient player profile. Its starter is whether the player started the match, the same value the squad endpoint publishes.
secondExtraTimeMarkers[].setPieceobject|nullSet-piece lookup with id and title.
secondExtraTimeMarkers[].attackobject|nullAttack lookup with id and name.
secondExtraTimeMarkers[].possessionobject|nullPossession lookup with id and name.
secondExtraTimeMarkers[].bodyPartobject|nullBody-part lookup with id and name.
secondExtraTimeMarkers[].relativeCoordXnumber|nullTeam-relative pitch X coordinate.
secondExtraTimeMarkers[].relativeCoordYnumber|nullTeam-relative pitch Y coordinate.
secondExtraTimeMarkers[].relativeCoordXDestinationnumber|nullTeam-relative destination X coordinate.
secondExtraTimeMarkers[].relativeCoordYDestinationnumber|nullTeam-relative destination Y coordinate.
secondExtraTimeMarkers[].zonestring|nullDerived pitch zone.
secondExtraTimeMarkers[].videoEventstring|nullVideo URL; only present on the Video API event endpoint.
messagestringPresent instead of the feed when the match has no usable events. The response is still 200; the fields below say why.
eventsAvailablebooleanFalse when no event feed exists for this match. Absent when the feed is returned.
statusMessagestringPlain-language reason there is no feed, derived from matchStatus.
matchStatusinteger|nullDelivery state of the match, alongside message. Same values as match.matchStatus.
matchStatusLabelstring|nullDelivery state as a name, alongside message.
matchStatusReasonstring|nullWhy the match will not be delivered or is paused, alongside message.
matchStatusUpdatedAtstring|nullUTC timestamp of the last delivery-state change, alongside message.
hasFinalScorebooleanWhether a final score exists for the match, alongside message.
metaobjectPagination metadata.
meta.currentPageintegerCurrent page number.
meta.perPageintegerRequested page size.
meta.totalintegerTotal number of matching records.
meta.lastPageintegerLast available page number.
meta.frominteger|nullPosition of the first item on this page.
meta.tointeger|nullPosition of the last item on this page.
linksobjectPagination URLs.
links.firststringURL of the first page.
links.laststringURL of the last page.
links.previousstring|nullURL of the previous page, when available.
links.nextstring|nullURL of the next page, when available.