ArmchairAnalysis.com NFL API

An Affordable NFL Data API. Daily Updates.

game

game - Blocks

http://armchairanalysis.com/api/1.0/game/:id/blocks

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brvc string

Recovering Player ID

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

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 - Conversions

http://armchairanalysis.com/api/1.0/game/:id/conversions

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

posd string

Position - Detailed

Position Detailed 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

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":2
     },
     {...}]
}

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

fpid number

First Play ID

tname string

Team Name Abbreviated

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

http://armchairanalysis.com/api/1.0/game/:id/fgxps

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/fumbles

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/injuries

Parameter

Field Type Description
gid number

Game ID

Size range: 3990-4256

Success 200

Field Type Description
player string

Player ID

team string

Team Name Abbreviated

details string

Exact Nature of Injury

pstat string

Practive Status prior to Game

gstat string

Game Status

4 Possible Choices: Out; Doubtful; Questionable; Probable.
HTTP/1.1 200 OK
{
    "data": [{
        "gid":4032,
        "player":"CH-3100",
        "team":"PIT",
        "details":"Elbow",
        "pstat":"Full Participation in Practice",
        "gstat":"Probable"
     },
     {...}]
}

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

http://armchairanalysis.com/api/1.0/game/:id/interceptions

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

http://armchairanalysis.com/api/1.0/game/:id/kickoffs

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

posd string

Position - Detailed

Position Detailed 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

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
     },
     {...}]
}

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

http://armchairanalysis.com/api/1.0/game/:id/passing

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/penalties

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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)

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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.

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.)

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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 - Punts

http://armchairanalysis.com/api/1.0/game/:id/punts

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/rushing

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/sacks

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/safeties

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

http://armchairanalysis.com/api/1.0/game/:id/tackles

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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.
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,
     },
     {...}]
}

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

http://armchairanalysis.com/api/1.0/game/:id/touchdowns

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

cond 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":697180,
        "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

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brvc string

Recovering Player ID

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

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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

posd string

Position - Detailed

Position Detailed 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

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":2
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

Success 200

Field Type Description
uid number

Unique ID

gid number

Game ID

fpid number

First Play ID

tname string

Team Name Abbreviated

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/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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - Game Details (All)

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).

http://armchairanalysis.com/api/1.0/games?count=25&start=26

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
     },
     {...}]
}

games - Game Details (by Season)

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

Parameter

Field Type Description
yr number

Season

Size range: 2000-2015

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
     }
}

games - Game Details (by Team)

This endpoint returns games where the team was Away (odd numbered UID) or Home (even numbered UID)

http://armchairanalysis.com/api/1.0/games/:tname

Parameter

Field Type Description
tname string

Team Name Abbreviation

Success 200

Field Type Description
gid number

Game ID

seas number

Season

week number

Week Number

day string

Day of Week

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
TeamNotFound

Team not found.

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

games - Injuries

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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2015

Success 200

Field Type Description
gid number

Game ID

player string

Player ID

team string

Team Name Abbreviated

details string

Exact Nature of Injury

pstat string

Practive Status prior to Game

gstat string

Game Status

4 Possible Choices: Out; Doubtful; Questionable; Probable.
HTTP/1.1 200 OK
{
    "data": [{
        "gid":4032,
        "player":"CH-3100",
        "team":"PIT",
        "details":"Elbow",
        "pstat":"Full Participation in Practice",
        "gstat":"Probable"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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

posd string

Position - Detailed

Position Detailed 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

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
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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.)

Finally, instead of a numeric ID, the actual player ID's for each Offensive Lineman are returned.

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).

http://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-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - 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).

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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
     }
}

games - Team Stats

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

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

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

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

Parameter

Field Type Description
yr number

NFL Season

Size range: 2000-2015

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

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

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.
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,
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

games - Touchdowns

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).

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

Parameter

Field Type Description
gid number

Game ID

Size range: 1-4256

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

cond 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":697180,
        "qtr":1,
        "min":1,
        "sec":26,
        "dwn":1,
        "pts":7,
        "player":"FT-0300",
        "type":"RUSH"
     },
     {...}]
}

Error 4xx

Field Description
SeasonNotFound

Season not found.

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

play

play - Block

http://armchairanalysis.com/api/1.0/block/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brvc string

Recovering Player ID

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

Error 4xx

Field Description
PlayIDRequired

Play ID required.

BlockNotFound

A block was not registered on that play.

HTTP/1.1 404 Not Found
{
    "error": {
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error": {
        "message":"A block was not registered on that play.",
        "status_code":404
     }
}

play - Conversion

http://armchairanalysis.com/api/1.0/conv/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

ConversionNotFound

A conversion was not registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"A conversion was not registered on that play.",
        "status_code":404
     }
}

play - FG/XP

http://armchairanalysis.com/api/1.0/fgxp/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

NotFGXP

Not a field-goal or extra-point play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Not a field-goal or extra-point play.",
        "status_code":404
     }
}

play - Fumble

http://armchairanalysis.com/api/1.0/fumble/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

FumbleNotFound

A fumble was not registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"A fumble was not registered on that play.",
        "status_code":404
     }
}

play - Interception

http://armchairanalysis.com/api/1.0/interception/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

InterceptionNotFound

An interception was not registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"An interception was not registered on that play.",
        "status_code":404
     }
}

play - Kickoff

http://armchairanalysis.com/api/1.0/kickoff/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

NotKickoff

Not a kickoff play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Not a kickoff play.",
        "status_code":404
     }
}

play - Pass

http://armchairanalysis.com/api/1.0/pass/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

NotPass

Not a passing play (or QB was sacked).

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Not a passing play (or QB was sacked).",
        "status_code":404
     }
}

play - Penalty

http://armchairanalysis.com/api/1.0/penalty/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

PenaltiesNotFound

No penalties were registered on that play..

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"No penalties were registered on that play.",
        "status_code":404
     }
}

play - Play (Basic)

http://armchairanalysis.com/api/1.0/play/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

PlayNotFound

Play not found.

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

play - Play (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.)

Finally, instead of a numeric ID, the actual player ID's for each Offensive Lineman are returned.

http://armchairanalysis.com/api/1.0/play/:pid?mode=expanded

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

PlayNotFound

Play not found.

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

play - Punt

http://armchairanalysis.com/api/1.0/punt/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

NotPunt

Not a punt play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Not a punt play.",
        "status_code":404
     }
}

play - Rush

http://armchairanalysis.com/api/1.0/rush/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

NotRush

Not a rushing play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Not a rushing play.",
        "status_code":404
     }
}

play - Sack

http://armchairanalysis.com/api/1.0/sack/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

SackNotFound

No sacks were registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"No sacks were registered on that play.",
        "status_code":404
     }
}

play - Safety

http://armchairanalysis.com/api/1.0/safety/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

SafetyNotFound

A safety was not registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"A safety was not registered on that play.",
        "status_code":404
     }
}

play - Tackle

http://armchairanalysis.com/api/1.0/tackle/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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
PlayIDRequired

Play ID required.

TacklesNotFound

No tackles were registered on that play (special teams not included).

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"No tackles were registered on that play (special teams not included).",
        "status_code":404
     }
}

play - Touchdown

http://armchairanalysis.com/api/1.0/Touchdown/:pid

Parameter

Field Type Description
pid number

Play ID

Size range: 1-697180

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": [{
        "pid":697180,
        "qtr":1,
        "min":1,
        "sec":26,
        "dwn":1,
        "pts":7,
        "player":"FT-0300",
        "type":"RUSH"
    }
}

Error 4xx

Field Description
PlayIDRequired

Play ID required.

TouchdownNotFound

No Touchdown was registered on that play.

HTTP/1.1 404 Not Found
{
    "error":{
        "message":"Play ID required.",
        "status_code":404
     }
}
HTTP/1.1 404 Not Found
{
    "error":{
        "message":"No Touchdown was registered on that play.",
        "status_code":404
     }
}

player

player - Blocks

This endpoint returns records where the player was the Blocker and/or the Recovering Player.

http://armchairanalysis.com/api/1.0/player/:id/blocks

Parameter

Field Type Description
id string

Player ID

Success 200

Field Type Description
pid number

Play ID

blk string

Blocker ID

brvc string

Recovering Player ID

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

Error 4xx

Field Description
PlayerNotFound

Player not Found.

BlocksNotFound

Blocks not found.

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

player - Conversions

This endpoint returns records where the player was the Ball Carrier, Passer or Pass Target on the conversion attempt.

http://armchairanalysis.com/api/1.0/player/:id/conversions

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

ConversionsNotFound

Conversions not found.

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

player - Defense Stats

http://armchairanalysis.com/api/1.0/player/:id/defense

Parameter

Field Type Description
id string

Player ID

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

posd string

Position - Detailed

Position Detailed 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

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":2
     },
     {...}]
}

Error 4xx

Field Description
PlayerNotFound

Player not Found.

DefenseStatsNotFound

Defense Stats not found.

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

player - FG/XP's

http://armchairanalysis.com/api/1.0/player/:id/fgxp

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

FGXPNotFound

Field goals / extra points not found.

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

player - Fumbles

This endpoint returns records where the player was the Fumbler, Recovering player, or the player that forced the fumble.

http://armchairanalysis.com/api/1.0/player/:id/fumbles

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

FumblesNotFound

Fumbles not found.

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

player - Injuries

http://armchairanalysis.com/api/1.0/player/:id/injuries

Parameter

Field Type Description
id string

Player ID

Success 200

Field Type Description
gid number

Game ID

player string

Player ID

team string

Team Name Abbreviated

details string

Exact Nature of Injury

pstat string

Practive Status prior to Game

gstat string

Game Status

4 Possible Choices: Out; Doubtful; Questionable; Probable.
HTTP/1.1 200 OK
{
    "data": [{
        "gid":4032,
        "player":"CH-3100",
        "team":"PIT",
        "details":"Elbow",
        "pstat":"Full Participation in Practice",
        "gstat":"Probable"
     },
     {...}]
}

Error 4xx

Field Description
PlayerNotFound

Player not Found.

InjuriesNotFound

Injuries not found.

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

player - Interceptions

This endpoint returns records where the player was the Passer or Intercepting player.

http://armchairanalysis.com/api/1.0/player/:id/interceptions

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

InterceptionsNotFound

Interceptions not found.

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

player - Kicker Stats

http://armchairanalysis.com/api/1.0/player/:id/kickers

Parameter

Field Type Description
id string

Player ID

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

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
PlayerNotFound

Player not Found.

KickerStatsNotFound

Kicker stats not found.

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

player - Kickoffs

This endpoint returns records where the player was the Kicker or Kick Returner.

http://armchairanalysis.com/api/1.0/player/:id/kickoffs

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

KickoffsNotFound

Kickoffs not found.

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

player - Offense Stats

http://armchairanalysis.com/api/1.0/player/:id/offense

Parameter

Field Type Description
id string

Player ID

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

posd string

Position - Detailed

Position Detailed 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

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
     },
     {...}]
}

Error 4xx

Field Description
PlayerNotFound

Player not Found.

OffenseStatsNotFound

Offense Stats not found.

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

player - 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).

Note: This endpoint returns records where the player was the Passer, Pass Target or Defensive Back.

http://armchairanalysis.com/api/1.0/player/:id/passing?count=25&start=26

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

PassingPlaysNotFound

Passing plays not found.

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

player - Penalties

http://armchairanalysis.com/api/1.0/player/:id/penalties

Parameter

Field Type Description
id string

Player ID

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
PlayerNotFound

Player not Found.

PenaltiesNotFound

Penalties not found.

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

player - Player (by Full Name)

http://armchairanalysis.com/api/1.0/player/:fname_lname

Parameter

Field Type Description
fname string

First Name

lname string

Last Name

Success 200

Field Type Description
player string

Player ID

fname string

First Name

lname string

Last Name

pname string

Play-by-Play Name

pos1 string

Primary Position

The most common 'general' position (i.e., LB, DL, DB) that the player is used at. Position2 is the alternate. For a more detailed label, see POSD.
pos2 string

Alternate Position

height number

Height (Inches)

weight number

Weight (Lbs)

dob number

Year of Birth

forty number

40yd Dash Time

bench number

Bench Press

vertical number

Vertical Leap

broad number

Broad Jump

shuttle number

20yd Shuttle Time

cone number

3 Cone Drill Time

arm number

Arm Length

hand number

Hand Size

dpos number

Draft Position

col string

College

dv string

College Division

The Division listed will be the division that the players college was affiliated with in their final year of college play. All 1-A Divisions along with the majority of 1-AA Divisions that have been in existence since 1988 are listed.
start number

1st Year of Play

cteam string

Current Team

posd string

Position - Detailed

Position Detailed 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

HTTP/1.1 200 OK
{
    "data":{
        "player":"AD-1150",
        "fname":"Andrew",
        "lname":"DePaola",
        "pname":"A.DePaola",
        "pos1":"LS",
        "pos2":"",
        "height":74,
        "weight":230,
        "dob":1/24/1987,
        "forty":"4.73",
        "bench":20,
        "vertical":"33.0",
        "broad":109,
        "shuttle":"4.28",
        "cone":"6.88",
        "arm":"0.000",
        "hand":"0.000",
        "dpos":0,
        "col":"Rutgers",
        "dv":"Big Ten",
        "start":2013,
        "cteam":"TB",
        "posd":"RT",
        "jnum":85,
        "dcp":1
     }]
}

Error 4xx

Field Description
PlayerNotFound

Player not found.

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

player - Player (by ID)

http://armchairanalysis.com/api/1.0/player/:id

Parameter

Field Type Description
id string

Player ID

Success 200

Field Type Description
player string

Player ID

fname string

First Name

lname string

Last Name

pname string

Play-by-Play Name

pos1 string

Primary Position

The most common 'general' position (i.e., LB, DL, DB) that the player is used at. Position2 is the alternate. For a more detailed label, see POSD.
pos2 string

Alternate Position

height number

Height (Inches)

weight number

Weight (Lbs)

dob number

Year of Birth

forty number

40yd Dash Time

bench number

Bench Press

vertical number

Vertical Leap

broad number

Broad Jump

shuttle number

20yd Shuttle Time

cone number

3 Cone Drill Time

arm number

Arm Length

hand number

Hand Size

dpos number

Draft Position

col string

College

dv string

College Division

The Division listed will be the division that the players college was affiliated with in their final year of college play. All 1-A Divisions along with the majority of 1-AA Divisions that have been in existence since 1988 are listed.
start number

1st Year of Play

cteam string

Current Team

posd string

Position - Detailed

Position Detailed 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

HTTP/1.1 200 OK
{
    "data":{
        "player":"AD-1150",
        "fname":"Andrew",
        "lname":"DePaola",
        "pname":"A.DePaola",
        "pos1":"LS",
        "pos2":"",
        "height":74,
        "weight":230,
        "dob":1/24/1987,
        "forty":"4.73",
        "bench":20,
        "vertical":"33.0",
        "broad":109,
        "shuttle":"4.28",
        "cone":"6.88",
        "arm":"0.000",
        "hand":"0.000",
        "dpos":0,
        "col":"Rutgers",
        "dv":"Big Ten",
        "start":2013,
        "cteam":"TB",
        "posd":"RT",
        "jnum":85,
        "dcp":1
     }
}

Error 4xx

Field Description
PlayerNotFound

Player not found.

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

player - Punts

This endpoint returns records where the player was the Punter or Punter Returner.

http://armchairanalysis.com/api/1.0/player/:id/punts

Parameter

Field Type Description
id string

Player ID

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