The play by play data will be given to you as an array, where each element is the equivalent to one row in the CSV spreadsheets available for download. The elements will be formatted in the same way, with commas to delimit fields, and with some entries in quotes, if they contain a comma. None of the input contains double quotes except to surround some fields (i.e. there are no escaped double quotes). The play by play data has 71 fields:
  1. EVENTID - this is a unique identifier for the game being played
  2. UNQPLY_GROUP - this is an identifier for the play. Most plays will have only a single record, and hence a unique UNQPLY_GROUP. In some cases there may be multiple entires with the same UNQPLY_GROUP. This occurs most often with punts and kickoffs where the kick and the return are represented by two entries.
  3. RECORD_ID - a unique ID for the entry
  4. SCHEDULE_ID - another unique ID for the game. This one contains the date and name of the home team
  5. INCOMING_STATE_HEADER_ID - This field contains the type of play being performed. The valid entries are:
  6. POSS_TEAM_CODE_STARTPLAY - The name of the team with possession of the ball at the start of the play
  7. POSS_TEAM_ID_STARTPLAY - The ID of the team with possession of the ball at the start of the play
  8. OPP_TEAM_ID_STARTPLAY - The ID of the team defending at the start of the play
  9. POSS_TEAM_CODE_ENDPLAY - The name of the team with possession of the ball at the end of the play
  10. POSS_TEAM_ID_ENDPLAY - The ID of the team with possession of the ball at the end of the play
  11. OPP_TEAM_ID_ENDPLAY - The ID of the defending team at the end of the play
  12. DOWN_STARTPLAY - The down at the start of the play
  13. DOWN_ENDPLAY - The down at the end of the play
  14. DISTANCE_STARTPLAY - The number of yards required for a first down at the start of the play
  15. DISTANCE_ENDPLAY - The number of yards required for a first down at the end of the play
  16. YARDLINE_STARTPLAY - The location of the ball at the start of the play. "Fresn 35", for instance means that the ball is on Fresno's 35 yardline. Teams try to move the ball out of their territory (increase the yard number in their territory) and move the ball into their opponents territory (lower yard number)
  17. YARDLINE_ENDPLAY - Similar to YARDLINE_STARTPLAY, but for the end of the play
  18. CLOCK_TIME - The time on the clock at the start of the drive
  19. QUARTER_STATUS - Which quarter is currently being played (normally 1-4, 5 is the first overtime quarter)
  20. HOME_SCORE - The score of the home team
  21. VISIT_SCORE - The score of the visiting team
  22. PASSER_TEAM_ID - Either empty, or the team ID of the quarterback on passing plays
  23. PLAYER_TEAM_ID - Contains the ID of the team with the ball, or empty for kicking plays
  24. INTENDED_RECEIVER_TEAM_ID - The team ID of the intended receiver, if there was one
  25. PASS_DEFENDER_TEAM_ID - The team ID of the defensive player on passes
  26. TACKLER_TEAM_ID - The ID of the dending team on plays that ended with a tackle by one player
  27. ASSISTED_BY_TEAM_ID1 - The team ID of the tackling team when more than one person was involved in the tackle
  28. ASSISTED_BY_TEAM_ID2 - Same as above
  29. KICKER_TEAM_ID - Contains the ID of the kickoff team on kickoff plays
  30. PUNTER_TEAM_ID - Contains the ID of the punting team on punts
  31. BLOCKER_TEAM_ID - Contains the ID of the team which blocked a kick
  32. MUFFLED_BY_TEAM_ID - Contains the team ID on Muffled punts
  33. DOWNED_BY_TEAM_ID - Contains the ID of the team which downed the punt
  34. FAIR_CATCH_BY_TEAM_ID - Contains the ID of the team making the fair catch
  35. SACKED_BY_TEAM_ID1 - Contains the ID of the team making the sack
  36. SACKED_BY_TEAM_ID2 - Contains the ID of the team making the sack if more than one player was involved
  37. FORCED_BY_TEAM_ID - Contains the ID of the team forcing the fumble
  38. RECOVERER_TEAM_ID - Contains the ID of the team recovering the fumble
  39. YARD_LINE - Contains the location of some events
  40. FIRST_TOUCHED_YARD_LINE - The location the ball was first touched on a fumble
  41. STARTING_YARD_LINE - see YARDLINE_START
  42. ENDING_YARD_LINE - see YARDLINE_END
  43. STATISTICAL_YARDAGE - The number of yards the team advanced
  44. PENALTY_DISTANCE - The number of penalty yards accessed, when applicable
  45. KICK_OFF_RESULT - The result of a kickoff when not returned
  46. KICK_OFF_RETURN_RESULT - The result of a kickoff return when not simply tackled
  47. FIELD_GOAL_RESULT - The result of a field goal attempt
  48. EXTRA_POINT_RESULT - The result of an extra point attempt
  49. RUSH_DIRECTION - Unused
  50. REASON_MISSED - For missed field goals and extra points
  51. RECOVERY_TYPE - Who recovered a fumble
  52. PENALTY_DESCRIPTION1 - Type of penalty
  53. PENALTY_STATUS1 - ACCEPT or REJECT
  54. PENALTY_DESCRIPTION2 - Used when there are multiple penalties
  55. PENALTY_STATUS2 - Used when there are multiple penalties
  56. ENDED_WITH_SAFETY - If the play ended in a safety
  57. NO_ATTEMPT - If no play attempt was made (typically due to false start)
  58. ON_SIDE_KICK - If a kickoff was onside
  59. SAFETY_EFFECT - If the safety was the result of a penalty
  60. PLAY_ABORTED_FUMBLE - Unused
  61. PLAY_ABORTED_PENALTY - If the play was aborted due to a penalty
  62. RECOVERY_TEAM_CODE - The name of the team that recovered a fumble
  63. CURRENT_TEAM - The team that was penalized, if there was a penalty
  64. TEAM_CHARGED - The second team charged with a penalty, if there were two
  65. DATE_MODIFIED - The date the record was modified
  66. PENALTY_ENFORCED_WHEN - When the penalty was enforced
  67. FIRSTDOWN - Did the play result in a first down
  68. SPLITSACK - If a sack was attributed to multiple players
  69. CHALLENGEUPHELD - If a team challenged and the challenge was upheld
  70. CHALLENGETEAM_ID - The ID of the challenging team
  71. DRIVE_NO - The number of the drive, which increments on changes of possession
  72. ASSISTED_BY_TEAM_ID3 - If three players were involved in the tackle