ArmchairAnalysis.com NFL API

An Affordable, Comprehensive NFL Data API. Daily Updates.

game

game - Blocks

https://armchairanalysis.com/api/1.0/game/:gid/blocks

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brcv string

Recovering Player ID

type string

Play Type (PUNT, FG, XP)

HTTP/1.1 200 OK
{
    "data": [{
        "pid":1435,
        "blk":"JJ-4100",
        "brcv":"TG-1500",
        "type":"FG"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

BlocksNotFound

Blocks not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Blocks not found.",
        "status_code":404
     }
}

game - Charted Stats

Take your analysis of Quarterbacks and Receivers to the next level with our custom game-charted data.

The Chart table includes much of the basic information from the PBP table along with 31 other stats exclusive to ArmchairAnalysis.com (at the play-level). This data is available from the 2018 season onwards.

https://armchairanalysis.com/api/1.0/charts/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 4791 +

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

detail text

Play Text

off string

Team on Offense

def string

Team on Defense

type string

Play Type

2 Possible values: RUSH - Rush; PASS - Pass
qb string

Quarterback ID

trg string

Pass Target ID

qtr number

Quarter (OT = 5)

los string

Line of Scrimmage location (team-yardline)

dwn number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
yds string

Yards Gained or Lost

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

comp boolean

Completion

ints boolean

Intercepted

box number

Number of Defenders in the box

Pass plays only.
avt number

Available Targets

Number of skill players (WR-TE-RB) running a route on the play. AVT does not determine whether the target was open or not.
pru number

Pass Rush

Total number of players rushing the passer.
spru number

Stunt Pass Rushers

These are the number blitzing LB's who replace a DL dropping back into coverage. Included in the PRU total
blz number

Blitz

Total number of LB's and DB's blitzing.
dblz number

DB Blitz

Number of DB's blitzing. This is included in the BLZ total.
tts number

Time to Sack

Seconds elapsed between the snap and a Sack.
pap boolean

Play Action Pass

Does not consider whether a defense was fooled or not, just that a QB motioned to the RB with the ball and some effort to sell the run occurred.
side boolean

Sideline pass

Balls outside of the field but catchable when the receiver extends body/arms.
high boolean

Highlight pass

Perfect pass that only the receiver can reach. Features perfect placement in a tight window.
oop boolean

Out of Pocket pass

Quarterback attempts the pass out of the pocket whether pressured or not.
shov boolean

Shovel/Touch pass

scr boolean

Screen pass

qbp boolean

QB Pressured

A Pressure is marked on plays where the pocket is breached, the QB is near the breach, and, is not throwing the ball when the breach occurs. Screen passes are not pressurable.
qbhi boolean

QB Hit

QB was brought to the ground by a defensive player (including sacks) or otherwise significantly man-handled by a defender. (0 - No, 1 - Yes).
qbhu boolean

QB Hurry

The Defense forces the QB to leave the pocket or forces the QB to throw the ball before he's fully ready. See page 7 for more details.
htm boolean

Hindered Throwing Motion

tay number

True Air Yards

Distance ball travels in the air from point of throw to a receivers hands; back of endzone or sideline.
dot number

Depth Of Target

Distance from LOS when ball is caught or comes closest to the target.
dotr number

Target Depth Rank

The distance from the QB to the pass target relative to all other available targets. #1 is closest to the QB.
cov number

Coverage on the targeted receiver

Uncovered is 0, single coverage is 1, double is 2.
cnb boolean

Contested Balls

Passes into close coverage that involve a physical battle between receiver and defender for control of the ball.
crr boolean

Created Receptions

Difficult catches that require exceptional body control; hands; acrobatics, or any combination thereof.
yac number

Yards After Catch

drp boolean

Dropped pass

Balls that would have been caught by a receiver with league-average skills. (0- No, 1 - Yes).
qbta boolean

Throw Away

QB unloaded the ball to avoid sack or just generally decides nothing good can happen on the play.
bap boolean

Batted Ball

Balls swatted away at line of scrimmage or by a defender breaking up a pass play.
intw boolean

INT Worthy

Designates a bad pass that should have been intercepted but may have been dropped by a defender. It can also show when an INT was not the QB's fault (intw = 0 and int = 1).
back number

Number of players in the Backfield

(RB + TE + FB + WR)
rb number

Personnel Groups (#RB's)

Example: 1 RB and no TE's is a '10' group. Common groups are split out in the teams table showing usage and yardage gained. (i.e. PER10 and PER10Y).
te number

Personnel Groups (#TE's)

Example: 1 RB and no TE's is a '10' group. Common groups are split out in the teams table showing usage and yardage gained. (i.e. PER10 and PER10Y).
HTTP/1.1 200 OK
{
    "data":{
        "gid":4791,
        "pid":785512,
        "detail":"(15:00) (Shotgun) M.Ryan pass short right to J.Jones pushed ob at ATL 30 for 10 yards.",
        "off":"ATL",
        "def":"PHI",
        "type":"PASS",
        "qb":"MR-2500",
        "trg":"JJ-4700",
        "qtr":1,
        "los":"ATL 20",
        "dwn":1,
        "ytg":15,
        "yfog":20,
        "zone":1,
        "yds":"10",
        "succ":1,
        "fd":0,
        "sg":0,
        "nh":0,
        "comp":1,
        "ints":0,    
        "box":0,    
        "avt":5,   
        "pru":4,    
        "spru":0,    
        "blz":1,    
        "dblz":0,    
        "tts":0,    
        "pap":0,    
        "side":0,    
        "high":1,    
        "oop":0,    
        "shov":0,    
        "scr":0,    
        "qbp":0,    
        "qbhi":0,    
        "qbhu":0,    
        "htm":0,    
        "tay":15,    
        "dot":9,
        "dotr":2,    
        "cov":2,       
        "cnb":0,          
        "crr":0,
        "yac":1,
        "drp":0,    
        "qbta":0,    
        "bap":0,        
        "intw":0,        
        "back":2,        
        "rb":1,        
        "te":1
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

ChartedStatsNotFound

Charted Stats not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Charted Stats not found.",
        "status_code":404
     }
}

game - Conversions

https://armchairanalysis.com/api/1.0/game/:gid/conversions

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

type string

'PASS' or 'RUSH'

bc string

Ball Carrier ID

psr string

Passer ID

trg string

Pass Target ID

conv boolean

Converted

HTTP/1.1 200 OK
{
    "data": [{
        "pid":2422,
        "type":"PASS",
        "bc":"",
        "psr":"KW-0500",
        "trg":"AH-0200",
        "conv":0
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

ConversionsNotFound

Conversions not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Conversions not found.",
        "status_code":404
     }
}

game - Defense Stats

https://armchairanalysis.com/api/1.0/defense/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Defensive Player ID

solo number

Solo Tackles

comb number

Combined Tackles

sck number

Sack

saf number

Safety

blk number

Blocked Kick

ints number

Interception

pdef number

Passes Defended

frcv number

Fumble Recovery

forc number

Fumble Forced

tdd number

Defensive TD

Touchdowns resulting from Fumble, Interception and Blocked Kick returns.
rety number

Return Yardage

Yardage from Punt and Kickoff returns.
tdret number

Return TD

Punts and Kickoffs returned for touchdowns.
peny number

Penalty Ydg

snp number

Snaps

Snap counts have been tracked since the 2012 season. Note: Special Teams snaps are not counted. Players who only generated stats on Special Teams will show a snap count of 0.
fp number

NFL.com Fantasy Points

fp2 number

Fan Duel / Draft King Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
posd string

Position - Depth Chart

The listed depth chart position provides more granular information than POS1 or POS2. As an example: LB's are broken down into MLB, LILB, RILB and so on. This will be provided starting in 2015. Prior seasons show 'NA'.
jnum number

Jersey Number

dcp number

Depth Chart Position

nflid number

NFL ID

HTTP/1.1 200 OK
{
    "data": [{
        "uid":1368,
        "gid":45,
        "player":"MM-5400",
        "solo":"1.0",
        "comb":"1.0",
        "sck":"0.0",
        "saf":0,
        "blk":0,
        "ints":0,
        "pdef":0,
        "frcv":0,
        "forc":0,
        "tdd":0,
        "rety":0,
        "tdret":0,
        "peny":10,
        "snp":8,
        "fp":"1.5",
        "fp2":"0.0",
        "game":1,
        "seas":6,
        "year":2000,
        "team":"GB",
        "posd":"ROLB",
        "jnum":96,
        "dcp":1,
        "nflid":2538247
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Drive Stats

https://armchairanalysis.com/api/1.0/drives/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

fpid number

First Play ID

tname string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
drvn number

Drive Number (for team)

obt string

How Obtained

The following abbreviations are used: KO, PUNT, BLPU (Blocked Punt), DWNS, MFG (Missed FG), BLFG (Blocked FG), INT, FUM.
qtr number

Quarter that Drive Started

min number

Length of Drive (Minutes)

sec number

Length of Drive (Seconds)

yfog number

Starting Field Position

plays number

Number of Plays in Drive

succ number

Successful Plays

Applies to Rush or Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
rfd number

Rushing First Downs

pfd number

Passing First Downs

ofd number

Other First Downs

ry number

Rushing Yardage

ra number

Rushing Attempts

py number

Passing Yardage

pa number

Passing Attempts

pc number

Pass Completions

peyf number

Penalty Yardage on Opponent

peya number

Penalty Yardage Against

net number

Net Yardage

Drive Net Yardage is a combination of Rushing Yds, Passing Yds and the Penalty yardage assessed on the drive.
res string

Drive Result

The following abbreviations are used: TD, FG, MFG (Missed FG), BLFG (Blocked FG), SAF (Safety), PUNT, BLPU (Blocked Punt), INT, FUM, ENDQ (End of Quarter), DWNS (Downs).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":125,
        "gid":6,
        "fpid":830,
        "tname":"SEA",
        "drvn":1,
        "obt":"KOFF",
        "qtr":1,
        "min":2,
        "sec":22,
        "yfog":22,
        "plays":5,
        "succ":1,
        "rfd":0,
        "pfd":1,
        "ofd":0,
        "ry":3,
        "ra":2,
        "py":9,
        "pa":3,
        "pc":1,
        "peyf":0,
        "peya":0,
        "net":15,
        "res":"INT"
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - FGXPs

https://armchairanalysis.com/api/1.0/game/:gid/fgxps

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

fgxp string

'FG' or 'XP'

fkicker string

Kicker ID

dist number

Distance

good boolean

Attempt was Good

HTTP/1.1 200 OK
{
    "data": [{
        "pid":461691,
        "fgxp":"XP",
        "fkicker":"SG-1100",
        "dist":20,
        "good":1
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

FGXPsNotFound

Field-goals/Extra-points not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Field-goals/Extra-points not found.",
        "status_code":404
     }
}

game - Fumbles

https://armchairanalysis.com/api/1.0/game/:gid/fumbles

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

fum string

Fumbler ID

frcv string

Recovering Player ID

fry number

Fumble Return Yardage

forc string

Forcing Player ID

HTTP/1.1 200 OK
{
    "data": [{
        "pid":446943,
        "fum":"KO-0700",
        "frcv":"TB-2400",
        "fry":12,
        "forc":"MM-3800"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

FumblesNotFound

Fumbles not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Fumbles not found.",
        "status_code":404
     }
}

game - Game Details

https://armchairanalysis.com/api/1.0/game/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
gid number

Game ID

seas number

Season

week number

Week Number

day string

Day of Week

5 Possible Choices: THU (Thursday), SAT (Saturday), SUN (Sunday), SN (Sunday Night), MN (Monday Night)
v string

Visiting Team

h string

Home Team

stad string

Stadium Name

temp number

Temperature (F)

humd number

Humidity

wspd number

Wind Speed

wdir string

Wind Direction

cond string

Conditions

18 Possible Choices: Closed Roof; Dome; Flurries; Light Snow; Snow; Chance Rain; Light Rain; Rain; Mostly Cloudy; Partly Cloudy; Cloudy; Mostly Sunny; Partly Sunny; Sunny; Hazy; Foggy; Clear; Fair.
surf string

Surface

11 Possible Choices: Grass; AstroTurf; AstroPlay; FieldTurf; SportGrass; NeXTurf; MomentumTurf; DD GrassMaster; Sportex; A Turf Titan; UBU Speed Series S5M
ou number

Over/Under

sprv number

Visitor Point Spread

ptsv number

Points - Visitor

ptsh number

Points - Home

HTTP/1.1 200 OK
{
    "data": {
        "gid":2422,
        "seas":2009,
        "wk":3,
        "day":"SUN",
        "v":"WAS",
        "h":"DET",
        "stad":"Ford Field",
        "temp":"68",
        "humd":"",
        "wspd":"",
        "wdir":"",
        "cond":"Dome",
        "surf":"FieldTurf",
        "ou":39,
        "sprv":"-6.5",
        "ptsv":14,
        "ptsh":19
    }
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Injuries

Injuries have been tracked since 2015.

https://armchairanalysis.com/api/1.0/game/:gid/injuries

Parameter

Field Type Description
gid number

Game ID

Size range: 3990-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Player ID

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
details string

Exact Nature of Injury

pstat string

Practice Status prior to Game

gstat string

Game Status

6 Possible Choices: Available; Out; Doubtful; Questionable; IR (Injured Reserve); PUP (Physically unable to perform).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":620, 
        "gid":4032,
        "player":"CH-3100",
        "team":"PIT",
        "details":"Elbow",
        "pstat":"Full Participation in Practice",
        "gstat":"Questionable"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

InjuriesNotFound

Injuries not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Injuries not found.",
        "status_code":404
     }
}

game - Interceptions

https://armchairanalysis.com/api/1.0/game/:gid/interceptions

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

psr string

Passer ID

ints string

Intercepting Player ID

iry number

Interception Return Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "pid":594494,
        "psr":"AD-0100",
        "ints":"EW-0400",
        "iry":21
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

InterceptionsNotFound

Interceptions not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Interceptions not found.",
        "status_code":404
     }
}

game - Kicker Stats

https://armchairanalysis.com/api/1.0/kickers/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Kicker ID

pat number

Points after TD's

fgs number

FG's Made (< 40 yds)

fgm number

FG's Made (40 - 49 yds)

fgl number

FG's Made (50+ yds)

fp number

Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
HTTP/1.1 200 OK
{
    "data": [{
        "uid":2074,
        "gid":1045,
        "player":"MV-0100",
        "pat":5,
        "fgs":2,
        "fgm":0,
        "fgl":0,
        "fp":"11.0",
        "game":17,
        "seas":6,
        "year":2003,
        "team":"IND"
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Kickoffs

https://armchairanalysis.com/api/1.0/game/:gid/kickoffs

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

kicker string

Kicker ID

kgro number

Gross Yardage

knet number

Net Yardage

ktb boolean

Touchback

kr string

Kick Returner ID

kry number

Return Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "pid":602473,
        "kicker":"NN-0200",
        "kgro":65,
        "knet":42,
        "ktb":0,
        "kr":"GJ-0350",
        "kry":23
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

KickoffsNotFound

Kickoffs not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Kickoffs not found.",
        "status_code":404
     }
}

game - Offense Stats

https://armchairanalysis.com/api/1.0/offense/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Offensive Player ID

pa number

Pass Attempts

pc number

Completions

py number

Pass Yards

ints number

Interceptions thrown by QB

tdp number

Touchdowns - Passing

ra number

Rushing Attempts

sra number

Successful Rushing Attempts

ry number

Rush Yards

tdr number

Touchdowns - Rushing

trg number

Times Targeted

rec number

Receptions

recy number

Receiving Yards

tdrec number

Touchdowns - Receiving

ret number

Number of Punt / Kickoff Returns

rety number

Return Yardage

Yardage from Punt and Kickoff returns.
tdret number

Return TD

Punts and Kickoffs returned for touchdowns.
fuml number

Fumbles Lost

peny number

Penalty Yardage

conv number

Conversion

Can be a pass completion, rush, or reception on a successful 2pt conversion.
snp number

Snaps

Snap counts have been tracked since the 2012 season. Note: Special Teams snaps are not counted. Players who only generated stats on Special Teams will show a snap count of 0.
fp number

NFL.com Fantasy Points

fp2 number

Fan Duel Fantasy Points

fp3 number

Draft Kings Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
posd string

Position - Depth Chart

The listed depth chart position provides more granular information than POS1 or POS2. As an example: LB's are broken down into MLB, LILB, RILB and so on. This will be provided starting in 2015. Prior seasons show 'NA'.
jnum number

Jersey Number

dcp number

Depth Chart Position

nflid number

NFL ID

HTTP/1.1 200 OK
{
    "data": [{
        "uid":63753,
        "gid":3245,
        "player":"PM-0200",
        "pa":38,
        "pc":30,
        "py":338,
        "ints":0,
        "tdp":3,
        "ra":1,
        "sra":0,
        "ry":-1,
        "tdr":0,
        "trg":0,
        "rec":0,
        "recy":0,
        "tdrec":0,
        "ret":0,
        "rety":0,
        "tdret":0,
        "fuml":0,
        "peny":0,
        "conv":0,
        "snp":62,
        "fp":"25.4",
        "fp2":"26.4",
        "fp3":"28.4",
        "game":4,
        "seas":15,
        "year":2012,
        "team":"DEN",
        "posd":"QB",
        "jnum":18,
        "dcp":1,
        "nflid":2502214
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Passing

https://armchairanalysis.com/api/1.0/game/:gid/passing

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

psr string

Passer ID

trg string

Pass Target ID

loc string

Location

General location of the Pass Target: Short Middle (SM), Short Left (SL), Short Right (SR), Deep Middle (DM), Deep Left (DL), Deep Right (DR). Deep passes are typically received 15+ yards from scrimmage. 'NL' stands for 'Not Listed'.
yds number

Yards Gained

comp boolean

Completion

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
spk boolean

Spiked Ball

dfb string

Defender ID

HTTP/1.1 200 OK
{
    "data": [{
        "pid":514900,
        "psr":"KC-1400",
        "trg":"BL-1200",
        "loc":"SR",
        "yds":0,
        "comp":0,
        "succ":0,
        "spk":0,
        "dfb":"TB-2700"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

PassingPlaysNotFound

Passing plays not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Passing plays not found.",
        "status_code":404
     }
}

game - Penalties

https://armchairanalysis.com/api/1.0/game/:gid/penalties

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

ptm string

Flagged Team

pen string

Flagged Player ID

desc string

Penalty Description

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat number

Category

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey number

Yardage Assessed

act string

Action (D/O/A)

Penalty was Declined (D), Offsetting (O) or Accepted (A).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":49669,
        "pid":557241,
        "ptm":"BAL",
        "pen":"AB-2000",
        "desc":"Offensive Holding",
        "cat":2,
        "pey":10,
        "act":"A"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

PenaltiesNotFound

Penalties not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Penalties not found.",
        "status_code":404
     }
}

game - Plays (Basic)

https://armchairanalysis.com/api/1.0/plays/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description Description
gid number

Game ID

pid number

Play ID

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

down number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

pts number

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
tck boolean

Tackle(s) on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
sk boolean

Sack on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
pen boolean

Penalty on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
ints boolean

Interception on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
fum boolean

Fumble on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
saf boolean

Safety on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block). Safeties that occur on balls out of bounds will show 0 (no player attributed).
blk boolean

Block on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
HTTP/1.1 200 OK
{
    "data":{[
        "gid":3984,
        "pid":650901,
        "off":"CAR",
        "def":"SEA",
        "type":"PASS",
        "dseq":1,
        "len":39,
        "qtr":2,
        "min":4,
        "sec":47,
        "ptso":7,
        "ptsd":14,
        "timo":3,
        "timd":3,
        "dwn":1,
        "ytg":10,
        "yfog":21,
        "zone":2,
        "fd":0,
        "sg":0,
        "nh":0,
        "pts":0,
        "tck":1,
        "sk":0,
        "pen":0,
        "ints":0,
        "fum":0,
        "saf":0,
        "blk":0
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Plays (Expanded)

This endpoint replaces the boolean values for tackles, penalties etc. with the actual data from the applicable table.

It also provides expanded play data in an object with the same name as the play type (ex., pass, rush, fgxp, etc.)

https://armchairanalysis.com/api/1.0/plays/:gid?mode=expanded

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

down number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

pts number

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
tck object

Tackle Details (0 if none)

sk object

Sack Details (0 if none)

pen object

Penalty Details (0 if none)

ints object

Interception Details (0 if none)

fum object

Fumble Details (0 if none)

saf object

Safety Details (0 if none)

blk object

Block Details (0 if none)

pass object

Object name and content will change based on Play Type (eg. pass, rush, punt, koff, fgxp or conv)

HTTP/1.1 200 OK
{
    "data":{[
        "gid":9,
        "pid":1356,
        "off":"NO",
        "def":"DET",
        "type":"PASS",
        "dseq":3,
        "len":30,
        "qtr":2,
        "min":5,
        "sec":35,
        "ptso":7,
        "ptsd":3,
        "timo":3,
        "timd":2,
        "dwn":3,
        "ytg":16,
        "yfog":16,
        "zone":1,
        "fd":0,
        "sg":1,
        "nh":0,
        "pts":0,
        "tck":0,
        "sk":0,
        "pen":[{
            "uid":112,
            "ptm":"NO",
            "pen":"BW-1100",
            "desc":"Personal Foul",
            "cat":6,
            "pey":15,
            "act":"A"
         }],
         "ints":{
             "psr":"JB-3800",
             "ints":"KS-0300",
             "iry":6
         },
         "fum":0,
         "saf":0,
         "blk":0,
         "pass":{
             "psr":"JB-3800",
             "trg":"KP-0900",
             "loc":"SR",
             "yds":0,
             "comp":0,
             "succ":0,
             "spk":0,
             "dfb":""
         }
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Plays (Flat)

This endpoint returns all data stored on each play, mirroring our play-by-play CSV flat-file: PBP.csv.

Starting with the 'dwn' variable, string values are returned (even for numerics) due to the potential for null values.

https://armchairanalysis.com/api/1.0/plays/:gid?mode=flat

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

detail text

Play Text

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

dwn string

Down

ytg string

Yards to Go

yfog string

Yards from own Goal (1-99)

zone string

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
yds string

Yards Gained or Lost

succ string

Successful Play (Y)

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
fd string

First Down (Y)

sg string

Shot-gun

nh string

No Huddle (Y)

pts string

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
bc string

Ball Carrier ID

kne string

Knee (Y)

dir string

Rush Direction

The direction of the Rushing Play: Left End (LE), Right End (RE), Left Guard (LG), Right Guard (RG), Left Tackle (LT), Right Tackle (RT) or up the Middle (MD). Note: 'NL' stands for 'Not Listed'
rtck1 string

Rush Tackler #1 ID

rtck2 string

Rush Tackler #2 ID

psr string

Passer ID

comp string

Completion (Y)

spk string

Spiked Ball (Y)

loc string

Pass Location

General location of the Pass Target: Short Middle (SM), Short Left (SL), Short Right (SR), Deep Middle (DM), Deep Left (DL), Deep Right (DR). Deep passes are typically received 15+ yards from scrimmage. 'NL' stands for 'Not Listed'.
trg string

Pass Target ID

dfb string

Pass Defender ID

ptck1 string

Pass Tacker #1 ID

ptck2 string

Pass Tackler #2 ID

sk1 string

Sacking Player #1 ID

sk2 string

Sacking Player #2 ID

ptm1 string

Flagged Team - Penalty #1

pen1 string

Flagged Player ID - Penalty #1

desc1 string

Description - Penalty #1

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat1 string

Category - Penalty #1

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey1 string

Yardage Assessed - Penalty #1

act1 string

Action (D/O/A) - Penalty #1

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ptm2 string

Flagged Team - Penalty #2

pen2 string

Flagged Player ID - Penalty #2

desc2 string

Description - Penalty #2

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat2 string

Category - Penalty #2

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey2 string

Yardage Assessed - Penalty #2

act2 string

Action (D/O/A) - Penalty #2

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ptm3 string

Flagged Team - Penalty #3

pen3 string

Flagged Player ID - Penalty #3

desc3 string

Description - Penalty #3

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat3 string

Category - Penalty #3

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey3 string

Yardage Assessed - Penalty #3

act3 string

Action (D/O/A) - Penalty #3

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ints string

Intercepting Player ID

iry string

INT Return Yardage

fum string

Fumbling Player ID

frcv string

Fumble Recoverer Player ID

fry string

Fumble Return Yardage

forc string

Forcing Player ID

saf string

Player ID (credited with Safety)

blk string

Kick Blocker ID

brcv string

Kick Block Recoverer ID

fgxp string

Kick Type (FG/XP)

fkicker string

FG/XP Kicker ID

dist string

FG/XP Distance

good string

Kick Good (Y/N)

punter string

Punter ID

pgro string

Punt Gross Yards

pnet string

Punt Net Yards

ptb string

Punt Touchback (Y)

pr string

Punt Returner ID

pry string

Punt Return Yards

pfc string

Punt Fair Caught (Y)

kicker string

Kicker ID (Kickoff)

kgro string

Kickoff Gross Yards

knet string

Kickoff Net Yards

ktb string

Kickoff Touchback (Y)

kr string

Kickoff Returner ID

kry string

Kickoff Return Yards

HTTP/1.1 200 OK
{
    "data":{[
        "gid":4536,
        "pid":743537,
        "detail":"(5:39) (Shotgun) E.Manning pass incomplete short right to S.Vereen. Penalty on NYG-J.Jerry, Offensive Holding, declined.",
        "off":"NYG",
        "def":"DAL",
        "type":"PASS",
        "dseq":3,
        "len":8,
        "qtr":1,
        "min":5,
        "sec":39,
        "ptso":0,
        "ptsd":3,
        "timo":3,
        "timd":2,
        "dwn":"3",
        "ytg":"5",
        "yfog":"30",
        "zone":"2",
        "yds":"",
        "succ":"",
        "fd":"",
        "sg":"Y",
        "nh":"",
        "pts":"",
        "bc":"",
        "kne":"",
        "dir":"",
        "rtck1":"",
        "rtck2":"",
        "psr":"EM-0200",
        "comp":"",
        "spk":"",
        "loc":"SR",
        "trg":"SV-0200",
        "dfb":"",
        "ptck1":"",
        "ptck2":"",
        "sk1":"",
        "sk2":"",
        "ptm1":"NYG",
        "pen1":"JJ-2100",
        "desc1":"Offensive Holding",
        "cat1":"2",
        "pey1":"",
        "act1":"",
        "ptm2":"",
        "pen2":"",
        "desc2":"",
        "cat2":"",
        "pey2":"",
        "act2":"",
        "ptm3":"",
        "pen3":"",
        "desc3":"",
        "cat3":"",
        "pey3":"",
        "act3":"",
        "ints":"",
        "iry":"",                 
        "fum":"",
        "frcv":"",
        "fry":"",
        "forc":"",
        "saf":"",
        "blk":"",
        "brcv":"",
        "fgxp":"",
        "fkicker":"",
        "dist":"",
        "good":"",
        "punter":"",
        "pgro":"",
        "pnet":"",
        "ptb":"",
        "pr":"",
        "pry":"",
        "pfc":"",
        "kicker":"",
        "kgro":"",
        "knet":"",
        "ktb":"",
        "kr":"",
        "kry":""
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required.",
        "status_code":404
        }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
        }
}

game - Punts

https://armchairanalysis.com/api/1.0/game/:gid/punts

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

punter string

Punter ID

pgro number

Gross Yardage

pnet number

Net Yardage

ptb boolean

Touchback

pr string

Punt Returner ID

pry number

Return Yardage

pfc boolean

Fair Catch

HTTP/1.1 200 OK
{
    "data": [{
        "pid":312791,
        "punter":"JB-3500",
        "pgro":48,
        "pnet":19,
        "ptb":0,
        "pr":"CT-1400",
        "pry":29,
        "pfc":0
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

PuntsNotFound

Punts not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Punts not found.",
        "status_code":404
     }
}

game - Redzone Stats

https://armchairanalysis.com/api/1.0/redzone/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Offensive Player ID

pa number

Pass Attempts

pc number

Completions

py number

Pass Yards

ints number

Interceptions thrown by QB

ra number

Rushing Attempts

sra number

Successful Rushing Attempts

ry number

Rush Yards

trg number

Times Targeted

rec number

Receptions

recy number

Receiving Yards

fuml number

Fumbles Lost

peny number

Penalty Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "uid":32784,
        "gid":3245,
        "player":"LB-0100",
        "pa":0,
        "pc":0,
        "py":0,
        "ints":0,
        "ra":2,
        "sra":0,
        "ry":2,
        "trg":1,
        "rec":1,
        "recy":14,
        "fuml":0,
        "peny":0
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Rushing

https://armchairanalysis.com/api/1.0/game/:gid/rushing

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

bc string

Ball Carrier ID

dir string

Rush Direction

The direction of the Rushing Play: Left End (LE), Right End (RE), Left Guard (LG), Right Guard (RG), Left Tackle (LT), Right Tackle (RT) or up the Middle (MD). Note: 'NL' stands for 'Not Listed'
yds number

Yards Gained

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
kne boolean

Kneel Down

HTTP/1.1 200 OK
{
    "data": [{
        "pid":427092,
        "bc":"RM-3900",
        "dir":"RG",
        "yds":36,
        "succ":1,
        "kne":0
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

RushingPlaysNotFound

Rushing plays not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Rushing plays not found.",
        "status_code":404
     }
}

game - Sacks

https://armchairanalysis.com/api/1.0/game/:gid/sacks

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

qb string

Quarterback ID

sk string

Sacking Player ID

value number

Solo (1.0) or Shared (0.5)

ydsl number

Yards Lost

HTTP/1.1 200 OK
{
    "data": [{
        "uid":11591,
        "pid":381059,
        "qb":"BR-1100",
        "sk":"TB-3100",
        "value":"1.0",
        "ydsl":-10
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

SacksNotFound

Sacks not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Sacks not found.",
        "status_code":404
     }
}

game - Safeties

https://armchairanalysis.com/api/1.0/game/:gid/safeties

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

saf string

Player ID (credited with Safety)

HTTP/1.1 200 OK
{
    "data": [{
        "pid":642608,
        "saf":"NB-0500"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

SafetiesNotFound

Safeties not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Safeties not found.",
        "status_code":404
     }
}

game - Tackles

https://armchairanalysis.com/api/1.0/game/:gid/tackles

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

tck string

Tackling Player ID

value number

Solo (1.0) or Shared (0.5)

HTTP/1.1 200 OK
{
    "data": [{
        "uid":403631,
        "pid":610131,
        "tck":"DW-3200",
        "value":"1.0"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

TacklesNotFound

Tackles not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Tackles not found.",
        "status_code":404
     }
}

game - Team Stats

https://armchairanalysis.com/api/1.0/teams/:gid

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
tid number

Team Total ID

gid number

Game ID

tname string

Team Name

pts number

Points

q1p number

1st Quarter Points

q2p number

2nd Quarter Points

q3p number

3rd Quarter Points

q4p number

4th Quarter Points

rfd number

1st Downs - Rush

pfd number

1st Downs - Pass

ifd number

1st Downs - Penalty

ry number

Rush Yards

ra number

Rush Attempts

py number

Pass Yards

pa number

Pass Attempts

pc number

Completions

sk number

Sacks (Against)

ints number

INT's for Defense

fum number

Fumbles Lost

pu number

Punts

gpy number

Gross Punt Yardage

pr number

Punt Returns

pry number

Punt Return Yardage

kr number

Kick-off Returns

kry number

Kick-off Ret Yardage

ir number

Defense INT Returns

iry number

INT Return Yardage

pen number

Penalty Yardage (Against)

top number

Time-of-Possession

td number

Touchdowns

tdr number

TD's - Rushing

tdp number

TD's - Passing

tdt number

TD's via Turnovers

fgm number

Field Goals Made

fgat number

Field Goal Attempts

fgy number

Field Goal Yardage

Total Yardage of all Attempts.
rza number

Drives in Red Zone

rzc number

Red Zone Drive TD's

bry number

Big Rush Yardage

From Runs of 10+ Yards
bpy number

Big Pass Yardage

From Pass Completions of 20+ Yards
srp number

Successful Rush Plays

s1rp number

Successful Rush - 1st Down

s2rp number

Successful Rush - 2nd Down

s3rp number

Successful Rush - 3/4 Down

spp number

Successful Pass Plays

s1pp number

Successful Pass - 1st Down

s2pp number

Successful Pass - 2nd Down

s3pp number

Successful Pass - 3/4 Down

lea number

Rush Attempts - Left End

ley number

Rush Yardage - Left End

lta number

Rush Attempts - Left Tackle

lty number

Rush Yardage - Left Tackle

lga number

Rush Attempts - Left Guard

lgy number

Rush Yardage - Left Guard

mda number

Rush Attempts - Middle

mdy number

Rush Yardage - Middle

rga number

Rush Attempts - Right Guard

rgy number

Rush Yardage - Right Guard

rta number

Rush Attempts - Right Tackle

rty number

Rush Yardage - Right Tackle

rea number

Rush Attempts - Right End

rey number

Rush Yardage - Right End

r1a number

Rush Attempts - 1st Down

r1y number

Rush Yardage - 1st Down

r2a number

Rush Attempts - 2nd Down

r2y number

Rush Yardage - 2nd Down

r3a number

Rush Attempts - 3/4 Down

r3y number

Rush Yardage - 3/4 Down

qba number

QB Rush Attempts

qby number

QB Rush Yardage

sla number

Pass Attempts - Short Left

sly number

Pass Yardage - Short Left

sma number

Pass Attempts - Short Middle

smy number

Pass Yardage - Short Middle

sra number

Pass Attempts - Short Right

sry number

Pass Yardage - Short Right

dla number

Pass Attempts - Deep Left

dly number

Pass Yardage - Deep Left

dma number

Pass Attempts - Deep Middle

dmy number

Pass Yardage - Deep Middle

dra number

Pass Attempts - Deep Right

dry number

Pass Yardage - Deep Right

wr1a number

Attempts - WR 1 or 2

wr1y number

Yardage - WR 1 or 2

wr3a number

Attempts - WR 3, 4 or 5

wr3y number

Yardage - WR 3, 4 or 5

tea number

Pass Attempts - TE

tey number

Pass Yardage - TE

rba number

Pass Attempts - RB

rby number

Pass Yardage - RB

sga number

Shotgun Attempts

sgy number

Shotgun Yardage

p1a number

Pass Attempts - 1st Down

p1y number

Pass Yardage - 1st Down

p2a number

Pass Attempts - 2nd Down

p2y number

Pass Yardage - 2nd Down

p3a number

Pass Attempts - 3/4 Down

p3y number

Pass Yardage - 3/4 Down

spc number

Short Completion

Short = 1 - 5 Yards. Medium = 6 - 14 Yards. Long = 15+ Yards.
mpc number

Medium Completion

Short = 1 - 5 Yards. Medium = 6 - 14 Yards. Long = 15+ Yards.
lpc number

Long Completion

Short = 1 - 5 Yards. Medium = 6 - 14 Yards. Long = 15+ Yards.
q1ra number

Rush Attempts - 1st Quarter

q1ry number

Rush Yardage - 1st Quarter

q1pa number

Pass Attempts - 1st Quarter

q1py number

Pass Yardage - 1st Quarter

lcra number

Rush Attempts - Late/Close

Plays in 4th Quarter or Overtime where teams are within 8 points.
lcry number

Rush Yardage - Late/Close

Plays in 4th Quarter or Overtime where teams are within 8 points.
lcpa number

Pass Attempts - Late/Close

Plays in 4th Quarter or Overtime where teams are within 8 points.
lcpy number

Pass Yardage - Late/Close

Plays in 4th Quarter or Overtime where teams are within 8 points.
rzra number

Rush Attempts - Red Zone

Plays in 4th Quarter or Overtime where teams are within 8 points.
rzry number

Rush Yardage - Red Zone

rzpa number

Pass Attempts - Red Zone

rzpy number

Pass Yardage - Red Zone

sky number

Total Yards lost to Sacks

lbs number

Sacks by own LB's

dbs number

Sacks by own DB's

sfpy number

Starting Field Position

Total SFPY for the entire game. Dividing the total by the # of Drives on Offense (DRV) produces the Average Starting Field Position.
drv number

Drives on Offense

npy number

Net Punt Yardage

tb number

Touchbacks

i20 number

Punts inside 20

rtd number

Punts/Kickoff TD's

lnr number

DL Tackles - Rush

lnp number

DL Tackles - Pass

lbr number

LB Tackles - Rush

lbp number

LB Tackles - Pass

dbr number

DB Tackles - Rush

dbp number

DB Tackles - Pass

nha number

No Huddle Attempts

s3a number

3rd & Short Attempts

<=2 Yards to Go.
s3c number

3rd & Short Conversion

l3a number

3rd & Long Attempts

>=6 Yards to Go.
l3c number

3rd & Long Conversion

stf number

Stuffed Runs

Against own Offense - 0 yards on 1st Down or < 25% of yards-to-go achieved on 2nd-4th.
dp number

Points by Defense

Interceptions/Fumbles/Blocked Kicks returned for TD's, Safeties by the Defense.
fsp number

False Starts

ohp number

Off Holding Penalty

Includes Offensive Pass Interference & Illegal Use of Hands
pbep number

Play Book Execution Penalty

Illegal Formations, Passes and Motion; Intentional Grounding, etc.
dlp number

Defensive Line Penalty

Defensive Offside, Encroachment, Neutral Zone Infractions
dsp number

Defensive Secondary Penalty

Defensive Holding, Defensive Pass Interference, Illegal Contact & Use of Hands
dum number

Dumb Penalties

Taunting, Roughing, Face Masks, Unsportsmanlike Conduct, etc.
pfn number

Poor Fundamentals Penalty

Illegal Blocks, Crackbacks, Tripping, Clipping, etc.
snpo number

Snaps on Offense

Snap counts have been tracked since the 2012 season.
snpd number

Snaps on Defense

Snap counts have been tracked since the 2012 season.
saf number

Safeties (by own Defense)

blk number

Blocked Kicks on Punts, FG, XP (by own Defense)

fp number

Fantasy Points (Defense/Special Teams)

We use the following method for scoring defense/special teams (D/ST) fantasy points:
Sack: 1 pt; Interception: 2 pts; Fumble Recovery: 2 pts; INT/FUM Return TD's: 6 pts
Safety: 2 pts; Blocked Kick: 2pts; Kickoff and Punt Return TD's: 6 pts
Shutout: 10 pts; 1-6 PA: 7 pts; 7-13 PA: 4 pts; 14-20 PA: 1 pt
21-27 PA: 0 pts; 28-34 PA: -1 pt; 35+ PA: -4 pts
Note: Points allowed (PA) by team defense/special teams do not include points that were surrendered with the Offense on the field (i.e. Safeties and FUM/INT TD returns).
box4 number

4 Men in the Box

box4y number

4 Men in the Box Yds

box5 number

5 Men in the Box

box5y number

5 Men in the Box Yds

box6 number

6 Men in the Box

box6y number

6 Men in the Box Yds

box7 number

7 Men in the Box

box7y number

7 Men in the Box Yds

box8 number

8+ Men in the Box

box8y number

8+ Men in the Box Yds

avt1 number

1 Available Target

avt1y number

1 Available Target Yds

avt2 number

2 Available Targets

avt2y number

2 Available Targets Yds

avt3 number

3 Available Targets

avt3y number

3 Available Targets Yds

avt4 number

4 Available Targets

avt4y number

4 Available Targets Yds

avt5 number

5 Available Targets

avt5y number

5 Available Targets Yds

pru3 number

3 Pass Rushers

pru3y number

3 Pass Rushers Yds

pru4 number

4 Pass Rushers

pru4y number

4 Pass Rushers Yds

pru5 number

5+ Pass Rushers

pru5y number

5+ Pass Rushers Yds

spru1 number

1 Stunt Pass Rusher

spru1y number

1 Stunt Pass Rusher Yds

spru2 number

2 Stunt Pass Rushers

spru2y number

2 Stunt Pass Rushers Yds

scrm number

QB Scrambles

scrmy number

QB Scramble Yds

blz0 number

No Blitzers

blz0y number

No Blitzers Yds

blz1 number

1 Blitzer

blz1y number

1 Blitzer Yds

blz2 number

2 Blitzers

blz2y number

2 Blitzers Yds

dblz1 number

1 DB Blitzer

dblz1y number

1 DB Blitzer Yds

tts number

Time to Sack (Seconds)

pap number

Play Action Pass

papy number

Play Action Pass Yds

side number

Sideline Pass

sidey number

Sideline Pass Yds

high number

Highlight Pass

highy number

Highlight Pass Yds

oop number

Out of Pocket Pass

oopy number

Out of Pocket Pass Yds

shov number

Shovel/Touch Pass

shovy number

Shovel/Touch Pass Yds

scr number

Screen Pass

scry number

Screen Pass Yds

npr number

No Pressure

npry number

No Pressure Yds

qbp number

QB Pressure

qbpy number

QB Pressure Yds

qbhi number

QB Hit

qbhiy number

QB Hit Yds

qbhu number

QB Hurry

qbhuy number

QB Hurry Yds

htm number

Hindered Throwing Motion

htmy number

Hindered Throw Motion Yds

ytg1 number

Total yards-to-go on 1st Down

ytg2 number

Total yards-to-go on 2nd Down

ytg3 number

Total yards-to-go on 3rd/4th Down

tay1 number

Total true air yards on 1st Down

tay2 number

Total true air yards on 2nd Down

tay3 number

Total true air yards on 3rd/4th Down

dot1 number

Total depth-of-target on 1st Down

dot2 number

Total depth-of-target on 2nd Down

dot3 number

Total depth-of-target on 3rd/4th Down

dotr1 number

Target Depth Rank 1

dotr1y number

Target Depth Rank 1 Yds

dotr2 number

Target Depth Rank 2

dotr2y number

Target Depth Rank 2 Yds

dotr3 number

Target Depth Rank 3

dotr3y number

Target Depth Rank 3 Yds

dotr4 number

Target Depth Rank 4+

dotr4y number

Target Depth Rank 4+ Yds

cov0 number

Target not Covered

cov0y number

Target not Covered Yds

cov1 number

Target Single Coverage

cov1y number

Target Single Coverage Yds

cov2 number

Target Double Covered

cov2y number

Target Double Covered Yds

cnb number

Contested Balls

cnbc number

Contested Balls + Completion

crr number

Created Receptions

crry number

Created Receptions Yds

yac1 number

Total yards-after-catch on 1st Down

yac2 number

Total yards-after-catch on 2nd Down

yac3 number

Total yards-after-catch 3D/4D

drp number

Receiver Drops

qbta number

QB Throw Aways

bap number

Batted Balls

intw number

INT-worthy passes

intwi number

INT-worthy passes + INT

back0 number

0 Players in Backfield

back0y number

0 Players in Backfield Yds

back1 number

1 Player in Backfield

back1y number

1 Player in Backfield Yds

back2 number

2 Players in Backfield

back2y number

2 Players in Backfield Yds

back3 number

3+ Players in Backfield

back3y number

3+ Players in Backfield Yds

per11 number

Plays with '11' personnel

per11y number

Personnel '11' yds

per12 number

Plays with '12' personnel

per12y number

Personnel '12' yds

per21 number

Plays with '21' personnel

per21y number

Personnel '21' yds

per22 number

Plays with '22' personnel

per22y number

Personnel '22' yds

per13 number

Plays with '13' personnel

per13y number

Personnel '13' yds

per10 number

Plays with '10' personnel

per10y number

Personnel '10' yds

HTTP/1.1 200 OK
{
    "data": [{
        "tid":1380,
        "gid":690,
        "tname":"SEA",
        "pts":39,
        "q1p":0,
        "q2p":21,
        "q3p":7,
        "q4p":11,
        "rfd":8,
        "pfd":21,
        "ifd":3,
        "ry":181,
        "ra":29,
        "py":354,
        "pa":35,
        "pc":25,
        "sk":1,
        "ints":0,
        "fum":0,
        "pu":2,
        "gpy":70,
        "pr":0,
        "pry":0,
        "kr":5,
        "kry":73,
        "ir":1,
        "iry":0,
        "pen":52,
        "top":"30.0",
        "td":5,
        "tdr":2,
        "tdp":3,
        "tdt":0,
        "fgm":1,
        "fgat":2,
        "fgy":37,
        "rza":5,
        "rzc":4,
        "bry":102,
        "bpy":169,
        "srp":22,
        "s1rp":15,
        "s2rp":5,
        "s3rp":2,
        "spp":25,
        "s1pp":10,
        "s2pp":11,
        "s3pp":4,
        "lea":6,
        "ley":30,
        "lta":5,
        "lty":58,
        "lga":1,
        "lgy":5,
        "mda":8,
        "mdy":43,
        "rga":2,
        "rgy":8,
        "rta":4,
        "rty":19,
        "rea":3,
        "rey":12,
        "r1a":19,
        "r1y":97,
        "r2a":8,
        "r2y":75,
        "r3a":2,
        "r3y":3,
        "qba":2,
        "qby":24,
        "sla":0,
        "sly":0,
        "sma":0,
        "smy":0,
        "sra":0,
        "sry":0,
        "dla":0,
        "dly":0,
        "dma":0,
        "dmy":0,
        "dra":0,
        "dry":0,
        "wr1a":22,
        "wr1y":288,
        "wr3a":0,
        "wr3y":0,
        "tea":8,
        "tey":66,
        "rba":5,
        "rby":8,
        "sga":0,
        "sgy":0,
        "p1a":15,
        "p1y":199,
        "p2a":13,
        "p2y":113,
        "p3a":8,
        "p3y":42,
        "spc":1,
        "mpc":13,
        "lpc":11,
        "q1ra":6,
        "q1ry":19,
        "q1pa":5,
        "q1py":32,
        "lcra":9,
        "lcry":67,
        "lcpa":10,
        "lcpy":77,
        "rzra":4,
        "rzry":13,
        "rzpa":5,
        "rzpy":25,
        "sky":8,
        "lbs":"0.0",
        "dbs":"1.0",
        "sfpy":229,
        "drv":10,
        "npy":70,
        "tb":0,
        "i20":1,
        "rtd":0,
        "lnr":"8.5",
        "lnp":"0.5",
        "lbr":"9.5",
        "lbp":"10.5",
        "dbr":"9.0",
        "dbp":"11.0",
        "nha":0,
        "s3a":3,
        "s3c":3,
        "l3a":5,
        "l3c":2,
        "stf":4,
        "dp":0,
        "fsp":0,
        "ohp":2,
        "pbep":0,
        "dlp":0,
        "dsp":2,
        "dum":1,
        "pfn":0,
        "snpo":65,
        "snpd":58,
        "saf":0,
        "blk":0,
        "fp":3
        "box4":5,	
        "box4y":55,	
        "box5":8,	
        "box5y":14,	
        "box6":19,	
        "box6y":135,	
        "box7":10,	
        "box7y":-6,	
        "box8":0,	
        "box8y":0,	
        "avt1":0,	
        "avt1y":0,	
        "avt2":0,	
        "avt2y":0,	
        "avt3":11,	
        "avt3y":84,	
        "avt4":12,	
        "avt4y":14,	
        "avt5":18,	
        "avt5y":100,
        "pru3":0,	
        "pru3y":0,	
        "pru4":2,	
        "pru4y":14,	
        "pru5":3,	
        "pru5y":12,	
        "spru1":1,	
        "spru1y":18,	
        "spru2":0,	
        "spru2y":0,	
        "scrm":1,	
        "scrmy":6,	
        "blz0":8,	
        "blz0y":103,	
        "blz1":4,	
        "blz1y":22,	
        "blz2":0,	
        "blz2y":0,	
        "dblz1":0,	
        "dblz1y":0,	
        "tts":23,	
        "pap":5,	
        "papy":82,	
        "side":0,	
        "sidey":0,	
        "high":0,	
        "highy":0,	
        "oop":1,	
        "oopy":0,	
        "shov":0,	
        "shovy":0,	
        "scr":1,	
        "scry":10,	
        "npr":0,	
        "npry":0,	
        "qbp":4,	
        "qbpy":44,	
        "qbhi":1,	
        "qbhiy":0,	
        "qbhu":2,	
        "qbhuy":13,	
        "htm":0,	
        "htmy":0,	
        "ytg1":190,	
        "ytg2":132,	
        "ytg3":67,	
        "tay1":272,	
        "tay2":222,	
        "tay3":162,	
        "dot1":148,	
        "dot2":130,	
        "dot3":102,	
        "dotr1":0,	
        "dotr1y":0,	
        "dotr2":0,	
        "dotr2y":0,	
        "dotr3":0,	
        "dotr3y":0,	
        "dotr4":0,	
        "dotr4y":0,	
        "cov0":6,	
        "cov0y":97,	
        "cov1":3,	
        "cov1y":33,	
        "cov2":1,	
        "cov2y":16,	
        "cnb":0,	
        "cnbc":0,	
        "crr":0,	
        "crry":0,	
        "yac1":41,	
        "yac2":38,	
        "yac3":11,	
        "drp":0,	
        "qbta":0,	
        "bap":0,	
        "intw":0,	
        "intwi":0,	
        "back0":0,	
        "back0y":0,	
        "back1":0,	
        "back1y":0,	
        "back2":0,	
        "back2y":0,	
        "back3":0,	
        "back3y":0,	
        "per11":0,	
        "per11y":0,	
        "per12":0,	
        "per12y":0,	
        "per21":0,	
        "per21y":0,	
        "per22":0,	
        "per22y":0,	
        "per13":0,	
        "per13y":0,	
        "per10":0,	
        "per10y":0   
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID Required.

GameNotFound

Game not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game not found.",
        "status_code":404
     }
}

game - Touchdowns

https://armchairanalysis.com/api/1.0/game/:gid/touchdowns

Parameter

Field Type Description
gid number

Game ID

Size range: 1-5057

Success 200

Field Type Description
pid number

Play ID

qtr number

Quarter

min number

Minutes

sec number

Seconds

dwn number

Down

yds number

Yards

pts number

Points (6, 7, 8)

player string

Scoring Player

type string

Type

10 Possible Values: RUSH - Rush; REC - Reception; BLFG - Blocked FG Return; BLPU - Blocked Punt Return; KR - Kick-off Return; PR - Punt Return; MFGR - Missed FG Return; INT - Interception Return; FUM - Fumble Recovery Return; ORCV - Offensive Player Fumble Recovery
HTTP/1.1 200 OK
{
    "data": [{
        "pid":741565,
        "qtr":1,
        "min":1,
        "sec":26,
        "dwn":1,
        "pts":7,
        "player":"FT-0300",
        "type":"RUSH"
     },
     {...}]
}

Error 4xx

Field Description
GameNotFound

Game not found.

TouchdownsNotFound

Touchdowns not found.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Game not found.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Touchdowns not found.",
        "status_code":404
     }
}

games

season - Blocks

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/blocks?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brcv string

Recovering Player ID

type string

Play Type (PUNT, FG, XP)

HTTP/1.1 200 OK
{
    "data": [{
        "pid":1435,
        "blk":"JJ-4100",
        "brcv":"TG-1500",
        "type":"FG"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Charted Stats

Take your analysis of Quarterbacks and Receivers to the next level with our custom game-charted data.

The Chart table includes much of the basic information from the PBP table along with 31 other stats exclusive to ArmchairAnalysis.com (at the play-level). This data is available from the 2018 season onwards.

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/charts?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2018 +

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

detail text

Play Text

off string

Team on Offense

def string

Team on Defense

type string

Play Type

2 Possible values: RUSH - Rush; PASS - Pass
qb string

Quarterback ID

trg string

Pass Target ID

qtr number

Quarter (OT = 5)

los string

Line of Scrimmage location (team-yardline)

dwn number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
yds string

Yards Gained or Lost

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

comp boolean

Completion

ints boolean

Intercepted

box number

Number of Defenders in the box

Pass plays only.
avt number

Available Targets

Number of skill players (WR-TE-RB) running a route on the play. AVT does not determine whether the target was open or not.
pru number

Pass Rush

Total number of players rushing the passer.
spru number

Stunt Pass Rushers

These are the number blitzing LB's who replace a DL dropping back into coverage. Included in the PRU total
blz number

Blitz

Total number of LB's and DB's blitzing.
dblz number

DB Blitz

Number of DB's blitzing. This is included in the BLZ total.
tts number

Time to Sack

Seconds elapsed between the snap and a Sack.
pap boolean

Play Action Pass

Does not consider whether a defense was fooled or not, just that a QB motioned to the RB with the ball and some effort to sell the run occurred.
side boolean

Sideline pass

Balls outside of the field but catchable when the receiver extends body/arms.
high boolean

Highlight pass

Perfect pass that only the receiver can reach. Features perfect placement in a tight window.
oop boolean

Out of Pocket pass

Quarterback attempts the pass out of the pocket whether pressured or not.
shov boolean

Shovel/Touch pass

scr boolean

Screen pass

qbp boolean

QB Pressured

A Pressure is marked on plays where the pocket is breached, the QB is near the breach, and, is not throwing the ball when the breach occurs. Screen passes are not pressurable.
qbhi boolean

QB Hit

QB was brought to the ground by a defensive player (including sacks) or otherwise significantly man-handled by a defender. (0 - No, 1 - Yes).
qbhu boolean

QB Hurry

The Defense forces the QB to leave the pocket or forces the QB to throw the ball before he's fully ready. See page 7 for more details.
htm boolean

Hindered Throwing Motion

tay number

True Air Yards

Distance ball travels in the air from point of throw to a receivers hands; back of endzone or sideline.
dot number

Depth Of Target

Distance from LOS when ball is caught or comes closest to the target.
dotr number

Target Depth Rank

The distance from the QB to the pass target relative to all other available targets. #1 is closest to the QB.
cov number

Coverage on the targeted receiver

Uncovered is 0, single coverage is 1, double is 2.
cnb boolean

Contested Balls

Passes into close coverage that involve a physical battle between receiver and defender for control of the ball.
crr boolean

Created Receptions

Difficult catches that require exceptional body control; hands; acrobatics, or any combination thereof.
yac number

Yards After Catch

drp boolean

Dropped pass

Balls that would have been caught by a receiver with league-average skills. (0- No, 1 - Yes).
qbta boolean

Throw Away

QB unloaded the ball to avoid sack or just generally decides nothing good can happen on the play.
bap boolean

Batted Ball

Balls swatted away at line of scrimmage or by a defender breaking up a pass play.
intw boolean

INT Worthy

Designates a bad pass that should have been intercepted but may have been dropped by a defender. It can also show when an INT was not the QB's fault (intw = 0 and int = 1).
back number

Number of players in the Backfield

(RB + TE + FB + WR)
rb number

Personnel Groups (#RB's)

Example: 1 RB and no TE's is a '10' group. Common groups are split out in the teams table showing usage and yardage gained. (i.e. PER10 and PER10Y).
te number

Personnel Groups (#TE's)

Example: 1 RB and no TE's is a '10' group. Common groups are split out in the teams table showing usage and yardage gained. (i.e. PER10 and PER10Y).
HTTP/1.1 200 OK
{
    "data":{
        "gid":4791,
        "pid":785512,
        "detail":"(15:00) (Shotgun) M.Ryan pass short right to J.Jones pushed ob at ATL 30 for 10 yards.",
        "off":"ATL",
        "def":"PHI",
        "type":"PASS",
        "qb":"MR-2500",
        "trg":"JJ-4700",
        "qtr":1,
        "los":"ATL 20",
        "dwn":1,
        "ytg":15,
        "yfog":20,
        "zone":1,
        "yds":"10",
        "succ":1,
        "fd":0,
        "sg":0,
        "nh":0,
        "comp":1,
        "ints":0,    
        "box":0,    
        "avt":5,    
        "pru":4,    
        "spru":0,    
        "blz":1,    
        "dblz":0,    
        "tts":0,    
        "pap":0,    
        "side":0,    
        "high":1,    
        "oop":0,    
        "shov":0,    
        "scr":0,    
        "qbp":0,    
        "qbhi":0,    
        "qbhu":0,    
        "htm":0,    
        "tay":15,    
        "dot":9,    
        "dotr":2,    
        "cov":2,    
        "cnb":0,          
        "crr":0,
        "yac":1,
        "drp":0,    
        "qbta":0,    
        "bap":0,        
        "intw":0,        
        "back":2,        
        "rb":1,        
        "te":1
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Conversions

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/conversions?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

type string

'PASS' or 'RUSH'

bc string

Ball Carrier ID

psr string

Passer ID

trg string

Pass Target ID

conv boolean

Converted

HTTP/1.1 200 OK
{
    "data": [{
        "pid":2422,
        "type":"PASS",
        "bc":"",
        "psr":"KW-0500",
        "trg":"AH-0200",
        "conv":0
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Defense Stats

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/defense?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Defensive Player ID

solo number

Solo Tackles

comb number

Combined Tackles

sck number

Sack

saf number

Safety

blk number

Blocked Kick

ints number

Interception

pdef number

Passes Defended

frcv number

Fumble Recovery

forc number

Fumble Forced

tdd number

Defensive TD

Touchdowns resulting from Fumble, Interception and Blocked Kick returns.
rety number

Return Yardage

Yardage from Punt and Kickoff returns.
tdret number

Return TD

Punts and Kickoffs returned for touchdowns.
peny number

Penalty Ydg

snp number

Snaps

Snap counts have been tracked since the 2012 season. Note: Special Teams snaps are not counted. Players who only generated stats on Special Teams will show a snap count of 0.
fp number

NFL.com Fantasy Points

fp2 number

Fan Duel / Draft Kings Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
posd string

Position - Depth Chart

The listed depth chart position provides more granular information than POS1 or POS2. As an example: LB's are broken down into MLB, LILB, RILB and so on. This will be provided starting in 2015. Prior seasons show 'NA'.
jnum number

Jersey Number

dcp number

Depth Chart Position

nflid number

NFL ID

HTTP/1.1 200 OK
{
    "data": [{
        "uid":1368,
        "gid":45,
        "player":"MM-5400",
        "solo":"1.0",
        "comb":"1.0",
        "sck":"0.0",
        "saf":0,
        "blk":0,
        "ints":0,
        "pdef":0,
        "frcv":0,
        "forc":0,
        "tdd":0,
        "rety":0,
        "tdret":0,
        "peny":10,
        "snp":8,
        "fp":"1.5",
        "fp2":"0.0",
        "game":1,
        "seas":6,
        "year":2000,
        "team":"GB",
        "posd":"ROLB",
        "jnum":96,
        "dcp":1,
        "nflid":2502214
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Drive Stats

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/drives?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

fpid number

First Play ID

tname string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
drvn number

Drive Number (for team)

obt string

How Obtained

The following abbreviations are used: KO, PUNT, BLPU (Blocked Punt), DWNS, MFG (Missed FG), BLFG (Blocked FG), INT, FUM.
qtr number

Quarter that Drive Started

min number

Length of Drive (Minutes)

sec number

Length of Drive (Seconds)

yfog number

Starting Field Position (Yards from own goal)

plays number

Number of Plays in Drive

succ number

Successful Plays

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
rfd number

Rushing First Downs

pfd number

Passing First Downs

ofd number

Other First Downs

ry number

Rushing Yardage

ra number

Rushing Attempts

py number

Passing Yardage

pa number

Passing Attempts

pc number

Pass Completions

peyf number

Penalty Yardage on Opponent

peya number

Penalty Yardage Against

net number

Net Yardage

Drive Net Yardage is a combination of Rushing Yds, Passing Yds and the Penalty yardage assessed on the drive.
res string

Drive Result

The following abbreviations are used: TD, FG, MFG (Missed FG), BLFG (Blocked FG), SAF (Safety), PUNT, BLPU (Blocked Punt), INT, FUM, ENDQ (End of Quarter), DWNS (Downs).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":125,
        "gid":6,
        "fpid":830,
        "tname":"SEA",
        "drvn":1,
        "obt":"KOFF",
        "qtr":1,
        "min":2,
        "sec":22,
        "yfog":22,
        "plays":5,
        "succ":1,
        "rfd":0,
        "pfd":1,
        "ofd":0,
        "ry":3,
        "ra":2,
        "py":9,
        "pa":3,
        "pc":1,
        "peyf":0,
        "peya":0,
        "net":15,
        "res":"INT"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - FGXPs

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/fgxps?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

fgxp string

'FG' or 'XP'

fkicker string

Kicker ID

dist number

Distance

good boolean

Attempt was Good

HTTP/1.1 200 OK
{
    "data": [{
        "pid":461691,
        "fgxp":"XP",
        "fkicker":"SG-1100",
        "dist":20,
        "good":1
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Fumbles

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/fumbles?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

fum string

Fumbler ID

frcv string

Recovering Player ID

fry number

Fumble Return Yardage

forc string

Forcing Player ID

HTTP/1.1 200 OK
{
    "data": [{
        "pid":446943,
        "fum":"KO-0700",
        "frcv":"TB-2400",
        "fry":12,
        "forc":"MM-3800"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Game Details

https://armchairanalysis.com/api/1.0/games/:yr

Parameter

Field Type Description
yr number

Season

Size range: 2000-2018

Success 200

Field Type Description
gid number

Game ID

seas number

Season

week number

Week Number

day string

Day of Week

5 Possible Choices: THU (Thursday), SAT (Saturday), SUN (Sunday), SN (Sunday Night), MN (Monday Night)
v string

Visiting Team

h string

Home Team

stad string

Stadium Name

temp number

Temperature (F)

humd number

Humidity

wspd number

Wind Speed

wdir string

Wind Direction

cond string

Conditions

18 Possible Choices: Closed Roof; Dome; Flurries; Light Snow; Snow; Chance Rain; Light Rain; Rain; Mostly Cloudy; Partly Cloudy; Cloudy; Mostly Sunny; Partly Sunny; Sunny; Hazy; Foggy; Clear; Fair.
surf string

Surface

11 Possible Choices: Grass; AstroTurf; AstroPlay; FieldTurf; SportGrass; NeXTurf; MomentumTurf; DD GrassMaster; Sportex; A Turf Titan; UBU Speed Series S5M
ou number

Over/Under

sprv number

Visitor Point Spread

ptsv number

Points - Visitor

ptsh number

Points - Home

HTTP/1.1 200 OK
{
    "data": [{
        "gid":2422,
        "seas":2009,
        "wk":3,
        "day":"SUN",
        "v":"WAS",
        "h":"DET",
        "stad":"Ford Field",
        "temp":"68",
        "humd":"",
        "wspd":"",
        "wdir":"",
        "cond":"Dome",
        "surf":"FieldTurf",
        "ou":39,
        "sprv":"-6.5",
        "ptsv":14,
        "ptsh":19
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Injuries

Injuries have been tracked since 2015.

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/injuries?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2015-2017

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Player ID

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
details string

Exact Nature of Injury

pstat string

Practive Status prior to Game

gstat string

Game Status

6 Possible Choices: Available; Out; Doubtful; Questionable; IR (Injured Reserve); PUP (Physically unable to perform).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":620,
        "gid":4032,
        "player":"CH-3100",
        "team":"PIT",
        "details":"Elbow",
        "pstat":"Full Participation in Practice",
        "gstat":"Questionable"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Interceptions

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/interceptions?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

psr string

Passer ID

ints string

Intercepting Player ID

iry number

Interception Return Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "pid":594494,
        "psr":"AD-0100",
        "ints":"EW-0400",
        "iry":21
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Kicker Stats

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/kickers?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Kicker ID

pat number

Points after TD's

fgs number

FG's Made (< 40 yds)

fgm number

FG's Made (40 - 49 yds)

fgl number

FG's Made (50+ yds)

fp number

NFL.com Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
HTTP/1.1 200 OK
{
    "data": [{
        "uid":2074,
        "gid":1045,
        "player":"MV-0100",
        "pat":5,
        "fgs":2,
        "fgm":0,
        "fgl":0,
        "fp":"11.0",
        "game":17,
        "seas":6,
        "year":2003,
        "team":"IND"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Kickoffs

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/kickoffs?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

kicker string

Kicker ID

kgro number

Gross Yardage

knet number

Net Yardage

ktb boolean

Touchback

kr string

Kick Returner ID

kry number

Return Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "pid":602473,
        "kicker":"NN-0200",
        "kgro":65,
        "knet":42,
        "ktb":0,
        "kr":"GJ-0350",
        "kry":23
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Offense Stats

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/offense?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Offensive Player ID

pa number

Pass Attempts

pc number

Completions

py number

Pass Yards

ints number

Interceptions thrown by QB

tdp number

Touchdowns - Passing

ra number

Rushing Attempts

sra number

Successful Rushing Attempts

ry number

Rush Yards

tdr number

Touchdowns - Rushing

trg number

Times Targeted

rec number

Receptions

recy number

Receiving Yards

tdrec number

Touchdowns - Receiving

ret number

Number of Punt / Kickoff Returns

rety number

Return Yardage

Yardage from Punt and Kickoff returns.
tdret number

Return TD

Punts and Kickoffs returned for touchdowns.
fuml number

Fumbles Lost

peny number

Penalty Yardage

conv number

Conversion

Can be a pass completion, rush, or reception on a successful 2pt conversion.
snp number

Snaps

Snap counts have been tracked since the 2012 season. Note: Special Teams snaps are not counted. Players who only generated stats on Special Teams will show a snap count of 0.
fp number

NFL.com Fantasy Points

fp2 number

Fan Duel Fantasy Points

fp3 number

Draft Kings Fantasy Points

game number

Player Game Number

seas number

Seasons Played

year number

NFL Season

team string

Team Name Abbreviated

(ARI - ATL - BAL - BUF - CAR - CHI - CIN - CLE - DAL - DEN - DET - GB - HOU - IND - JAC - KC - LA - LAC - MIA - MIN - NE - NO - NYG - NYJ - OAK - PHI - PiT - SEA - SF - TB - TEN - WAS)
posd string

Position - Depth Chart

The listed depth chart position provides more granular information than POS1 or POS2. As an example: LB's are broken down into MLB, LILB, RILB and so on. This will be provided starting in 2015. Prior seasons show 'NA'.
jnum number

Jersey Number

dcp number

Depth Chart Position

nflid number

NFL ID

HTTP/1.1 200 OK
{
    "data": [{
        "uid":63753,
        "gid":3245,
        "player":"PM-0200",
        "pa":38,
        "pc":30,
        "py":338,
        "ints":0,
        "tdp":3,
        "ra":1,
        "sra":0,
        "ry":-1,
        "tdr":0,
        "trg":0,
        "rec":0,
        "recy":0,
        "tdrec":0,
        "ret":0,
        "rety":0,
        "tdret":0,
        "fuml":0,
        "peny":0,
        "conv":0,
        "snp":62,
        "fp":"25.4",
        "fp2":"26.4",
        "fp3":"28.4",
        "game":4,
        "seas":15,
        "year":2012,
        "team":"DEN",
        "posd":"QB",
        "jnum":18,
        "dcp":1,
        "nflid":2501863
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Passing

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/passing?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

psr string

Passer ID

trg string

Pass Target ID

loc string

Location

General location of the Pass Target: Short Middle (SM), Short Left (SL), Short Right (SR), Deep Middle (DM), Deep Left (DL), Deep Right (DR). Deep passes are typically received 15+ yards from scrimmage. 'NL' stands for 'Not Listed'.
yds number

Yards Gained

comp boolean

Completion

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
spk boolean

Spiked Ball

dfb string

Defender ID

HTTP/1.1 200 OK
{
    "data": [{
        "pid":514900,
        "psr":"KC-1400",
        "trg":"BL-1200",
        "loc":"SR",
        "yds":0,
        "comp":0,
        "succ":0,
        "spk":0,
        "dfb":"TB-2700"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Penalties

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/penalties?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

ptm string

Flagged Team

pen string

Flagged Player ID

desc string

Penalty Description

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat number

Category

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey number

Yardage Assessed

act string

Action (D/O/A)

Penalty was Declined (D), Offsetting (O) or Accepted (A).
HTTP/1.1 200 OK
{
    "data": [{
        "uid":49669,
        "pid":557241,
        "ptm":"BAL",
        "pen":"AB-2000",
        "desc":"Offensive Holding",
        "cat":2,
        "pey":10,
        "act":"A"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Plays (Basic)

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/plays?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

down number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

pts number

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
tck boolean

Tackle(s) on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
sk boolean

Sack on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
pen boolean

Penalty on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
ints boolean

Interception on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
fum boolean

Fumble on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
saf boolean

Safety on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block). Safeties that occur on balls out of bounds will show 0 (no player attributed).
blk boolean

Block on Play

Boolean (0 or 1) - indicates if more info is contained in 1 of 7 secondary tables (Tackle, Sack, Penalty, Intercpt, Fumble, Safety or Block).
HTTP/1.1 200 OK
{
    "data":{[
        "gid":3984,
        "pid":650901,
        "off":"CAR",
        "def":"SEA",
        "type":"PASS",
        "dseq":1,
        "len":39,
        "qtr":2,
        "min":4,
        "sec":47,
        "ptso":7,
        "ptsd":14,
        "timo":3,
        "timd":3,
        "dwn":1,
        "ytg":10,
        "yfog":21,
        "zone":2,
        "fd":0,
        "sg":0,
        "nh":0,
        "pts":0,
        "tck":1,
        "sk":0,
        "pen":0,
        "ints":0,
        "fum":0,
        "saf":0,
        "blk":0
     },
     {...}]
}

Error 4xx

Field Description
GameIDRequired

Game ID required.

SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Game ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Plays (Expanded)

This endpoint replaces the boolean values for tackles, penalties etc. with the actual data from the applicable table.

It also provides expanded play data in an object with the same name as the play type (ex., pass, rush, fgxp, etc.)

This endpoint also uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/plays?count=25&start=26&mode=expanded

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

down number

Down

ytg number

Yards to Go

yfog number

Yards from own Goal (1-99)

zone number

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
fd boolean

First Down

sg boolean

Shot-gun

nh boolean

No Huddle

pts number

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
tck object

Tackle Details (0 if none)

sk object

Sack Details (0 if none)

pen object

Penalty Details (0 if none)

ints object

Interception Details (0 if none)

fum object

Fumble Details (0 if none)

saf object

Safety Details (0 if none)

blk object

Block Details (0 if none)

pass object

Object name and content will change based on Play Type (eg. pass, rush, punt, koff, fgxp or conv)

HTTP/1.1 200 OK
{
    "data":{[
        "gid":9,
        "pid":1356,
        "off":"NO",
        "def":"DET",
        "type":"PASS",
        "dseq":3,
        "len":30,
        "qtr":2,
        "min":5,
        "sec":35,
        "ptso":7,
        "ptsd":3,
        "timo":3,
        "timd":2,
        "dwn":3,
        "ytg":16,
        "yfog":16,
        "zone":1,
        "fd":0,
        "sg":1,
        "nh":0,
        "pts":0,
        "tck":0,
        "sk":0,
        "pen":[{
            "uid":112,
            "ptm":"NO",
            "pen":"BW-1100",
            "desc":"Personal Foul",
            "cat":6,
            "pey":15,
            "act":"A"
         }],
         "ints":{
             "psr":"JB-3800",
             "ints":"KS-0300",
             "iry":6
         },
         "fum":0,
         "saf":0,
         "blk":0,
         "pass":{
             "psr":"JB-3800",
             "trg":"KP-0900",
             "loc":"SR",
             "yds":0,
             "comp":0,
             "succ":0,
             "spk":0,
             "dfb":""
         }
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Plays (Flat)

This endpoint returns all data stored on each play, mirroring our play-by-play CSV flat-file: PBP.csv.

Starting with the 'dwn' variable, string values are returned (even for numerics) due to the potential for null values.

A player ID can also be added to the query string to filter plays to just that player. This is optional.

This endpoint also uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/plays?count=25&start=26&mode=flat&player=:id

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Optional Parameter

Field Type Description
id string

Player ID

Player ID's can also be added to the query string (&player=AR-1300 for example). Plays that featured that player on offense, defense, special teams or even a penalty call will be returned.

Success 200

Field Type Description
gid number

Game ID

pid number

Play ID

detail text

Play Text

off string

Team on Offense

def string

Team on Defense

type string

Play Type

8 Possible values: RUSH - Rush; PASS - Pass; FGXP - Field-Goal/Extra-Point Attempt; PUNT - Punt; KOFF - Kick-off; ONSD - Onside Kick; NOPL - No-Play due to Penalty; CONV - 2 Point Coversion Attempt
dseq number

Drive Sequence #

len number

Play Length (seconds)

Play lengths are highly inaccurate in the 2000 and 2001 season's due to sporadic recording of play clock times. When an actual length cannot be calculated, an average is used (i.e., 35s for a Pass Comp, 30 for a Rushing Play).
qtr number

Quarter (OT = 5)

min number

Minutes on Clock

sec number

Seconds on Clock

ptso number

Points - Offense

ptsd number

Points - Defense

timo number

Timeouts - Offense

timd number

Timeouts - Defense

dwn string

Down

ytg string

Yards to Go

yfog string

Yards from own Goal (1-99)

zone string

Field Zone (1-5)

1 = Own 0 - 20 Yard Line, 2 = Own 21 - 40, 3 = Midfield, 4 = Opponent's 21 - 40, 5 = Red Zone
yds string

Yards Gained or Lost

succ string

Successful Play (Y)

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
fd string

First Down (Y)

sg string

Shot-gun

nh string

No Huddle (Y)

pts string

Points Scored on Play

A negative value indicates points scored by a defensive unit. (ie, a blocked kick returned for a TD, etc).
bc string

Ball Carrier ID

kne string

Knee (Y)

dir string

Rush Direction

The direction of the Rushing Play: Left End (LE), Right End (RE), Left Guard (LG), Right Guard (RG), Left Tackle (LT), Right Tackle (RT) or up the Middle (MD). Note: 'NL' stands for 'Not Listed'
rtck1 string

Rush Tackler #1 ID

rtck2 string

Rush Tackler #2 ID

psr string

Passer ID

comp string

Completion (Y)

spk string

Spiked Ball (Y)

loc string

Pass Location

General location of the Pass Target: Short Middle (SM), Short Left (SL), Short Right (SR), Deep Middle (DM), Deep Left (DL), Deep Right (DR). Deep passes are typically received 15+ yards from scrimmage. 'NL' stands for 'Not Listed'.
trg string

Pass Target ID

dfb string

Pass Defender ID

ptck1 string

Pass Tacker #1 ID

ptck2 string

Pass Tackler #2 ID

sk1 string

Sacking Player #1 ID

sk2 string

Sacking Player #2 ID

ptm1 string

Flagged Team - Penalty #1

pen1 string

Flagged Player ID - Penalty #1

desc1 string

Description - Penalty #1

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat1 string

Category - Penalty #1

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey1 string

Yardage Assessed - Penalty #1

act1 string

Action (D/O/A) - Penalty #1

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ptm2 string

Flagged Team - Penalty #2

pen2 string

Flagged Player ID - Penalty #2

desc2 string

Description - Penalty #2

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat2 string

Category - Penalty #2

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey2 string

Yardage Assessed - Penalty #2

act2 string

Action (D/O/A) - Penalty #2

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ptm3 string

Flagged Team - Penalty #3

pen3 string

Flagged Player ID - Penalty #3

desc3 string

Description - Penalty #3

There are a total of 48 different Penalty types that are recorded, accounting for 99.8% of all penalties called in the NFL ('Other' is used for the remainder).
cat3 string

Category - Penalty #3

  1. False Start
  2. Offensive Holding
  3. Play Book Execution
  4. Defensive Line
  5. Defensive Secondary
  6. Dumb
  7. Poor Fundamentals (Blocking/Tackling)
  8. Other

pey3 string

Yardage Assessed - Penalty #3

act3 string

Action (D/O/A) - Penalty #3

Penalty was Declined (D), Offsetting (O) or Accepted (A).
ints string

Intercepting Player ID

iry string

INT Return Yardage

fum string

Fumbling Player ID

frcv string

Fumble Recoverer Player ID

fry string

Fumble Return Yardage

forc string

Forcing Player ID

saf string

Player ID (credited with Safety)

blk string

Kick Blocker ID

brcv string

Kick Block Recoverer ID

fgxp string

Kick Type (FG/XP)

fkicker string

FG/XP Kicker ID

dist string

FG/XP Distance

good string

Kick Good (Y/N)

punter string

Punter ID

pgro string

Punt Gross Yards

pnet string

Punt Net Yards

ptb string

Punt Touchback (Y)

pr string

Punt Returner ID

pry string

Punt Return Yards

pfc string

Punt Fair Caught (Y)

kicker string

Kicker ID (Kickoff)

kgro string

Kickoff Gross Yards

knet string

Kickoff Net Yards

ktb string

Kickoff Touchback (Y)

kr string

Kickoff Returner ID

kry string

Kickoff Return Yards

HTTP/1.1 200 OK
{
    "data":{[
        "gid":4536,
        "pid":743537,
        "detail":"(5:39) (Shotgun) E.Manning pass incomplete short right to S.Vereen. Penalty on NYG-J.Jerry, Offensive Holding, declined.",
        "off":"NYG",
        "def":"DAL",
        "type":"PASS",
        "dseq":3,
        "len":8,
        "qtr":1,
        "min":5,
        "sec":39,
        "ptso":0,
        "ptsd":3,
        "timo":3,
        "timd":2,
        "dwn":"3",
        "ytg":"5",
        "yfog":"30",
        "zone":"2",
        "yds":"",
        "succ":"",
        "fd":"",
        "sg":"Y",
        "nh":"",
        "pts":"",
        "bc":"",
        "kne":"",
        "dir":"",
        "rtck1":"",
        "rtck2":"",
        "psr":"EM-0200",
        "comp":"",
        "spk":"",
        "loc":"SR",
        "trg":"SV-0200",
        "dfb":"",
        "ptck1":"",
        "ptck2":"",
        "sk1":"",
        "sk2":"",
        "ptm1":"NYG",
        "pen1":"JJ-2100",
        "desc1":"Offensive Holding",
        "cat1":"2",
        "pey1":"",
        "act1":"",
        "ptm2":"",
        "pen2":"",
        "desc2":"",
        "cat2":"",
        "pey2":"",
        "act2":"",
        "ptm3":"",
        "pen3":"",
        "desc3":"",
        "cat3":"",
        "pey3":"",
        "act3":"",
        "ints":"",
        "iry":"",                 
        "fum":"",
        "frcv":"",
        "fry":"",
        "forc":"",
        "saf":"",
        "blk":"",
        "brcv":"",
        "fgxp":"",
        "fkicker":"",
        "dist":"",
        "good":"",
        "punter":"",
        "pgro":"",
        "pnet":"",
        "ptb":"",
        "pr":"",
        "pry":"",
        "pfc":"",
        "kicker":"",
        "kgro":"",
        "knet":"",
        "ktb":"",
        "kr":"",
        "kry":""
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Punts

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/punts?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

punter string

Punter ID

pgro number

Gross Yardage

pnet number

Net Yardage

ptb boolean

Touchback

pr string

Punt Returner ID

pry number

Return Yardage

pfc boolean

Fair Catch

HTTP/1.1 200 OK
{
    "data": [{
        "pid":312791,
        "punter":"JB-3500",
        "pgro":48,
        "pnet":19,
        "ptb":0,
        "pr":"CT-1400",
        "pry":29,
        "pfc":0
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Redzone Stats

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/redzone?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

player string

Offensive Player ID

pa number

Pass Attempts

pc number

Completions

py number

Pass Yards

ints number

Interceptions thrown by QB

ra number

Rushing Attempts

sra number

Successful Rushing Attempts

ry number

Rush Yards

trg number

Times Targeted

rec number

Receptions

recy number

Receiving Yards

fuml number

Fumbles Lost

peny number

Penalty Yardage

HTTP/1.1 200 OK
{
    "data": [{
        "uid":32784,
        "gid":3245,
        "player":"LB-0100",
        "pa":0,
        "pc":0,
        "py":0,
        "ints":0,
        "ra":2,
        "sra":0,
        "ry":2,
        "trg":1,
        "rec":1,
        "recy":14,
        "fuml":0,
        "peny":0
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Rushing

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/rushing?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

bc string

Ball Carrier ID

dir string

Rush Direction

The direction of the Rushing Play: Left End (LE), Right End (RE), Left Guard (LG), Right Guard (RG), Left Tackle (LT), Right Tackle (RT) or up the Middle (MD). Note: 'NL' stands for 'Not Listed'
yds number

Yards Gained

succ boolean

Successful Play

Applies to Rush/Pass Plays only. Generally, a play is deemed 'Successful' when the following occurs: 40% of yards-to-go are gained on 1st down; 60% of yards-to-go on 2nd down; or 100% of yards-to-go on 3rd & 4th down.
kne boolean

Kneel Down

HTTP/1.1 200 OK
{
    "data": [{
        "pid":427092,
        "bc":"RM-3900",
        "dir":"RG",
        "yds":36,
        "succ":1,
        "kne":0
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Sacks

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/sacks?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

qb string

Quarterback ID

sk string

Sacking Player ID

value number

Solo (1.0) or Shared (0.5)

ydsl number

Yards Lost

HTTP/1.1 200 OK
{
    "data": [{
        "uid":11591,
        "pid":381059,
        "qb":"BR-1100",
        "sk":"TB-3100",
        "value":"1.0",
        "ydsl":-10
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Safeties

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/safeties?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
pid number

Play ID

saf string

Player ID (credited with Safety)

HTTP/1.1 200 OK
{
    "data": [{
        "pid":642608,
        "saf":"NB-0500"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Tackles

This endpoint uses pagination and returns a maximum of 1000 records per call.

If a 'count' is not specified it will default to 1000.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/tackles?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
uid number

Unique ID

pid number

Play ID

tck string

Tackling Player ID

value number

Solo (1.0) or Shared (0.5)

HTTP/1.1 200 OK
{
    "data": [{
        "uid":403631,
        "pid":610131,
        "tck":"DW-3200",
        "value":"1.0"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Season not found.",
        "status_code":404
     }
}

season - Team Stats

This endpoint uses pagination and returns a maximum of 200 records per call.

If a 'count' is not specified it will default to 200.

Use 'start' to retrieve blocks of query results (?count=100&start=101 will return 101-200).

https://armchairanalysis.com/api/1.0/games/:yr/teams?count=25&start=26

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2018

Success 200

Field Type Description
tid number

Team Total ID

gid number

Game ID/p>

tname string

Team Name

pts number

Points

q1p number

1st Quarter Points

q2p number

2nd Quarter Points

q3p number

3rd Quarter Points

q4p number

4th Quarter Points

rfd number

1st Downs - Rush

pfd number

1st Downs - Pass

ifd number

1st Downs - Penalty

ry number

Rush Yards

ra number

Rush Attempts

py number

Pass Yards

pa number

Pass Attempts

pc number

Completions

sk number

Sacks (Against)

ints number

INT's for Defense

fum number

Fumbles Lost

pu number

Punts

gpy number

Gross Punt Yardage

pr number

Punt Returns

pry number

Punt Return Yardage

kr number

Kick-off Returns

kry number

Kick-off Ret Yardage

ir number

Defense INT Returns

iry number

INT Return Yardage

pen number

Penalty Yardage (Against)

top number

Time-of-Possession

td number

Touchdowns

tdr number

TD's - Rushing

tdp number

TD's - Passing

tdt number

TD's via Turnovers

fgm number

Field Goals Made

fgat number

Field Goal Attempts

fgy number

Field Goal Yardage

Total Yardage of all Attempts.
rza number

Drives in Red Zone

rzc number

Red Zone Drive TD's

bry number

Big Rush Yardage

From Runs of 10+ Yards
bpy number

Big Pass Yardage

From Pass Completions of 20+ Yards
srp number

Successful Rush Plays

s1rp number

Successful Rush - 1st Down

s2rp number

Successful Rush - 2nd Down

s3rp number

Successful Rush - 3/4 Down

spp number

Successful Pass Plays

s1pp number

Successful Pass - 1st Down

s2pp number

Successful Pass - 2nd Down

s3pp number

Successful Pass - 3/4 Down

lea number

Rush Attempts - Left End

ley number

Rush Yardage - Left End

lta number

Rush Attempts - Left Tackle

lty number

Rush Yardage - Left Tackle

lga number

Rush Attempts - Left Guard

lgy number

Rush Yardage - Left Guard

mda number

Rush Attempts - Middle

mdy number

Rush Yardage - Middle

rga number

Rush Attempts - Right Guard

rgy number

Rush Yardage - Right Guard

rta number

Rush Attempts - Right Tackle

rty number

Rush Yardage - Right Tackle

rea number

Rush Attempts - Right End

rey number

Rush Yardage - Right End

r1a number

Rush Attempts - 1st Down

r1y number

Rush Yardage - 1st Down