American Football Match Events V2 (old)
- 1 Feed Match Event
- 2 Feed Match Action
- 3 Actions
- 3.1 Fumble
- 3.2 PassAttempt (called Pass in v1)
- 3.3 IncompletePass
- 3.4 CompletePass
- 3.5 Interception
- 3.6 FieldGoal
- 3.7 FieldGoalAttempt
- 3.8 FieldGoalBlocked
- 3.9 TimeoutsRemaining
- 3.10 Timeout
- 3.11 Snap
- 3.12 Touchdown
- 3.13 Single
- 3.14 Run
- 3.15 RunAfterCatch
- 3.16 Kneel
- 3.17 Tackle
- 3.18 Comment
- 3.19 NextPlay
- 3.20 Safety
- 3.21 OnePointSafety
- 3.22 ClockSet
- 3.23 ClockStarted
- 3.24 ClockStopped
- 3.25 CoinToss
- 3.26 ConversionAttempt
- 3.27 OnePointConversion
- 3.28 TwoPointsConversion
- 3.29 OutOfBounds
- 3.30 Touchback
- 3.31 Penalty
- 3.32 Return
- 3.33 Down
- 3.34 Sack
- 3.35 KickOff
- 3.36 Possession
- 3.37 YardsToEndzone
- 3.38 MatchStatusChanged
- 3.39 PeriodChanged
- 3.40 Punt
- 3.41 Risks
- 3.42 FairCatch
- 3.43 Challenge
- 3.44 Lateral
- 4 Other Match Events
- 4.1 Reliability
- 4.2 CurrentLineup
- 4.3 Muff
- 4.4 Recovery
- 5 Players
Feed Match Event
Example Ably LiveAccess URL: https://platform.matchstate.api.geniussports.com/api/v1/sources/GeniusPremium/sports/17/fixtures/10173048/liveaccess/matchevents?sportApiVersion=v2
{
"SportId": 17,
"FixtureId": "91143158",
"Source": "GeniusPremiumReplay",
"SequenceId": 1606,
"ActionId": 839,
"InsertedBeforeActionId": null,
"IsCancelled": false,
"IsConfirmed": false,
"IsModified": true,
"Action": {},
"MessageTimestampUtc": "2022-05-19T10:31:24.0121616Z"
}
Element | Type | Description |
---|---|---|
| Integer | Sport Identifier (17 for American Football) |
| String | Unique fixture identifier |
| String | Feed Provider information |
| Integer | Sequence Id of feed match events |
| Integer | Unique match action identifier |
| Integer | Identifier used to specify before which action Id this specific action was inserted (in case this insertion is done before previously published match events) |
| boolean | Indicates whether the action is cancelled |
| boolean | Indicates whether the action is confirmed |
| boolean | Indicates whether the action is modified |
| Match action array | Consists of Match Action data properties |
| String($date-time) | Timestamp of the message |
Feed Match Action
NOTE: All Feed Match Actions includes the following additional fields (hence it’s not copy-pasted to every action described below).
"Team": "Away",
"GameTime": "00:00:00",
"Period": {
"Number": 1,
"ProgressStatus": "NotStarted",
"Type": "Regular"
},
"UtcTimestamp": "2022-05-19T09:24:26.7008204Z"
Element | Type | Description |
---|---|---|
| string($x-extensible-enum) [ None, Home, Away ] | Team data |
| string($date-span) | Game time data |
| Period array | Period in the game data |
| integer($int32) | Period number |
| string($x-extensible-enum) [ NotStarted, InProgress, Complete ] | Period progress status |
| string($x-extensible-enum) [ Regular, Overtime ] | Period type data |
| string($date-time) | Timestamp of the message |
Actions
NOTE: All Feed Match Actions consist of Feed Match Event + Feed Match Action + Action data properties
Fumble
"subtype": null,
"yards": 33,
"yardLine": {
"yards": 33,
"sideOfPitch": "Home"
},
"teamInPossession": "None",
"isNullified": false,
"players": [
{
"id": "1014921",
"type": "Fumbled"
}
],
"team": "Home",
"gameTime": "00:00:00",
"period": null,
"utcTimestamp": "2023-10-23T00:45:16.9535449Z"
Element | Type | Description |
---|---|---|
| Player array | Player data |
| string($x-extensible-enum) | Indicates second level of action description |
|
| Indicates where fumble action on the field happened |
| integer($int32) | Unique player Id |
| string | Type of action performed by the player |
| integer($int32) | Yards where the ball was recovered/fumbled |
| string($x-extensible-enum) [ None, Home, Away ] | Team in possession |
PassAttempt (called Pass in v1)
{
"Players": [
{
"Id": "493258",
"Name": "Passer"
}
]
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
IncompletePass
{
"Players": [
{
"Id": "493258",
"Name": "Passer"
}
]
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
CompletePass
{
"Players": [
{
"Id": "493258",
"Name": "Passer"
}
],
"Yards": 11
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
| integer($int32) | Indicates Air Yards + Yards after catch |
Interception
{
"Players": [
{
"Id": "493258",
"Name": "Passer"
}
]
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
FieldGoal
{
"IsMade": true,
"IsNullified": false,
"Yards": 23,
"Players": [
{
"Id": "493258",
"Name": "Kicker"
}
]
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether FG was made |
| boolean | Indicates whether this action was nullified |
| integer($int32) | Indicates yards from there the FG was taken |
| Players array | Player data |
FieldGoalAttempt
{
"Players": [
{
"Id": "493258",
"Name": "Kicker"
}
],
"IsNullified": false
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
| boolean | Indicates whether this action was nullified |
FieldGoalBlocked
{
"Players": [
{
"Id": "493258",
"Name": "Kicker"
}
],
"IsNullified": false
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
|
|
|
TimeoutsRemaining
{
"Away": 2,
"Home": 3
}
Element | Type | Description |
---|---|---|
| integer($int32) | Number of timeouts remaining for away team |
| integer($int32) | Number of timeouts remaining for home team |
Timeout
{
}
No player or yards data. Just an event to record a timeout fact.
Snap
{
"IsConfirmed": false
}
Element | Type | Description |
---|---|---|
| boolean | Indicates if it is confirmed or not |
Touchdown
{
"IsNullified": false,
"Players": [
{
"Id": "493258",
"Name": "Scorer"
}
]
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was nullified |
| Players array | Player data |
Single
{
"IsNullified": false,
"Players": [
{
"Id": "493258",
"Name": "Kicker"
}
]
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was nullified |
| Player data array | Kicker player data |
| integer($int32) | Unique kicker Id |
| string | two possible values: “Kicker” or null |
Run
{
"Yards": 2,
"Players": [
{
"Id": "835822",
"Type": "Runner"
}
]
}
Element | Type | Description |
---|---|---|
| integer($int32) | Indicates how many yards a player rushed |
| Players array | Player data |
RunAfterCatch
{
"Yards": 2,
"Players": [
{
"Id": "835822",
"Type": "Runner"
}
]
}
Element | Type | Description |
---|---|---|
| integer($int32) | Indicates how many yards a player rushed |
| Players array | Player data |
Kneel
{
"Players": [
{
"Id": "835822",
"Type": "Runner"
}
],
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
Tackle
{
"Players": [
{
"Id": "835822",
"Type": "Tackler"
}
],
"Yards": null
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
| integer($int32) | Indicates where the tackle happened |
Comment
{
"Text": "2-Minute Warning"
}
Element | Type | Description |
---|---|---|
| string | Comments provided by Feed Prodiver |
NextPlay
{
"Type": "Snap",
"LineOfScrimmage": {
"ScrimmageYard": 40,
"SideOfPitch": "Away"
},
"DownNumber": 1,
"YardsToGo": 10,
"IsConfirmed": true
"Team": "Home"
}
Element | Type | Description |
---|---|---|
| string($x-extensible-enum) [ Snap, Kickoff, Pat ] | Next Play Type |
| LOS data array | LOS data |
| integer($int32) | Scrimmage Yard Line |
| string($x-extensible-enum) [ None, Home, Away ] | Indicates the side of the pitch if it’s home or away |
| integer($int32) | Number of the next Down |
| integer($int32) | Yards to go for successful |
| boolean | Indicates if it is confirmed or not |
| string($x-extensible-enum) [ None, Home, Away ] | Team data |
Safety
{
IsNullified: false,
"Players": [],
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was nullified |
| Players array | Player data |
OnePointSafety
{
IsNullified: false,
"Players": [],
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was nullified |
| Players array | Player data |
ClockSet
{
}
No player or yards data. Just an event to record a clock set fact.
ClockStarted
{
}
No player or yards data. Just an event to record a clock start fact.
ClockStopped
{
}
No player or yards data. Just an event to record a clock stop fact.
CoinToss
{
"WinnerTeam": null,
"WasDeferred": false,
"AwayChoice": "Receive",
"HomeChoice": "EastEndZone",
}
Element | Type | Description |
---|---|---|
| integer($int32) | team Id |
| boolean | Indicates whether choice deferred or not |
| string($x-extensible-enum) [ Kick, Receive, EndZone, NorthEndZone, EastEndZone, SouthEndZone, WestEndZone ] | Indicates the away team choice from the available options. |
| string($x-extensible-enum) [ Kick, Receive, EndZone, NorthEndZone, EastEndZone, SouthEndZone, WestEndZone ] | Indicates the home team choice from the available options. |
ConversionAttempt
{
"Type": "TwoPoints",
"IsNullified": false
}
Element | Type | Description |
---|---|---|
| string($x-extensible-enum) [ Unknown, OnePoint, TwoPoints ] | Indicated the type of conversion attempt play |
| boolean | Indicates whether this action was nullified |
OnePointConversion
{
"IsMade": true,
"IsNullified": false,
"Players": [
{
"Id": "835822",
"Type": "Tackler"
}
]
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was made or not |
| boolean | Indicates whether this action was nullified |
| Players array | Player data |
TwoPointsConversion
{
"IsMade": false,
"Players": [
{
"Id": "835822",
"Type": "Tackler"
}
],
"IsNullified": false
}
Element | Type | Description |
---|---|---|
| boolean | Indicates whether this action was made or not |
| Players array | Player data |
| boolean | Indicates whether this action was nullified |
OutOfBounds
{
"Yards": null,
"Players": [],
}
Element | Type | Description |
---|---|---|
| integer($int32) | Indicates the yard line where out of bounds happened |
| Players array | Player data |
Touchback
{
"Players": [],
}
Element | Type | Description |
---|---|---|
| Players array | Player data |
Penalty
{
"type": "DefensiveOffside",
"yards": 5,
"outcome": "Accepted",
"yardLines": [
{
"type": "Placement",
"yards": 39,
"sideOfPitch": "Home"
}
],
"enforcementSpot": "PreviousSpot",
"nextDown": "Repeats",
"players": [
{
"id": "1006731",
"type": "Unknown"
}
}
Element | Type | Description |
---|---|---|
| string($x-extensible-enum) Unknown, BlockBelowWaist, BlockingOutOfBounds, ChopBlock, Clipping, ContactingTheKicker, CutBlocking, Defensive12OnField, DefensiveDelayOfGame, DefensiveHolding, DefensiveOffside, DefensivePassInterference, DefensiveTooManyMenOnField, DelayOfGame, DelayOfKickoff, DisconcertingSignals, Disqualification, Encroachment, EquipmentViolation, FaceMask, FairCatchInterference, FalseStart, Fighting, Holding, HoldingReturn, HorseCollarTackle, Hurdling, IllegalBat, IllegalBlindsideBlock, IllegalBlock, IllegalBlockAboveTheWaist, IllegalBlockAboveWaist, IllegalBlockAfterFcSignal, IllegalBlockInBack, IllegalBlockOnReturn, IllegalContact, IllegalContactWithSnapper, IllegalCrackback, IllegalCut, IllegalDoubleTeamBlock, IllegalDownfieldOnKick, IllegalFormation, IllegalForwardPass, IllegalInterferenceCover, IllegalInterferenceOnLooseBall, IllegalKickoff, IllegallyKickingBall, IllegalMotion, IllegalParticipation, IllegalPeelback, IllegalPunt, IllegalShift, IllegalSnap, IllegalSubstitution, IllegalTouchKick, IllegalTouchOfKick, IllegalTouchPass, IllegalUseOfHands, IllegalWedge, IneligibleDownfieldKick, IneligibleDownfieldOnPass, IneligibleDownfieldPass, IneligibleReceiver, IntentionalGrounding, InterferenceWithOpportunityToCatch, InvalidFairCatchSignal, KickCatchInterference, KickoffOutOfBounds, Leaping, Leverage, LowBlock, LoweringHeadToInitiateContact, NeutralZoneInfraction, NoYards15, NoYards5, ObjectionableConduct, Offensive12OnField, OffensiveHolding, OffensiveOffside, OffensivePassInterference, OffensiveTooManyMenOnField, Offside, OffsideOnFreeKick, PassInterference, PersonalFoul, PhysicalAbuseOnOfficial, PilingOn, PlayerOutOfBoundsOnKick, PlayerOutOfBoundsOnPunt, ProcedureGeneral, ProcedureIllegalFormation, ProcedureNoEnd, PushBlocking, Pyramiding, ReturnFromOutOfBounds, RoughingHolder, RoughingTheKicker, RoughingThePasser, RoughPlay, RunningIntoHolder, RunningIntoTheKicker, ShortFreeKick, SidelineInterference, Spearing, Targeting, Taunting, TimeCountAfter3MinuteWarningIntentional, TimeCountAfter3MinuteWarningLoss10Yards, TimeCountAfter3MinuteWarningLossDown, TimeCountAfter3MinuteWarningUnintentional, TimeCountBefore3MinuteWarning, TooManyPlayers, Tripping, UnnecessaryRoughness, UnnecessaryRoughnessMajorGrade2, UnsportsmanlikeConduct | Penalty type |
| integer($int32) | Indicates the amount of yards team was penalized based on the penalty type |
| string($x-extensible-enum) Unknown, Accepted, Declined, Offsetting, Superseded | Outcome of the penalty |
| Yardlines array | Indicates enforcement and placement yardlines of the penalty if both available. |
| string($x-extensible-enum) Unknown, Accepted, Declined, Offsetting, Superseded | Indicates where the penalty is enforced from. Available options: [Unknown, DeadBall, OtherSpot, PreviousSpot, SuccedingSpot] |
| string($x-extensible-enum) Unknown, Accepted, Declined, Offsetting, Superseded | Indicates if penalty results in firstDown, LossOfDown or down Repeats. Available options: [Unknown, First, Repeats, LossOfDown] |
| Players array | Player data |
Return
{
"Yards": 28,
"Players": [
{
"Id": "835822",
"Type": "Returner"
}
],
}
Element | Type | Description |
---|---|---|
| integer($int32) | Indicates the yards gained |
| Players array | Player data |
Down
{
"Number": 2,
"YardsToGo": 8,
"ScrimmageYard": 22,
"EndedAtGameTime": null,
"EndedAtUtc": null,
"Description": "(14:23) (No Huddle) D.Dallas right guard to SEA 25 for 3 yards (Jon.Allen)."
}
Element | Type | Description |
---|---|---|
| integer($int32) | Number of the Down in a Play |
| integer($int32) | Indicates yards to go for a successful down |