Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

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

Code Block
{
    "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

sportId

Integer

Sport Identifier (17 for American Football)

fixtureId

String

Unique fixture identifier

source

String

Feed Provider information

sequenceId

Integer

Sequence Id of feed match events

actionId

Integer

Unique match action identifier

insertedBeforeActionId

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)

isCancelled

boolean

Indicates whether the action is cancelled

isConfirmed

boolean

Indicates whether the action is confirmed

isModified

boolean

Indicates whether the action is modified

action

Match action array

Consists of Match Action data properties

messageTimestampUtc

String($date-time)

Timestamp of the message

Feed Match Action

Info

NOTE: All Feed Match Actions includes the following additional fields (hence it’s not copy-pasted to every action described below).

Code Block
"action":{
   "team":"Home",
   "gameTime":"00:10:00",
   "period": {
      "number": 1,
      "progressStatus": "NotStarted",
      "type": "Regular"
   },
   "utcTimestamp":"2023-09-24T18:19:09.5924521Z"
}

Element

Type

Description

team

string($x-extensible-enum)

[ None, Home, Away ]

Team data

gameTime

string($date-span)

Game time data

period

Period array

Period in the game data

number

integer($int32)

Period number

progressStatus

string($x-extensible-enum)

[ NotStarted, InProgress, Complete ]

Period progress status

type

string($x-extensible-enum)

[ Regular, Overtime ]

Period type data

utcTimestamp

string($date-time)

Timestamp of the message

Actions

Info

NOTE: All Feed Match Actions consist of Feed Match Event + Feed Match Action + Action data properties

Fumble

Code Block
"action": {
  "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Fumble, GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
  "subtype": FumbledSnap,
  "yards": 45,
  "yardLine": {
    "yards": 45,
    "sideOfPitch": "Away"
  },
  "teamInPossession": "None",
  "isNullified": false,
  "players": [
    {
      "id": "999739",
      "type": "Fumbled"
    }
  ]
}

Element

Type

Description

$type

string
[GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Fumble, GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents]

players

Player array

Player data

subtype

string($x-extensible-enum)
[Unknown, FumbledSnap, FumbledHandoff, Tackled, PushedOutOfBounds, RanOutOfBounds, Onside, Advanced, NotAdvanced]

Indicates second level of action description

yardline

Indicates where fumble action on the field happened

id

integer($int32)

Unique player Id

type

string

Type of action performed by the player

yards

integer($int32)

Yards where the ball was recovered/fumbled

teamInPossession

string($x-extensible-enum)
[None, Home, Away]

Team in possession

PassAttempt (called Pass in v1)

Code Block
"action":{
   "$type":"GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.PassAttempt, GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
   "isNullified":false,
   "players":[
      {
         "id":"1072633",
         "type":"Passer"
      },
      {
         "id":"999739",
         "type":"Receiver"
      }
   ]
}

Element

Type

Description

$type

string
[GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.PassAttempt, GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents]

players

Players array

Player data

isNullified

boolean

Indicates whether this action is nullified

IncompletePass

Code Block
        {
            "players": [
                {
                    "id": "493258",
                    "name": "Passer"
                }
            ]
        }

Element

Type

Description

players

Players array

Player data

CompletePass

Code Block
		{
			"players": [
                {
                    "id": "493258",
                    "name": "Passer"
                }
            ],
            "yards": 11
		}

Element

Type

Description

players

Players array

Player data

yards

integer($int32)

Indicates Air Yards + Yards after catch

Interception

Code Block
		{
            "players": [
                {
                    "id": "493258",
                    "name": "Passer"
                }
            ]
        }

Element

Type

Description

players

Players array

Player data

FieldGoal

Code Block
		    "action": {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.FieldGoal, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "isMade": true,
            "isNullified": false,
            "yards": 55,
            "yardLine": null,
            "players": [
                {
                    "id": "1080636",
                    "type": "Kicker"
                }
            ]

Element

Type

Description

isMade

boolean

Indicates whether FG was made

isNullified

boolean

Indicates whether this action is nullified

yards

integer($int32)

Indicates yards from there the FG was taken

players

Players array

Player data

FieldGoalAttempt

Code Block
            "action": {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.FieldGoalAttempt, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "isNullified": false,
            "yardLine": null,
            "players": [
                {
                    "id": "1080636",
                    "type": "Kicker"
                }
            ]

Element

Type

Description

players

Players array

Player data

isNullified

boolean

Indicates whether this action was nullified

FieldGoalBlocked

Code Block
		{
		   "players": [
                {
                    "id": "493258",
                    "name": "Kicker"
                }
            ],
            "isNullified": false
        }

Element

Type

Description

Players

Players array

Player data

IsNullified

boolean

Indicates whether this action was nullified

TimeoutsRemaining

Code Block
	        "action": {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.TimeoutsRemaining, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "away": 3,
            "home": 2
...

Element

Type

Description

away

integer($int32)

Number of timeouts remaining for away team

home

integer($int32)

Number of timeouts remaining for home team

Timeout

Code Block
            "action": {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Timeout, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "team": "Home",
            "gameTime": "00:01:03",
            "period": {
                "number": 2,
                "progressStatus": "NotStarted",
                "type": "Regular"
            },
            "utcTimestamp": "2024-07-16T08:32:39.3504345Z"
        },
        "messageTimestampUtc": "2024-07-16T08:32:42.0264411Z"
    }

No player or yards data. Just an event to record a timeout fact.

Snap

Code Block
		    "action": {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Snap, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "isConfirmed": false,
...

Element

Type

Description

isConfirmed

boolean

Indicates if it is confirmed or not

Touchdown

Code Block
	     {
  "action": {
       
    "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Touchdown, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
       
    "isNullified": false,

           "players": [
         
      {
           
        "id": "998787",
           
        "type": "Scorer"
      }
      ]
  }
            ],
   
        "team": "Away",
            "gameTime": "00:00:00",
            "period": null,
            "utcTimestamp": "2024-07-16T08:25:59.8153918Z"
        },
        "messageTimestampUtc": "2024-07-16T08:26:00.0000787Z"
    "messageTimestampUtc": "2024-07-16T08:26:17.6969013Z"
}

Element

Type

Description

isNullified

boolean

Indicates whether this action was nullified

players

Players array

Player data

Single

Code Block
		{
            "isNullified": false,
            "players": [
                {
                    "id": "493258",
                    "name": "Kicker"
                }
            ]
        }

Element

Type

Description

isNullified

boolean

Indicates whether this action was nullified

players

Player data array

Kicker player data

id

integer($int32)

Unique kicker Id

name

string

two possible values: “Kicker” or null

Run

Code Block
	{
           "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Run, 
                     GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
           "yards": null,
           "isNullified": false,
           "players": [
               {
                   "id": "998871",
                   "type": "Runner"
               }
           ]
       }

Element

Type

Description

yards

integer($int32)

Indicates how many yards a player rushed

players

Players array

Player data

RunAfterCatch

Code Block
	{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.RunAfterCatch, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "yards": 26,
            "isNullified": false,
            "players": [
                {
                    "id": "998787",
                    "type": "Runner"
                }
            ]
    }

Element

Type

Description

yards

integer($int32)

Indicates how many yards a player rushed

players

Players array

Player data

Kneel

Code Block
	   {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Kneel, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "yards": null,
            "isNullified": false,
            "yardLine": null,
            "players": [
                {
                    "id": "1072679",
                    "type": "Runner"
                }
            ]
    }

Element

Type

Description

players

Players array

Player data

Tackle

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Tackle, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "yards": null,
            "yardLine": {
                "yards": 22,
                "sideOfPitch": "Away"
            },
            "isNullified": false,
            "players": [
                {
                    "id": "941270",
                    "type": "Tackler"
                }
            ]
    }

Element

Type

Description

players

Players array

Player data

yards

integer($int32)

Indicates where the tackle happened

Comment

Code Block
	 {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Comment, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
			"text": "2-Minute Warning"
		}

Element

Type

Description

text

string

Comments provided by Feed Prodiver

NextPlay

Code Block
{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.NextPlay, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "type": null,
            "lineOfScrimmage": {
                "scrimmageYard": 24,
                "sideOfPitch": "Home"
            },
            "downNumber": 2,
            "yardsToGo": 13,
            "isConfirmed": false,
            "team": "Home"
}

Element

Type

Description

type

string($x-extensible-enum)

[ Snap, Kickoff, Pat ]

Next Play Type

lineOfScrimmage

LOS data array

LOS data

scrimmageYard

integer($int32)

Scrimmage Yard Line

sideOfPitch

string($x-extensible-enum)

[ None, Home, Away ]

Indicates the side of the pitch if it’s home or away

downNumber

integer($int32)

Number of the next Down

yardsToGo

integer($int32)

Yards to go for successful

isConfirmed

boolean

Indicates if it is confirmed or not

team

string($x-extensible-enum)

[ None, Home, Away ]

Team data

Safety

Code Block
		{
			isNullified: false,
			"players": [],
		}

Element

Type

Description

isNullified

boolean

Indicates whether this action was nullified

players

Players array

Player data

OnePointSafety

Code Block
		{
			isNullified: false,
			"players": [],
		}

Element

Type

Description

isNullified

boolean

Indicates whether this action was nullified

players

Players array

Player data

ClockSet

Code Block
{
}

No player or yards data. Just an event to record a clock set fact.

ClockStarted

Code Block
{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.ClockStarted, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents"
}

No player or yards data. Just an event to record a clock start fact.

ClockStopped

Code Block
{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.ClockStopped, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents"
}

No player or yards data. Just an event to record a clock stop fact.

CoinToss

Code Block
	{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.CoinToss, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "winnerTeam": "Away",
            "wasDeferred": false,
            "awayChoice": "Receive",
            "homeChoice": null,
    }

Element

Type

Description

WinnerTeamwinnerTeam

integer($int32)

team Id

WasDeferredwasDeferred

boolean

Indicates whether choice deferred or not

AwayChoiceawayChoice

string($x-extensible-enum)

[ Kick, Receive, EndZone, NorthEndZone, EastEndZone, SouthEndZone, WestEndZone ]

Indicates the away team choice from the available options.

HomeChoicehomeChoice

string($x-extensible-enum)

[ Kick, Receive, EndZone, NorthEndZone, EastEndZone, SouthEndZone, WestEndZone ]

Indicates the home team choice from the available options.

ConversionAttempt

Code Block
		{
			"Type            "$type": "TwoPoints",GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.ConversionAttempt, 
             "IsNullified": false
		}

Element

Type

Description

Type

string($x-extensible-enum)

[ Unknown, OnePoint, TwoPoints ]

Indicated the type of conversion attempt play

IsNullified

boolean

Indicates whether this action was nullified

OnePointConversion

Code Block
		{
			"IsMade": true         GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "IsNullifiedtype": false"OnePoint",
            "PlayersisNullified": [
				{
					"Id": "835822",
					"Type": "Tackler"
				}
			]
		}

Element

Type

Description

IsMade

boolean

Indicates whether this action was made or not

IsNullified

boolean

Indicates whether this action was nullified

Players

Players array

Player data

TwoPointsConversion

Code Block
		{
			"IsMade": falsefalse,
            "yardLine": null,
            "Playersplayers": [
				{
					"Id": "835822",
					"Type
                {
                    "id": "Tackler"
				}
			],1080636",
                    "IsNullified": falsetype": "Kicker"
                }
            ],
		}

Element

Type

Description

IsMade

type

string($x-extensible-enum)

[ Unknown, OnePoint, TwoPoints ]

Indicated the type of conversion attempt play

isNullified

boolean

Indicates whether this action was

made or not

Players

Players array

Player data

IsNullified

boolean

Indicates whether this action was nullified

OutOfBounds

nullified

OnePointConversion

Code Block
		{
			"Yards": null
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.OnePointConversion, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "PlayersisMade": [],
		}

Element

Type

Description

Yards

integer($int32)

Indicates the yard line where out of bounds happened

Players

Players array

Player data

Touchback

Code Block
		{
			"Players": [],
		}

Element

Type

Description

Players

Players array

Player data

Penalty

Code Block
		{
	 "type": "DefensiveOffside"true,
            "isNullified": false,
            "yardsplayers": 5,[
            "outcome": "Accepted",   {
         "yardLines": [                 {"id": "1080636",
                    "type": "PlacementKicker",
                }
   "yards": 39,        ]
       }

Element

Type

Description

isMade

boolean

Indicates whether this action was made or not

isNullified

boolean

Indicates whether this action was nullified

players

Players array

Player data

TwoPointsConversion

Code Block
		{
      "sideOfPitch": "Home"     "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.TwoPointsConversion, 
         }             ]GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "enforcementSpotisMade": "PreviousSpot"false,
            "nextDownisNullified": "Repeats"false,
            "players": [
                {
                    "id": "10067311075217",
                    "type": "UnknownRecoverer"
                }
		
            ],
    }

Element

Type

Description

Type

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

Yards

integer($int32)

Indicates the amount of yards team was penalized based on the penalty type

Outcome

string($x-extensible-enum)

Unknown, Accepted, Declined, Offsetting, Superseded

Outcome of the penalty

YardLines

Yardlines array

Indicates enforcement and placement yardlines of the penalty if both available.

EnforcementSpot

string($x-extensible-enum)

Unknown, Accepted, Declined, Offsetting, Superseded

Indicates where the penalty is enforced from. Available options: [Unknown, DeadBall, OtherSpot, PreviousSpot, SuccedingSpot]

NextDown

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

Players array

Player data

Return

Code Block { "Yards": 28,

isMade

boolean

Indicates whether this action was made or not

players

Players array

Player data

isNullified

boolean

Indicates whether this action was nullified

OutOfBounds

Code Block
		{
			"yards": null,
            "players": [],
		}

Element

Type

Description

yards

integer($int32)

Indicates the yard line where out of bounds happened

players

Players array

Player data

Touchback

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Touchback, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "isNullified": false,
            "players": null
		}

Element

Type

Description

players

Players array

Player data

Penalty

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Penalty, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "type": "DefensiveOffside",
            "yards": 5,
            "outcome": "Accepted",
            "yardLines": [
                {
                    "type": "Placement",
                    "yards": 22,
                    "sideOfPitch": "Away"
                }
            ],
            "enforcementSpot": "PreviousSpot",
            "nextDown": "Repeats",
            "players": [
                {
                    "id": "1014528",
                    "type": "Unknown"
                }
            ],
    }

Element

Type

Description

type

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

yards

integer($int32)

Indicates the amount of yards team was penalized based on the penalty type

outcome

string($x-extensible-enum)

Unknown, Accepted, Declined, Offsetting, Superseded

Outcome of the penalty

yardLines

Yardlines array

Indicates enforcement and placement yardlines of the penalty if both available.

enforcementSpot

string($x-extensible-enum)

Unknown, Accepted, Declined, Offsetting, Superseded

Indicates where the penalty is enforced from. Available options: [Unknown, DeadBall, OtherSpot, PreviousSpot, SuccedingSpot]

nextDown

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

Players array

Player data

Return

Code Block
	{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Return, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "yards": null,
            "yardLine": {
                "yards": 1,
                "sideOfPitch": "Home"
            },
            "isNullified": false,
            "subtype": null,
            "players": [
                {
                    "id": "1013138",
                    "type": "Returner"
                }
            ],
    }

Element

Type

Description

yards

integer($int32)

Indicates the yards gained

players

Players array

Player data

Down

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Down, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "number": 2,
            "yardsToGo": 1,
            "scrimmageYard": 34,
            "endedAtGameTime": null,
            "endedAtUtc": null,
            "description": "(1:37) (No Huddle, Shotgun) 15-P.Mahomes scrambles ran ob at KC 37 for 3 yards (54-F.Warner).",
    }

Element

Type

Description

number

integer($int32)

Number of the Down in a Play

yardsToGo

integer($int32)

Indicates yards to go for a successful down

scrimmageYard

integer($int32)

Scrimmage Yard line

endedAtGameTime

string($date-span)

game clock data

endedAtUtc

string($date-span)

time of the day

description

string

Description by Feed Provider

Sack

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Sack, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "subtype": "Tackled",
            "yards": 0,
            "isNullified": false,
            "yardLine": null,
            "players": [
                {
                    "id": "998871",
                    "type": "Tackled"
                }
            ],
    }

Element

Type

Description

yards

integer($int32)

Indicates yards behind the Scrimmage Line

players

Players array

Player data

KickOff

Code Block
          {
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.KickOff, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "subtype": null,
            "yards": 65,
            "isNullified": false,
            "players": [
                {
                 "Players": [ 				{ 					"Idid": "8358221080636",
					"Type
                    "type": "Returner"
				}
			],
		Kicker"
                }
            ]
    }

Element

Type

Description

Yards

yards

integer($int32)

Indicates

the yards gainedPlayers

how far (in terms of yards) the ball was kicked

players

Players array

Player data

Down

Possession

Code Block
		{
			"Number": 2,
            "YardsToGo$type": 8,"GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Possession, 
                      "ScrimmageYard": 22,GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
}

No player or yards data. Just an event to record a possession of the ball fact.

YardsToEndzone

Code Block
		{
            "EndedAtGameTime$type": null"GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.YardsToEndzone, 
           "EndedAtUtc": null,             "Description": "(14:23) (No Huddle) D.Dallas right guard to SEA 25 for 3 yards (Jon.Allen)."		GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "value": 65
		}

Element

Type

Description

Number

YardsToGo

integer($int32)

value

integer($int32)

Number of the Down in a Play

Indicates yards to

go for a successful down

ScrimmageYard

integer($int32)

Scrimmage Yard line

EndedAtGameTime

string($date-span)

game clock data

EndedAtUtc

string($date-span)

time of the day

Description

string

Description by Feed Provider

Sack

Code Block { "Yards": -4,

End Zone

MatchStatusChanged

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.MatchStatusChanged, 
                "Players": [
				{
					"Id": "835822",
					"Type      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "matchStatus": "TackledInProgress",
				}
			]
		}

Element

Type

Description

Yards

integer($int32)

Indicates yards behind the Scrimmage Line

Players

Players array

Player data

KickOff

Code Block

matchStatus

string($x-extensible-enum)

[ Unknown, NotStarted, Warmup, InProgress, Postponed, Finished, Interrupted, CoverageStopped, Abandoned, Cancelled, Delayed ]

Indicates match status

PeriodChanged

Code Block
{
            "subtype$type": null"GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.PeriodChanged, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
}

No player or yards data. Just an event to record a period change fact.

Punt

Code Block
		{
            "$type": null"GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Punt, 
           "isNullified": false,          GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
  "players": [         "yards": null,
      {        "isNullified": false,
            "idplayers": "998755",[
                {
   "type": "Kicker"                 }

Element

Type

Description

Yards

integer($int32)

Indicates how far (in terms of yards) the ball was kicked

Players

Players array

Player data

Possession

Code Block
{
}

No player or yards data. Just an event to record a possession of the ball fact.

YardsToEndzone

Code Block
		{
			"Value": 76
		}

Element

Type

Description

Value

integer($int32)

Indicates yards to End Zone

MatchStatusChanged

Code Block
		{
			"MatchStatus": "Finished"
		}

Element

Type

Description

MatchStatus

string($x-extensible-enum)

[ Unknown, NotStarted, Warmup, InProgress, Postponed, Finished, Interrupted, CoverageStopped, Abandoned, Cancelled, Delayed ]

Indicates match status

PeriodChanged

Code Block
{
}

No player or yards data. Just an event to record a period change fact.

Punt

Code Block
		{
			"Yards": 53    "id": "1017141",
                    "type": "Kicker"
                }
            ],
    }

Element

Type

Description

yards

integer($int32)

yards gained

players

Players array

Player data

Risks

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.Risks, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "Playerstouchdown": [
				{
					"Id "NonActive",
            "onsideKick": "835822NonActive",
					"Type
            "fieldGoal": "Kicker"
				}
			]
		}

Element

Type

Description

Yards

integer($int32)

yards gained

Players

Players array

Player data

Risks

Code Block
		{
			"TouchdownNonActive",
            "fourthDown": "NonActive",
            "OnsideKicksafety": "NonActive",
            "FieldGoalchallenge": "NonActive",
            "FourthDownpenalty": "NonActive",
            "SafetyvideoReview": "NonActive",
            "Challengeturnover": "NonActive",
            "Penaltyother": "NonActiveActive",
            "VideoReviewplayAboutToStart": "NonActive",
            "Turnoverinjury": "NonActive",
            "PlayAboutToStartbigPlay": "NonActiveActive",
            "OtherstatDelay": "Active"		
		NonActive",
    }

Element

Type

Description

touchdown

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Touchdown risk

onsideKick

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Onside Kick risk

fieldGoal

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Touchdown risk

OnsideKick

Field Goal risk

fourthDown

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Fourth Down risk

safety

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Safety risk

challenge

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Onside Kick Challenge risk

FieldGoalpenalty

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Field Goal Penalty risk

FourthDownvideoReview

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Fourth Down VideoReview risk

Safetyturnover

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Safety Turnover risk

ChallengeplayAboutToStart

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Challenge risk

PenaltyIndicates that the play is about to start (teams are lining up to begin the play).

other

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Penalty Other risk

VideoReview

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

VideoReview risk

Turnover

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Turnover risk

PlayAboutToStart

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Indicates that the play is about to start (teams are lining up to begin the play).

Other

string($x-extensible-enum)

[ Unknown, Active, NonActive ]

Other risk

FairCatch

Code Block { "Yards": null, "Players": [ { "Id": "835822", "Type": "Receiver" } ],

FairCatch

Code Block
		{
            "$type": "GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents.FairCatch, 
                      GeniusSports.Sports.AmericanFootball.Contracts.V2.MatchEvents",
            "yards": null,
            "isNullified": false,
            "yardLine": {
                "yards": 1,
                "sideOfPitch": "Away"
            },
            "players": [
                {
                    "id": "1006701",
                    "type": "Receiver"
                }
            ],
    }

Element

Type

Description

Yardsyards

integer($int32)

yard line

Playersplayers

Players array

Player data

Challenge

Code Block
	{
		"Result": "Won"
	}

Element

Type

Description

Resultresult

string($x-extensible-enum)

[ Unknown, Won, Lost ]

Result of the challenge

Lateral

Code Block
{
    "IsNullified": false,
    "Yards": 5,
    "Players": [
        {
            "Id": "493258",
            "Name": "Receiver"
        }
    ]
}

Element

Type

Description

Yardsyards

integer($int32)

Indicates how many yards was the lateral.

Playersplayers

Players array

Player data

IsNullifiedisNullified

boolean

Indicates whether this action was nullified

Other Match Events

Reliability

Code Block
	{
		"IsReliable": false,
        "Reason": "Unreliable score"		
	}

Element

Type

Description

IsReliable

boolean

Indicates whether the current match events are reliable or not

Reason

string

Reason

CurrentLineup

Code Block
 "teamType": "Offensive",
            "players": [
                {
                    "position": "Quarterback",
                    "side": "Middle",
                    "id": "165525",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "TightEnd",
                    "side": "Middle",
                    "id": "99040",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "Tackle",
                    "side": "Unknown",
                    "id": "719357",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "Tackle",
                    "side": "Unknown",
                    "id": "757902",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "796224",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "Tackle",
                    "side": "Unknown",
                    "id": "1017511",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "RunningBack",
                    "side": "Middle",
                    "id": "1015480",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Center",
                    "side": "Middle",
                    "id": "1018160",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "TightEnd",
                    "side": "Middle",
                    "id": "1011409",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "TightEnd",
                    "side": "Middle",
                    "id": "1006903",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Tackle",
                    "side": "Unknown",
                    "id": "1014143",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "Guard",
                    "side": "Middle",
                    "id": "1008250",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "TightEnd",
                    "side": "Middle",
                    "id": "1008026",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Quarterback",
                    "side": "Middle",
                    "id": "1005917",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Tackle",
                    "side": "Unknown",
                    "id": "1014804",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "1017215",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "RunningBack",
                    "side": "Middle",
                    "id": "1028378",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "1003947",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "1009826",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "1016007",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "RunningBack",
                    "side": "Middle",
                    "id": "999394",
                    "name": null,
                    "status": "Started"
                },
                {
                    "position": "Guard",
                    "side": "Middle",
                    "id": "998896",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "WideReceiver",
                    "side": "Unknown",
                    "id": "998934",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Guard",
                    "side": "Middle",
                    "id": "796929",
                    "name": null,
                    "status": "Unknown"
                },
                {
                    "position": "Guard",
                    "side": "Middle",
                    "id": "999405",
                    "name": null,
                    "status": "Started"
                }
                ],
                "team": "Home",
                "gameTime": "00:00:00",
                "period": null,
                "utcTimestamp": "2023-04-05T05:01:11.8805131Z"
            },
            "messageTimestampUtc": "2023-04-05T05:01:19.6152104Z"

Element

Type

Description

TeamType

string
[Unknown, Offensive, Defensive, Special]

Type of the team players are assigned to

Players

Array Of Lineup Player

Lineup players array

id

string

Indicates an Unique id of the player

position

string

Indicates the position of the player. Available options: [Unknown, Kicker, Punter, Returner, RunningBack, Fullback, WideReceiver, TightEnd, Tackle, Guard, Quarterback, Center, End, Linebacker, Cornerback, Safety, Holder, LongSnapper, DefensiveBack, OffensiveLineman, DefensiveLineman]
For CFL there is also available options: [Kickreturner, Nosetackle, Slotback, Puntreturner]

side

string

Indicates the side of the player. Available options: [Unknown, Right, Middle, Left]

status

string

Indicates the status of the player during the game.

Available options:
Started - Player was in the starting 11
Substituted - Player took part for at least one play during the match and was not in the Starting 11
ActiveNotPlayed - Player was dressed up for the game but did not play
NotActive - Player was not dressed up for the game
Unknown - Player status in not known

Muff

Code Block
{
		"IsNullified": false
		"Players": [
			{
				"Id": "835822",
				"Type": "Muffed"
			}
		]
	}

Element

Type

Description

IsNullified

boolean

Indicates whether this action was nullified

Players

Players array

Player data

Recovery

Code Block
{
		"Yards": 15
		"IsNullified": false
		"Players": [
			{
				"Id": "835822",
				"Type": "Recoverer"
			}
		],
	}

Element

Type

Description

Yards

integer($int32)

Indicates the amount of yards from the point where opponents recovered the ball to the point where the play finished

IsNullified

boolean

Indicates whether this action was nullified

Players

Players array

Player data

Players

Player type

Valid action types

Explanation

Unknown

Penalty

This action type is currently used in penalties

Tackled

Tackle Sack Fumble

The player that was tackled

Tackler

Tackle Sack Fumble

The player who tackled, in case of Tackle - primary tackler

TackleAssister

Tackle

The player who assisted tackling in the tackle (secondary tackler). Tackle can have two tackle assisters and no tackler

Scorer

Touchdown

The player who scored the points

Receiver

PassAttempt CompletePass IncompletePass Interception FairCatch TwoPointsConversion

The player who is the intended receiver for a pass or fair catch. In case of conversions, only when pass is attempted

Passer

PassAttempt CompletePass IncompletePass Interception TwoPointsConversion

The player who passed the ball. In case of conversions, only when pass is attempted

Fumbled

Fumble

The player who fumbled the ball

Recoverer

Recovery Fumble

The player who recovered the ball

Kicker

KickOff Punt FieldGoalAttempt FieldGoal FieldGoalBlocked OnePointConversion

The play who kicked the ball.

Runner

Run RunAfterCatch Kneel TwoPointsConversion

The player who runs with the ball. In case of conversions, only when it is rushed

Returner

Return

The player who attempts to make a return with the ball

Interceptor

Interception

The player who intercepts the pass

Blocker

FieldGoalBlocked OnePointConversion Punt

The player who blocks the kick

QbHitter

PassAttempt CompletePass IncompletePass Sack

The player/s who hit the quarterback to the ground

PassDefender

PassAttempt IncompletePass

The player/s who earn pass defended on incomplete pass

Muffed

Muff

The player who muffs the catch