Skip to content

Instantly share code, notes, and snippets.

@nntrn
Last active December 10, 2024 23:24
Show Gist options
  • Save nntrn/ee26cb2a0716de0947a0a4e9a157bc1c to your computer and use it in GitHub Desktop.
Save nntrn/ee26cb2a0716de0947a0a4e9a157bc1c to your computer and use it in GitHub Desktop.
List of nfl api endpoints from espn

List of NFL API Endpoints

This page has been updated a lot in the past 3 years. Older revisions you might like more than this one:

  • June 2021 - list of endpoints for other sports/leagues (i.e. basketball, baseball, lacrosse, rugby)
  • August 2021 - get historical fantasy league data
  • September 2021 - list of endpoints in plain text
  • May 2023 - collapsed endpoint response examples


Additional Resources


Notes

  • This page is limited to NFL endpoints but can be refashioned for other leagues (i.e. /sports/football/leagues/nfl/ => /sports/baseball/leagues/mlb/)

    List of ESPN leagues: API | Document


Paramaters

  • {YEAR}: Football season (YYYY)
  • {SEASONTYPE}: 1=pre, 2=regular, 3=post, 4=off
  • {EVENT_ID}: game id
  • {TEAM_ID}: 1-32 (view all)
  • {ATHLETE_ID}: view all
  • {FANTASY_LEAGUE_ID}: Fantasy league id
  • {BET_PROVIDER_ID}: view all

Table of Contents

Game Night

Reference List

Get list of ids

News

Detailed

Get live updates (xhr=1)

Odds

Teams


[TOC]

Games

Athletes


[TOC]

Calendar

Scoreboard

Leagues

Search


[TOC]

Pick em challenges

Parameters

  • {USER_GAME_ID}
  • {GROUP_ID}
  • CHALLENGE {ID} and {NAME}
    • [231] nfl-win-totals-2023
    • [232] nfl-eliminator-challenge-2023
    • [230] nfl-pigskin-pickem-2023
  • {VIEW_NAME}
    • ⭐ allon
    • ⭐ chui_default
    • chui_default_group
    • chui_default_groupParticipationHistory
    • chui_default_metadata
    • chui_pagetype_group_picks
    • pagetype_leaderboard

Fantasy

v3 header:
X-Fantasy-Filter: {"players":{"limit":2000},"filterActive":{"value":true}}

v2

Fantasy Filters

Fantasy Stats

  • Position

    { "1": "QB",
      "2": "RB",
      "3": "WR",
      "4": "TE",
      "5": "K",
     "16": "DST" }
  • Player stats

    {  "3": "passingYards",
       "4": "passingTouchdowns",
      "19": "passing2PtConversions",
      "20": "passingInterceptions",
      "24": "rushingYards",
      "25": "rushingTouchdowns",
      "26": "rushing2PtConversions",
      "42": "receivingYards",
      "43": "receivingTouchdowns",
      "44": "receiving2PtConversions",
      "53": "receivingReceptions",
      "72": "lostFumbles",
      "74": "madeFieldGoalsFrom50Plus",
      "77": "madeFieldGoalsFrom40To49",
      "80": "madeFieldGoalsFromUnder40",
      "85": "missedFieldGoals",
      "86": "madeExtraPoints",
      "88": "missedExtraPoints",
      "89": "defensive0PointsAllowed",
      "90": "defensive1To6PointsAllowed",
      "91": "defensive7To13PointsAllowed",
      "92": "defensive14To17PointsAllowed",
      "93": "defensiveBlockedKickForTouchdowns",
      "95": "defensiveInterceptions",
      "96": "defensiveFumbles",
      "97": "defensiveBlockedKicks",
      "98": "defensiveSafeties",
      "99": "defensiveSacks",
     "101": "kickoffReturnTouchdown",
     "102": "puntReturnTouchdown",
     "103": "fumbleReturnTouchdown",
     "104": "interceptionReturnTouchdown",
     "123": "defensive28To34PointsAllowed",
     "124": "defensive35To45PointsAllowed",
     "129": "defensive100To199YardsAllowed",
     "130": "defensive200To299YardsAllowed",
     "132": "defensive350To399YardsAllowed",
     "133": "defensive400To449YardsAllowed",
     "134": "defensive450To499YardsAllowed",
     "135": "defensive500To549YardsAllowed",
     "136": "defensiveOver550YardsAllowed" }


[TOC]

REST API Response Examples

TABLE OF CONTENTS


Expand for view

ATHLETE PROFILE API

URL: https://site.web.api.espn.com/apis/common/v3/sports/football/nfl/athletes/14876

{
  "athlete": {
    "id": "14876",
    "uid": "s:20~l:28~a:14876",
    "guid": "2d6af5dcb3d3e2d4cf7227d4a8eb93cd",
    "type": "football",
    "firstName": "Ryan",
    "lastName": "Tannehill",
    "displayName": "Ryan Tannehill",
    "fullName": "Ryan Tannehill",
    "debutYear": 2012,
    "jersey": "17",
    "links": [
      {
        "language": "en",

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes?limit=1000

{
  "count": 4559,
  "pageIndex": 1,
  "pageSize": 1000,
  "pageCount": 5,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/2576336"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/3049325"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/3915373"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/14876

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/12483",
  "id": "12483",
  "uid": "s:20~l:28~a:12483",
  "guid": "20c41c33a33f6dc27e1f0771e39ce49a",
  "type": "football",
  "alternateIds": {
    "sdr": "2219510"
  },
  "firstName": "Matthew",
  "lastName": "Stafford",
  "fullName": "Matthew Stafford",
  "displayName": "Matthew Stafford",
  "shortName": "M. Stafford",
  "weight": 220,

[TOP]

ATHLETE BIO API

URL: https://site.web.api.espn.com/apis/common/v3/sports/football/nfl/athletes/14876/bio

{
  "teamHistory": [
    {
      "id": "10",
      "uid": "s:20~l:28~t:10",
      "slug": "tennessee-titans",
      "displayName": "Tennessee Titans",
      "logo": "https://a.espncdn.com/i/teamlogos/nfl/500/ten.png",
      "seasons": "2019-CURRENT",
      "links": [
        {
          "language": "en",
          "rel": [
            "clubhouse",
            "desktop",

[TOP]

ATHLETE EVENTLOG API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2022/athletes/14876/eventlog

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2022/athletes/14876/eventlog",
  "teams": {
    "10": {
      "team": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2022/teams/10"
      },
      "id": "10"
    }
  },
  "events": {
    "count": 17,
    "pageIndex": 1,
    "pageSize": 25,
    "pageCount": 1,
    "items": [
      {
        "event": {
          "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437640"
        },
        "competition": {
          "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437640/competitions/401437640"
        },
        "statistics": {
          "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437640/competitions/401437640/competitors/10/roster/14876/statistics/0"
        },
        "teamId": "10",
        "played": true
      },

[TOP]

ATHLETE GAMELOG API

URL: https://site.web.api.espn.com/apis/common/v3/sports/football/nfl/athletes/14876/gamelog

{
  "categories": [
    {
      "name": "passing",
      "displayName": "Passing",
      "count": 11
    },
    {
      "name": "rushing",
      "displayName": "Rushing",
      "count": 5
    }
  ],
  "filters": [
    {

[TOP]

ATHLETE NOTES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/14876/notes

{
  "count": 1,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "id": "498444",
      "type": "news",
      "date": "2021-12-17T20:14Z",
      "headline": "Stafford and the Rams aren't in line to play the Seahawks on Sunday, with the NFL expected to reschedule the game for Tuesday at 7 p.m. ET, pending official confirmation, Adam Schefter of ESPN reports.",
      "text": "Due to ongoing COVID-19-related issues within the Rams organization, the NFL is hopeful that by delaying the game two days, Los Angeles will be able to restore enough players from the reserve/COVID-19 list to alleviate depth concerns on the roster. After Tuesday's game, the Rams will face a quick turnaround for Week 16 with a Sunday game in Minnesota on Dec. 26.",
      "source": "RotoWire"
    }
  ]
}

[TOP]

ATHLETE PROJECTIONS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/projections

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/statistics/0",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "athlete": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/14876"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "type": "total",
    "categories": [
      {

[TOP]

ATHLETE SPLITS API

URL: https://site.web.api.espn.com/apis/common/v3/sports/football/nfl/athletes/14876/splits

{
  "filters": [
    {
      "displayName": "League",
      "name": "league",
      "value": "nfl",
      "options": [
        {
          "value": "college-football",
          "displayValue": "NCAAF"
        },
        {
          "value": "nfl",
          "displayValue": "NFL"
        }

[TOP]

ATHLETE STATISTICS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/14876/statistics/0

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/12483/statistics/0",
  "athlete": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/12483"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "categories": [
      {
        "name": "general",
        "displayName": "General",
        "shortDisplayName": "General",
        "abbreviation": "gen",

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/statistics

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/statistics/0",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "athlete": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/14876"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "type": "total",
    "categories": [
      {

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/statistics/0

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/12483/statistics/0",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "athlete": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/12483"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "type": "total",
    "categories": [
      {

[TOP]

ATHLETE STATISTICSLOG API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/14876/statisticslog

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/14876/statisticslog",
  "entries": [
    {
      "season": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
      },
      "statistics": [
        {
          "type": "total",
          "statistics": {
            "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/athletes/14876/statistics/0"
          }
        },
        {

[TOP]

ATHLETE STATS API

URL: https://site.web.api.espn.com/apis/common/v3/sports/football/nfl/athletes/14876/stats

{
  "filters": [
    {
      "displayName": "League",
      "name": "league",
      "value": "nfl",
      "options": [
        {
          "value": "college-football",
          "displayValue": "NCAAF"
        },
        {
          "value": "nfl",
          "displayValue": "NFL"
        }

[TOP]

CALENDAR API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar

{
  "count": 4,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/ondays"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/offdays"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/whitelist"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/blacklist"
    }
  ]
}

[TOP]

CALENDAR BLACKLIST API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/blacklist

{
  "type": "list",
  "startDate": "2021-07-17T07:00Z",
  "endDate": "2022-02-16T07:59Z",
  "eventDate": {
    "type": "blacklist",
    "dates": [
      "2021-07-17T07:00Z",
      "2021-07-18T07:00Z",
      "2021-07-19T07:00Z",
      "2021-07-20T07:00Z",
      "2021-07-21T07:00Z",
      "2021-07-22T07:00Z",
      "2021-07-23T07:00Z",

[TOP]

CALENDAR WHITELIST API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/calendar/whitelist

{
  "type": "list",
  "startDate": "2021-07-17T07:00Z",
  "endDate": "2022-02-16T07:59Z",
  "eventDate": {
    "type": "whitelist",
    "dates": [
      "2021-08-05T07:00Z",
      "2021-08-12T07:00Z",
      "2021-08-13T07:00Z",
      "2021-08-14T07:00Z",
      "2021-08-15T07:00Z",
      "2021-08-19T07:00Z",
      "2021-08-20T07:00Z",

[TOP]

GAME PREDICTION API

Example: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437954/competitions/401437954/powerindex/30

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437954/competitions/401437954/powerindex/30?lang=en&region=us",
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2022/teams/30?lang=en&region=us"
  },
  "season": 2022,
  "stats": [
    {
      "name": "teampredptdiff",
      "displayName": "PRED PT DIFF",
      "description": "Expected margin of victory for the FPI favorite.",
      "abbreviation": "PRED PT DIFF",
      "value": 12.175,
      "displayValue": "12.2"
    },
    {
      "name": "gameprojection",
      "displayName": "WIN PROB",
      "description": "Team's predicted win percentage in this game at time of given BPI run",
      "abbreviation": "GAME PROJ",
      "value": 84.81,
      "displayValue": "84.8%"
    },
    {
      "name": "matchupquality",
      "displayName": "MATCHUP QUALITY",
      "description": "A measure of projected competitiveness and excitement in the game, using a 0 to 100 scale, with 100 as the most exciting",
      "abbreviation": "MATCHUP QUALITY",
      "value": 35.261,
      "displayValue": "35.3"
    },
    {
      "name": "teamadjgamescore",
      "displayName": "GAME SCORE",
      "description": "A measure of how well a team performed compared to their expected performance and the expected performance of a typical top 25 team.",
      "abbreviation": "TEAM ADJ GAMESCORE",
      "displayValue": ""
    }
  ]
}

[TOP]

COMPETITION DRIVES API

http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401249063/competitions/401249063/drives/4012490631

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401249063/competitions/401249063/drives/4012490631",
  "id": "4012490631",
  "description": "16 plays, 75 yards, 9:18",
  "sequenceNumber": "1",
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/23"
  },
  "endTeam": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/23"
  },
  "start": {
    "period": {
      "type": "quarter",
      "number": 1

[TOP]

BETTING ODDS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/odds

},{
  "provider": {
    "id": "1001",
    "name": "accuscore",
    "priority": 0
  },
  "details": "BAL -7.5",
  "overUnder": 49,
  "spread": 7.5,
  "overOdds": -111,
  "underOdds": -111,
  "awayTeamOdds": {
    "favorite": true,
    "underdog": false,
    "moneyLine": -370,
    "spreadOdds": -111,
    "team": {}
  },
  "homeTeamOdds": {
    "favorite": false,
    "underdog": true,
    "moneyLine": 280,
    "spreadOdds": -111,
    "team": {}
  },
  "moneylineWinner": false,
  "spreadWinner": false
},

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/odds/1003

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/odds/1003",
  "provider": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/providers/1003",
    "id": "1003",
    "name": "numberfire",
    "priority": 0
  },
  "details": "ATL -3.5",
  "overUnder": 48.5,
  "spread": -3.5,
  "overOdds": 45.31,
  "underOdds": 54.69,
  "awayTeamOdds": {
    "averageScore": 20.62,

[TOP]

COMPETITION PLAYS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401249063/competitions/401249063/plays/4012490631

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401249063/competitions/401249063/plays/4012490631",
  "id": "4012490631",
  "sequenceNumber": "100",
  "type": {
    "id": "70",
    "text": "Coin Toss"
  },
  "text": "GAME",
  "shortText": "PIT Win Toss, Elect to Receive",
  "alternativeText": "GAME",
  "shortAlternativeText": "PIT Win Toss, Elect to Receive",
  "awayScore": 0,
  "homeScore": 0,
  "period": {

[TOP]

GETS ALL PLAYS FOR A GAME: API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/plays?limit=400

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/plays?source=2",
  "count": 167,
  "pageIndex": 1,
  "pageSize": 100,
  "pageCount": 2,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/plays/4012201811",
      "id": "4012201811",
      "sequenceNumber": "100",
      "type": {
        "id": "70",
        "text": "Coin Toss"
      },

[TOP]

COMPETITION PROBABILITIES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/probabilities/4012490631

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/probabilities/4012490631",
  "competition": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315"
  },
  "play": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/plays/4012490631"
  },
  "homeTeam": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
  },
  "awayTeam": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/21"
  },
  "tiePercentage": 0,

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/probabilities?limit=200

{
  "count": 166,
  "pageIndex": 1,
  "pageSize": 200,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/probabilities/4012201811",
      "competition": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181"
      },
      "play": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/plays/4012201811"
      },
      "homeTeam": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2020/teams/34"
      },
      "awayTeam": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2020/teams/33"
      },
      "tiePercentage": 0,
      "homeWinPercentage": 0.312,
      "awayWinPercentage": 0.688,
      "lastModified": "2020-09-21T00:14Z",
      "sequenceNumber": "100",
      "source": {
        "id": "2",
        "description": "feed",
        "state": "full"
      },
      "secondsLeft": 0
    },

[TOP]

COMPETITOR ROSTER API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/competitors/34/roster

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401220181/competitions/401220181/competitors/34/roster",
  "entries": [
    {
      "playerId": 13979,
      "period": 0,
      "active": false,
      "starter": true,
      "forPlayerId": 0,
      "jersey": "99",
      "valid": true,
      "athlete": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2020/athletes/13979"
      },
      "position": {

[TOP]

DRAFT ATHLETES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes?limit=500

{
  "count": 366,
  "pageIndex": 1,
  "pageSize": 500,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes/104734"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes/104760"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes/104737"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes/104933"

[TOP]

DRAFT ROUNDS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/rounds

{
  "count": 7,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "number": 1,
      "displayName": "1st Round",
      "shortDisplayName": "1st",
      "picks": [
        {
          "status": {
            "id": 3,
            "name": "SELECTION_MADE",

[TOP]

DRAFT STATUS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/status

{
  "round": 7,
  "type": {
    "id": 3,
    "name": "COMPLETED",
    "state": "post",
    "description": "Completed"
  }
}

[TOP]

EVENTS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events

{
  "$meta": {
    "parameters": {
      "week": [
        "15"
      ],
      "season": [
        "2021"
      ],
      "seasontypes": [
        "2"
      ]
    }
  },
  "count": 16,

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315",
  "id": "401326315",
  "uid": "s:20~l:28~e:401326315",
  "date": "2021-09-12T17:00Z",
  "name": "Philadelphia Eagles at Atlanta Falcons",
  "shortName": "PHI @ ATL",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "seasonType": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2"
  },
  "week": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/1"

[TOP]

EVENT COMPETITIONS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315

{
  "id": "401326315",
  "guid": "b64e5dc5-c943-33e6-a6c9-44008b28b11a",
  "uid": "s:20~l:28~e:401326315~c:401326315",
  "date": "2021-09-12T17:00Z",
  "attendance": 68633,
  "type": {
    "id": "1",
    "text": "Standard",
    "abbreviation": "STD",
    "slug": "standard",
    "type": "standard"
  },
  "necessary": false,

[TOP]

FRANCHISES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises

{
  "count": 32,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 2,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises/2"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises/3"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises/1

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/franchises/1",
  "id": "1",
  "uid": "s:20~l:28~f:1",
  "slug": "atlanta-falcons",
  "location": "Atlanta",
  "name": "Falcons",
  "nickname": "Atlanta",
  "abbreviation": "ATL",
  "displayName": "Atlanta Falcons",
  "shortDisplayName": "Falcons",
  "color": "000000",
  "isActive": true,
  "logos": [
    {

[TOP]

GROUP STANDINGS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/1/standings

{
  "count": 4,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "id": "0",
      "name": "overall",
      "displayName": "Overall Standings",
      "links": [
        {
          "language": "en-US",
          "rel": [

[TOP]

GROUP TEAMS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/1/teams

{
  "count": 4,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/6"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/19"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/21"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/28"
    }
  ]
}

[TOP]

LEADERS API

URL: https://site.api.espn.com/apis/site/v3/sports/football/nfl/leaders?season=2021

  "leaders": {
    "id": "0",
    "name": "TOTAL",
    "abbreviation": "Any",
    "categories": [
      {
        "name": "passingYards",
        "displayName": "Passing Yards",
        "abbreviation": "YDS",
        "leaders": [
          {
            "displayValue": "404",
            "value": 404,
            "rel": [
              "athlete"
            ],
            "athlete": {
              "id": "3139477",
              "uid": "s:20~l:28~a:3139477",
              "guid": "37d87523280a9d4a0adb22cfc6d3619c",
              "firstName": "Patrick",
              "lastName": "Mahomes",
              "displayName": "Patrick Mahomes",
              "fullName": "Patrick Mahomes",

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/leaders

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/leaders/0",
  "id": "0",
  "name": "total",
  "abbreviation": "TOTAL",
  "categories": [
    {
      "name": "totalPoints",
      "displayName": "Total Points",
      "shortDisplayName": "TP",
      "abbreviation": "TP",
      "leaders": [
        {
          "displayValue": "2673",
          "value": 2673,

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/leaders/0

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/leaders/0",
  "id": "0",
  "name": "total",
  "abbreviation": "TOTAL",
  "categories": [
    {
      "name": "totalPoints",
      "displayName": "Total Points",
      "shortDisplayName": "TP",
      "abbreviation": "TP",
      "leaders": [
        {
          "displayValue": "2673",
          "value": 2673,

[TOP]

NEWS API

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/news

{
  "header": "NFL News",
  "link": {
    "language": "en",
    "rel": [
      "index",
      "desktop",
      "league"
    ],
    "href": "https://www.espn.com/nfl/",
    "text": "All NFL News",
    "shortText": "All News",
    "isExternal": false,
    "isPremium": false
  },

[TOP]

ODD PREDICTORS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315/odds/1003/predictors

{
  "count": 5,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "rank": 1,
      "total": "OVER",
      "value": 90.363,
      "displayValue": "90.4",
      "predictorCompetition": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326315/competitions/401326315"
      },
      "projectedWinner": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/8"
      },
      "cover": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/8"
      },
      "projectedCover": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
      }
    },

[TOP]

POSITIONS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/8

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/8",
  "id": "8",
  "name": "Quarterback",
  "displayName": "Quarterback",
  "abbreviation": "QB",
  "leaf": true,
  "parent": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/70"
  }
}

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions?limit=100

{
  "count": 73,
  "pageIndex": 1,
  "pageSize": 100,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/0"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/2"
    },

[TOP]

PROVIDERS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/providers/1003

{
  "id": "1003",
  "name": "numberfire",
  "priority": 0
}

[TOP]

SCOREBOARD API

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard

{
  "leagues": [
    {
      "id": "28",
      "uid": "s:20~l:28",
      "name": "National Football League",
      "abbreviation": "NFL",
      "slug": "nfl",
      "season": {
        "year": 2021,
        "startDate": "2021-07-17T07:00Z",
        "endDate": "2022-02-16T07:59Z",
        "type": {
          "id": "2",
          "type": 2,

[TOP]

SEASONS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons

{
  "count": 100,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 4,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2020"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2019"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021",
  "year": 2021,
  "startDate": "2021-07-17T07:00Z",
  "endDate": "2022-02-16T07:59Z",
  "displayName": "2021",
  "type": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2",
    "id": "2",
    "type": 2,
    "name": "Regular Season",
    "abbreviation": "reg",
    "year": 2021,
    "startDate": "2021-09-09T07:00Z",
    "endDate": "2022-01-13T07:59Z",

[TOP]

SEASON ATHLETES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes

{
  "count": 16438,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 658,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/4246273"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/4246281"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/4246289"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/14876

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/14876",
  "id": "14876",
  "uid": "s:20~l:28~a:14876",
  "guid": "2d6af5dcb3d3e2d4cf7227d4a8eb93cd",
  "type": "football",
  "alternateIds": {
    "sdr": "2268110"
  },
  "firstName": "Ryan",
  "lastName": "Tannehill",
  "fullName": "Ryan Tannehill",
  "displayName": "Ryan Tannehill",
  "shortName": "R. Tannehill",
  "weight": 217,

[TOP]

SEASON COACHES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/coaches?limit=50

{
  "count": 32,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 2,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/coaches/17739"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/coaches/2552857"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/coaches/13162"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/coaches/4408695

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/coaches/4408695",
  "id": "4408695",
  "uid": "s:20~l:28~co:4408695",
  "firstName": "Kevin",
  "lastName": "Stefanski",
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/5"
  },
  "experience": 1,
  "careerRecords": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/coaches/4408695/record/0"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/coaches/4408695/record/2"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/coaches/4408695/record/3"
    }
  ],
  "coachSeasons": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2020/coaches/4408695"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/coaches/4408695"
    }
  ]
}

[TOP]

SEASON DRAFT API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft",
  "uid": "s:20~l:28~e:DRAFT~y:2021",
  "year": 2021,
  "numberOfRounds": 7,
  "displayName": "2021 National Football League Draft",
  "shortDisplayName": "2021 NFL Draft",
  "status": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/status"
  },
  "athletes": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/athletes"
  },
  "rounds": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/draft/rounds"

[TOP]

SEASON FUTURES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/futures

{
  "count": 7,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/futures/1561",
      "id": 1561,
      "name": "Pro Football Champion",
      "futures": [
        {
          "provider": {
            "id": "40",
            "name": "DraftKings",

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/futures/1561

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/futures/1561",
  "id": 1561,
  "name": "Pro Football Champion",
  "futures": [
    {
      "provider": {
        "id": "40",
        "name": "DraftKings",
        "active": 1,
        "priority": 0
      },
      "books": [
        {
          "team": {

[TOP]

SEASON TEAMS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams

{
  "count": 32,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 2,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/2"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/3"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1",
  "id": "1",
  "guid": "49fd392a86fe4df31b779bbfa18b2ad5",
  "uid": "s:20~l:28~t:1",
  "alternateIds": {
    "sdr": "8802"
  },
  "slug": "atlanta-falcons",
  "location": "Atlanta",
  "name": "Falcons",
  "nickname": "Atlanta",
  "abbreviation": "ATL",
  "displayName": "Atlanta Falcons",
  "shortDisplayName": "Falcons",

[TOP]

SEASON TYPES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types

{
  "count": 4,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/3"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/4"
    }
  ]
}

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2",
  "id": "2",
  "type": 2,
  "name": "Regular Season",
  "abbreviation": "reg",
  "year": 2021,
  "startDate": "2021-09-09T07:00Z",
  "endDate": "2022-01-13T07:59Z",
  "hasGroups": false,
  "hasStandings": true,
  "hasLegs": false,
  "groups": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups"
  },

[TOP]

TALENTPICKS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/talentpicks

{
  "count": 176,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 8,
  "items": [
    {
      "pick": {
        "person": {
          "id": "1768",
          "firstName": "Damien",
          "lastName": "Woody",
          "displayName": "Damien Woody",
          "headshot": {
            "href": "https://a.espncdn.com/i/columnists/full/woody_damien.png",

[TOP]

TEAM API

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams

{
  "sports": [
    {
      "id": "20",
      "uid": "s:20",
      "name": "Football",
      "slug": "football",
      "leagues": [
        {
          "id": "28",
          "uid": "s:20~l:28",
          "name": "National Football League",
          "abbreviation": "NFL",
          "shortName": "NFL",
          "slug": "nfl",

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/12

{
  "team": {
    "id": "1",
    "uid": "s:20~l:28~t:1",
    "slug": "atlanta-falcons",
    "location": "Atlanta",
    "name": "Falcons",
    "nickname": "Atlanta",
    "abbreviation": "ATL",
    "displayName": "Atlanta Falcons",
    "shortDisplayName": "Falcons",
    "color": "000000",
    "alternateColor": "000000",
    "isActive": true,
    "logos": [

[TOP]

TEAM ATHLETES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12/athletes

{
  "count": 76,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 4,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/16963"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/3123963"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/16299"
    },

[TOP]

TEAM ATS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/ats

{
  "count": 9,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "wins": 6,
      "losses": 8,
      "pushes": 0,
      "type": {
        "id": "0",
        "name": "atsOverall",
        "description": "Overall team season record against the spread"
      }

[TOP]

TEAM ATTENDANCE API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/attendance

{
  "id": "0",
  "name": "Attendance",
  "abbreviation": "ATTND",
  "categories": [
    {
      "name": "home",
      "displayName": "Home",
      "shortDisplayName": "Home",
      "abbreviation": "home",
      "stats": [
        {
          "name": "games",
          "displayName": "Home Games",

[TOP]

TEAM COACHES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12/coaches

{
  "count": 1,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [{}]
}

[TOP]

TEAM DEPTHCHARTS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12/depthcharts

{
  "count": 3,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "id": "15",
      "name": "Base 3-4 D",
      "positions": {
        "lde": {
          "position": {
            "id": "11",
            "name": "Left Defensive End",

[TOP]

TEAM EVENTS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12/events

{
  "count": 20,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326621"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326618"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401326603"
    },

[TOP]

TEAM INJURIES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/teams/12/injuries

{
  "count": 63,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 3,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/4408854/injuries/-1252999"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/3048898/injuries/499227"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/3055899/injuries/499204"
    },

[TOP]

TEAM LEADERS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/leaders

{
  "id": "0",
  "name": "TOTAL",
  "abbreviation": "Any",
  "categories": [
    {
      "name": "passingLeader",
      "displayName": "Passing Leader",
      "shortDisplayName": "PASS",
      "abbreviation": "PYDS",
      "leaders": [
        {
          "displayValue": "360-549, 4052 YDS, 30 TD, 13 INT",
          "value": 4052,

[TOP]

TEAM ODDS-RECORDS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/odds-records

{
  "count": 10,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "abbreviation": "ML",
      "displayName": "Money Line Overall Record",
      "shortDisplayName": "Money Line",
      "type": "moneyLineOverall",
      "stats": [
        {
          "displayName": "Wins",
          "abbreviation": "W",

[TOP]

TEAM PROJECTION API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12/projection

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1/projection",
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
  },
  "chanceToWinThisWeek": 0.59114,
  "chanceToWinDivision": 0,
  "projectedWins": 7.085,
  "projectedLosses": 9.908
}

[TOP]

TEAM RECORD API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/record

{
  "count": 5,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "id": "0",
      "name": "All Splits",
      "abbreviation": "Any",
      "type": "total",
      "summary": "10-4",
      "displayValue": "10-4",
      "value": 0.7142857142857143,

[TOP]

TEAM ROSTER API

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/12/roster

{
  "timestamp": "2021-12-21T12:39:06Z",
  "status": "success",
  "season": {
    "year": 2021,
    "type": 2,
    "name": "Regular Season"
  },
  "coach": [
    {
      "id": "17739",
      "firstName": "Arthur",
      "lastName": "Smith",
      "experience": 0
    }

[TOP]

TEAM SCHEDULE API

URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/12/schedule

{
  "timestamp": "2021-12-21T12:39:07Z",
  "status": "success",
  "season": {
    "year": 2021,
    "type": 2,
    "name": "Regular Season",
    "displayName": "2021",
    "half": 1
  },
  "team": {
    "id": "1",
    "abbreviation": "ATL",
    "location": "Atlanta",
    "name": "Falcons",

[TOP]

TEAM STATISTICS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/statistics

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/1/statistics/0",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "categories": [
      {
        "name": "general",

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/statistics/0

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/teams/12/statistics/0",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "team": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12"
  },
  "splits": {
    "id": "0",
    "name": "All Splits",
    "abbreviation": "Any",
    "categories": [
      {
        "name": "general",

[TOP]

SEASONTYPE GROUPS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups

{
  "count": 2,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/8"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/7"
    }
  ]
}

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/1

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/9",
  "uid": "s:20~l:28~g:9",
  "id": "9",
  "name": "National Football League",
  "abbreviation": "NFL",
  "shortName": "NFL",
  "season": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021"
  },
  "children": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/9/children"
  },
  "standings": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/9/standings"
  },
  "isConference": false,
  "slug": "national-football-league",
  "teams": {
    "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/groups/9/teams"
  }
}

[TOP]

SEASONTYPE LEADERS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/leaders

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/3/leaders",
  "id": "0",
  "name": "TOTAL",
  "abbreviation": "Any",
  "categories": [
    {
      "name": "passingYards",
      "displayName": "Passing Yards",
      "shortDisplayName": "PYDS",
      "abbreviation": "YDS",
      "leaders": [
        {
          "displayValue": "404",
          "value": 404,
          "rel": [
            "athlete"
          ],
          "athlete": {
            "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/3139477"
          },
          "team": {
            "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/12"
          },
          "statistics": {
            "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/3/athletes/3139477/statistics/0"
          }
        },

[TOP]

SEASONTYPE WEEKS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks

{
  "count": 18,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 1,
  "items": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/2"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/3"
    },

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6",
  "number": 6,
  "startDate": "2021-10-13T07:00Z",
  "endDate": "2021-10-20T06:59Z",
  "text": "Week 6",
  "teamsOnBye": [
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/1"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/18"
    },
    {
      "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/20"

[TOP]

VENUES API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/venues/3493

{
  "id": "3493",
  "fullName": "Caesars Superdome",
  "address": {
    "city": "New Orleans",
    "state": "LA",
    "zipCode": "70112"
  },
  "capacity": 73000,
  "grass": false,
  "indoor": true,
  "images": [
    {
      "href": "https://a.espncdn.com/i/venues/nfl/day/3493.jpg",

[TOP]

WEEKLY EVENTS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6/events

{
  "$meta": {
    "parameters": {
      "week": [
        "6"
      ],
      "season": [
        "2021"
      ],
      "seasontypes": [
        "2"
      ]
    }
  },
  "count": 14,

[TOP]

WEEKLY QBR API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6/qbr/10000

{
  "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6/qbr/10000",
  "count": 28,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 2,
  "items": [
    {
      "athlete": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/athletes/2330"
      },
      "team": {
        "$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/teams/27"
      },
      "event": {

[TOP]

WEEKLY TALENTPICKS API

URL: https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2021/types/2/weeks/6/talentpicks

{
  "count": 154,
  "pageIndex": 1,
  "pageSize": 25,
  "pageCount": 7,
  "items": [
    {
      "pick": {
        "person": {
          "id": "1768",
          "firstName": "Damien",
          "lastName": "Woody",
          "displayName": "Damien Woody",
          "headshot": {
            "href": "https://a.espncdn.com/i/columnists/full/woody_damien.png",
@JimNayzium
Copy link

JimNayzium commented Aug 22, 2024

What happens if we exceed 2500 calls per day?
Do we get our IP banned for good?
Or do responses just not work after that for the day?

@JimNayzium
Copy link

Does anyone have an exhaustive list of the play "types" with ids that ESPN drive or plays items has? Here is what I have found in the first two games i have manuallyl gone through.

[ { "id": "53", "text": "Kickoff", "abbreviation": "K" }, { "id": "5", "text": "Rush", "abbreviation": "RUSH" }, { "id": "24", "text": "Pass Reception", "abbreviation": "REC" }, { "id": "3", "text": "Pass Incompletion" }, { "id": "21", "text": "Timeout", "abbreviation": "TO" }, { "id": "74", "text": "Official Timeout", "abbreviation": "Off TO" }, { "id": "52", "text": "Punt", "abbreviation": "PUNT" }, { "id": "68", "text": "Rushing Touchdown", "abbreviation": "TD" }, { "id": "61", "text": "Extra Point Good", "abbreviation": "Extra Point Good", "value": 1 }, { "id": "2", "text": "End Period", "abbreviation": "EP" }, { "id": "7", "text": "Sack" }, { "id": "59", "text": "Field Goal Good", "abbreviation": "FG" }, { "id": "8", "text": "Penalty", "abbreviation": "PEN" }, { "id": "67", "text": "Passing Touchdown", "abbreviation": "TD" }, { "id": "75", "text": "Two-minute warning", "abbreviation": "2Min Warn" }, { "id": "65", "text": "End of Half", "abbreviation": "EH" }, { "id": "12", "text": "Kickoff Return (Offense)" }, { "id": "9", "text": "Fumble Recovery (Own)" }, { "id": "66", "text": "End of Game", "abbreviation": "EG" }, { "id": "29", "text": "Fumble Recovery (Opponent)" }, { "id": "26", "text": "Pass Interception Return", "abbreviation": "INTR" }, { "id": "29", "text": "Fumble Recovery (Opponent)" }, { "id": "52", "text": "Punt", "abbreviation": "PUNT" } ]

@ryanbuckner
Copy link

Can you share the API where you saw these so we can try to dig?

@JimNayzium
Copy link

JimNayzium commented Aug 22, 2024

Sure! I just went to one of the links above:
https://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401249063/competitions/401249063/plays?limit=300

Also, Here is an updated list, as GitHut Co-Pilot auto filled a few of them and I uncommented them if I was able to confirm then on an end point. I clicked the above one as well as few others like events or similar. Anything I could find that showed individual plays.
`

[
// { "id": "1", "text": "Period Start", "abbreviation": "PS" },
{ "id": "2", "text": "End Period", "abbreviation": "EP" },
{ "id": "3", "text": "Pass Incompletion" },
// { "id": "4", "text": null },
{ "id": "5", "text": "Rush", "abbreviation": "RUSH" },
// { "id": "6", "text": null },
{ "id": "7", "text": "Sack" },
{ "id": "8", "text": "Penalty", "abbreviation": "PEN" },
{ "id": "9", "text": "Fumble Recovery (Own)" },
// { "id": "10", "text": null },
// { "id": "11", "text": null },
{ "id": "12", "text": "Kickoff Return (Offense)" },
// { "id": "13", "text": null },
// { "id": "14", "text": null },
// { "id": "15", "text": null },
// { "id": "16", "text": null },
// { "id": "17", "text": null },
// { "id": "18", "text": null },
// { "id": "19", "text": null },
// { "id": "20", "text": null },

{ "id": "21", "text": "Timeout", "abbreviation": "TO" },
// { "id": "22", "text": null },
// { "id": "23", "text": null },
{ "id": "24", "text": "Pass Reception", "abbreviation": "REC" },
// { "id": "25", "text": null },
{ "id": "26", "text": "Pass Interception Return", "abbreviation": "INTR" },
// { "id": "27", "text": null },
// { "id": "28", "text": null },
{ "id": "29", "text": "Fumble Recovery (Opponent)" },
// { "id": "30", "text": null },
// { "id": "31", "text": null },
// { "id": "32", "text": null },
// { "id": "33", "text": null },
// { "id": "34", "text": null },
// { "id": "35", "text": null },
// { "id": "36", "text": null },
// { "id": "37", "text": null },
// { "id": "38", "text": null },
// { "id": "39", "text": null },
// { "id": "40", "text": null },
// { "id": "41", "text": null },
// { "id": "42", "text": null },
// { "id": "43", "text": null },
// { "id": "44", "text": null },
// { "id": "45", "text": null },
// { "id": "46", "text": null },
// { "id": "47", "text": null },
// { "id": "48", "text": null },
// { "id": "49", "text": null },
// { "id": "50", "text": null },
// { "id": "51", "text": null },
{ "id": "52", "text": "Punt", "abbreviation": "PUNT" },
{ "id": "53", "text": "Kickoff", "abbreviation": "K" },
// { "id": "54", "text": null },
// { "id": "55", "text": null },
// { "id": "56", "text": null },
// { "id": "57", "text": null },
// { "id": "58", "text": null },
{ "id": "59", "text": "Field Goal Good", "abbreviation": "FG" },
{ "id": "60", "text": "Field Goal Missed", "abbreviation": "FG Miss" },
{ "id": "61", "text": "Extra Point Good", "abbreviation": "Extra Point Good", "value": 1 },
// { "id": "62", "text": "Extra Point Missed", "abbreviation": "Extra Point Miss" },
// { "id": "63", "text": "Safety", "abbreviation": "SAF" },
// { "id": "64", "text": "Safety Free Kick", "abbreviation": "SAF FK" },
{ "id": "65", "text": "End of Half", "abbreviation": "EH" },
{ "id": "66", "text": "End of Game", "abbreviation": "EG" },
{ "id": "67", "text": "Passing Touchdown", "abbreviation": "TD" },
{ "id": "68", "text": "Rushing Touchdown", "abbreviation": "TD" },
// { "id": "69", "text": null },
{ "id": "70", "text": "Coin Toss" },
// { "id": "71", "text": null },
// { "id": "72", "text": null },
// { "id": "73", "text": null },
{ "id": "74", "text": "Official Timeout", "abbreviation": "Off TO" },
{ "id": "75", "text": "Two-minute warning", "abbreviation": "2Min Warn" }

]
`

@ryanbuckner
Copy link

ryanbuckner commented Aug 23, 2024

What happens if we exceed 2500 calls per day? Do we get our IP banned for good? Or do responses just not work after that for the day?

You'll receive an error on the next calls until your quota resets. I don't think it's as cut and dry as 2500 per day. I think there are restrictions on frequency too. I've had errors come back saying I've hit a limit and then waited an hour or two to rerun successfully.

The APIs are not supported so I think the 2500 number is a guess.

@JimNayzium
Copy link

I appreciate your input and experience! Thanks for helping me.
In your opinion if I was attempting to generate some live-play-by-play data, and of course would be pulling up to 16 games on any given Sunday depending on the date of the game, what frequency do you think would be wise to go under the block-radar? 5 minutes? 3 minutes?

I realize this is your best guess and won't hold you to anything!!

@ryanbuckner
Copy link

ryanbuckner commented Aug 24, 2024 via email

@JimNayzium
Copy link

Thanks man!
Here is an updated list of play_type_ids I have found so far in preseason and verified.
(Some of the abbreviations are not verified as some of them do not carry abbreviations so I use my own. Also, espn uses the full word "abbreviation" not "abv")

But the numbers on the indexes as the play_type_id are verified for these:

"PLAY_TYPE_IDS" => [ 2 => ["text" => "End Period", "abv" => "EP"], 3 => ["text" => "Pass Incompletion", "abv" => "Pass Inc"], 5 => ["text" => "Rush", "abv" => "RUSH"], 7 => ["text" => "Sack", "abv" => "SACK"], 8 => ["text" => "Penalty", "abv" => "PEN"], 9 => ["text" => "Fumble Recovery (Own)", "abv" => "Fumble Rec (Own)"], 12 => ["text" => "Kickoff Return (Offense)", "abv" => "KOR"], 16 => ["text" => "Two Point Rush", "abv" => "Two Point Rush"], 21 => ["text" => "Timeout", "abv" => "TO"], 24 => ["text" => "Pass Reception", "abv" => "REC"], 26 => ["text" => "Pass Interception Return", "abv" => "INTR"], 29 => ["text" => "Fumble Recovery (Opponent)", "abv" => "Fumble Rec (Opp)"], 36 => ["text" => "Interception Return Touchdown", "abv" => "TD"], 40 => ["text" => "Missed Field Goal Return", "abv" => "AFG"], 52 => ["text" => "Punt", "abv" => "PUNT"], 53 => ["text" => "Kickoff", "abv" => "K"], 59 => ["text" => "Field Goal Good", "abv" => "FG"], 60 => ["text" => "Field Goal Missed", "abv" => "FG Miss"], 61 => ["text" => "Extra Point Good", "abv" => "Extra Point Good", "value" => 1], 65 => ["text" => "End of Half", "abv" => "EH"], 66 => ["text" => "End of Game", "abv" => "EG"], 67 => ["text" => "Passing Touchdown", "abv" => "TD"], 68 => ["text" => "Rushing Touchdown", "abv" => "TD"], 70 => ["text" => "Coin Toss", "abv" => "CT"], 74 => ["text" => "Official Timeout", "abv" => "Off TO"], 75 => ["text" => "Two-minute warning", "abv" => "2Min Warn"] ],

@chriscampana
Copy link

Does ESPN use a different API call for their schedule (eg https://www.espn.com/college-football/schedule) page vs scoreboard (eg https://www.espn.com/college-football/scoreboard) page? What the heck is the difference in those pages anyways ?

What I really want is all college football games by week. When I enter the week, I only get top 25 (ie http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?week=4) but if I enter exact date I get all the games (ie http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?dates=20240907)

@BarryLaminack
Copy link

Does ESPN use a different API call for their schedule (eg https://www.espn.com/college-football/schedule) page vs scoreboard (eg https://www.espn.com/college-football/scoreboard) page? What the heck is the difference in those pages anyways ?

What I really want is all college football games by week. When I enter the week, I only get top 25 (ie http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?week=4) but if I enter exact date I get all the games (ie http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?dates=20240907)

try adding:

&groups=80

to the end of your path.
80 is the "group" or "conference" designation for "FBS", or all the FBS games.

Here's a list of all the "group" or "conference" IDs:
Default = Top 25
80 = FBS (I-A)
81 = FCS (I-AA)
1 = ACC
4 = Big 12
5 = Big Ten
8 = SEC
9 = Pac 12
12 = CUSA
15 = MAC
17 = Mountain West
18 = FBS Indep
20 = Big Sky
21 = MVFC
22 = Ivy
24 = MEAC
25 = NEC
27 = Patriot
28 = Pioneer
29 = Southern
30 = Southland
31 = SWAC
32 = FCS Indep.
35 = DIV II/III
37 = Sun Belt
48 = CAA
151 = American
177 = UAC
179 = BIg South-0VC

So this path for example:
https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?week=2&groups=80
returns all the FBS games for week 2

and this path:
https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?week=2&groups=5
returns all the Big Ten games for week 2

@JimNayzium
Copy link

JimNayzium commented Sep 8, 2024

Here are the play types I have confirmed so far in addition to the above.

$confirmedWithJavascript = [ 2 => ["text" => 'End Period', "abv" => 'EP'], 3 => ["text" => 'Pass Incompletion', "abv" => null], 5 => ["text" => 'Rush', "abv" => 'RUSH'], 7 => ["text" => 'Sack', "abv" => null], 8 => ["text" => 'Penalty', "abv" => 'PEN'], 9 => ["text" => 'Fumble Recovery (Own)', "abv" => null], 12 => ["text" => 'Kickoff Return (Offense)', "abv" => null], 18 => ['text' => 'Blocked Field Goal', 'abv' => 'BFG'], 21 => ["text" => 'Timeout', "abv" => 'TO'], 24 => ["text" => 'Pass Reception', "abv" => 'REC'], 26 => ["text" => 'Pass Interception Return', "abv" => 'INTR'], 36 => ["text" => 'Interception Return Touchdown', "abv" => 'TD'], 51 => ["text" => 'Pass', "abv" => 'PASS'], 52 => ["text" => 'Punt', "abv" => 'PUNT'], 53 => ["text" => 'Kickoff', "abv" => 'K'], 59 => ["text" => 'Field Goal Good', "abv" => 'FG'], 60 => ["text" => 'Field Goal Missed', "abv" => 'FGM'], 65 => ["text" => 'End of Half', "abv" => 'EH'], 66 => ["text" => 'End of Game', "abv" => 'EG'], 67 => ["text" => 'Passing Touchdown', "abv" => 'TD'], 68 => ["text" => 'Rushing Touchdown', "abv" => 'TD'], 74 => ["text" => 'Official Timeout', "abv" => 'Off TO'], 75 => ["text" => 'Two-minute warning', "abv" => '2Min Warn'], 79 => ["text" => 'End of Regulation', "abv" => 'ER'] ];

Anyone else know where to find a comprehensive list of these from the ESPN play-by-play or drive end-points?

@JimNayzium
Copy link

JimNayzium commented Sep 10, 2024

Here is the list I have compiled of the play_type_id's (which are my index numbers in the array, with the text and abbreviation for espn's play by play feeds.

If the value is null, it means I have not found and confirmed a play with that number play_type_id yet.

I have imported and digested all the 2023 season and searched through it fully.
I am working on other past seasons to try and fill in the gaps.

`
$play_types = [

1 => null,
2 => ["text" => 'End Period', "abv" => 'EP'],
3 => ["text" => 'Pass Incompletion', "abv" => null],
4 => null,
5 => ["text" => 'Rush', "abv" => 'RUSH'],
6 => null,
7 => ["text" => 'Sack', "abv" => null],
8 => ["text" => 'Penalty', "abv" => 'PEN'],
9 => ["text" => 'Fumble Recovery (Own)', "abv" => null],
10 => null,
11 => null,
12 => ["text" => 'Kickoff Return (Offense)', "abv" => null],
13 => null,
14 => null,
15 => null,
16 => null,
17 => ['text' => 'Blocked Punt', 'abv' => 'BP'],
18 => ['text' => 'Blocked Field Goal', 'abv' => 'BFG'],
19 => null,
20 => ['text' => 'Safety', 'abv' => 'SF'],
21 => ["text" => 'Timeout', "abv" => 'TO'],
22 => null,
23 => null,
24 => ["text" => 'Pass Reception', "abv" => 'REC'],
25 => null,
26 => ["text" => 'Pass Interception Return', "abv" => 'INTR'],
27 => null,
28 => null,
29 => ['text' => 'Fumble Recovery (Opponent)', 'abv' => null],
30 => null,
31 => null,
32 => ['text' => 'Kickoff Return Touchdown', 'abv' => 'TD'],
33 => null,
34 => ['text' => 'Punt Return Touchdown', 'abv' => 'TD'],
35 => null,
36 => ["text" => 'Interception Return Touchdown', "abv" => 'TD'],
37 => ['text' => 'Blocked Punt Touchdown', 'abv' => 'TD'],
38 => ['text' => 'Blocked Field Goal Touchdown', 'abv' => 'TD'],
39 => ['text' => 'Fumble Return Touchdown', 'abv' => 'TD'],
40 => ['text' => 'Missed Field Goal Return', 'abv' => 'AFG'],
41 => null,
42 => null,
43 => null,
44 => null,
45 => null,
46 => null,
47 => null,
48 => null,
49 => null,
50 => null,
51 => ["text" => 'Pass', "abv" => 'PASS'],
52 => ["text" => 'Punt', "abv" => 'PUNT'],
53 => ["text" => 'Kickoff', "abv" => 'K'],
54 => null,
55 => null,
56 => null,
57 => ['text' => 'Defensive 2pt Conversion', 'abv' => 'D2P'],
58 => null,
59 => ["text" => 'Field Goal Good', "abv" => 'FG'],
60 => ["text" => 'Field Goal Missed', "abv" => 'FGM'],
61 => null,
62 => null,
63 => null,
64 => null,
65 => ["text" => 'End of Half', "abv" => 'EH'],
66 => ["text" => 'End of Game', "abv" => 'EG'],
67 => ["text" => 'Passing Touchdown', "abv" => 'TD'],
68 => ["text" => 'Rushing Touchdown', "abv" => 'TD'],
69 => null,
70 => null,
71 => null,
72 => null,
73 => null,
74 => ["text" => 'Official Timeout', "abv" => 'Off TO'],
75 => ["text" => 'Two-minute warning', "abv" => '2Min Warn'],
76 => null,
77 => null,
78 => null,
79 => ["text" => 'End of Regulation', "abv" => 'ER']

];
`

@JimNayzium
Copy link

Does anyone know if this endpoint updates live during the games if an injury occurs?

https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/14/roster

Or if there is an endpoint that does indeed update live during the game upon injury?

I noticed for Cooper Kupp on Sunday evening on the roster end point above, his injuries object did have him as Doubtful and did have a time that was around 5:46pm so that would represent a mid-game date/time update. But I was not watching the feed as the game happened and was curious if that is the date/time assigned to the update and possibly put there at a later time, or if that is the actual date/time assigned to the update as it appeared in the endpoint's data feed. So at 5:46pm and after, calling the endpoint above would indeed list Kupp as Doubtful from that point on.

Because if you call that end point now, it will give the date and time associated with McVay's presser when he gave the update about him, so it does not archive the "initial time of injury" in a super user-friendly way to recall later.

What I am trying to accomplish is to assign the most accurate game-clock times to injuries and just looking for the most direct path to get there.

Any advice would be greatly appreciated.

I have a scoreboard feed for each game mapping the game-clocks to wall-clock times, so I think if I can just get a wall clock time for each injury occurence I can get there.

@nntrn
Copy link
Author

nntrn commented Sep 21, 2024

Get injuries in realtime from plays by plays

https://cdn.espn.com/core/nfl/game?xhr=1&gameId=GAME_ID

Map injured athlete from text: {team_abbreviation}-{shortName}


Example from 401671808:

  • gamepackageJSON > drives > previous > [plays]

    // in javascript:
    //   $  pre=JSON.parse($('pre').textContent)
    //   $  pre.gamepackageJSON.drives.previous.map(e=>e.plays).flat(2).filter(e=>/inju/gi.test(e.text))
    {
      "sequenceNumber": "94700",
      "period": { "number": 2 },
      "homeScore": 7,
      "start": {
        "shortDownDistanceText": "3rd & 6",
        "possessionText": "NYJ 13",
        "downDistanceText": "3rd & 6 at NYJ 13",
        "distance": 6,
        "yardLine": 13,
        "team": { "id": "20" },
        "down": 3,
        "yardsToEndzone": 87
      },
      "scoringPlay": false,
      "clock": { "displayValue": "15:00" },
      "type": { "id": "24", "text": "Pass Reception", "abbreviation": "REC" },
      "priority": false,
      "statYardage": 27,
      "awayScore": 0,
      "wallclock": "2024-09-20T00:53:02Z",
      "modified": "2024-09-20T06:32Z",
      "end": {
        "shortDownDistanceText": "1st & 17",
        "possessionText": "NYJ 40",
        "downDistanceText": "1st & 17 at NYJ 40",
        "distance": 17,
        "yardLine": 40,
        "team": { "id": "20" },
        "down": 1,
        "yardsToEndzone": 60
      },
      "id": "401671808947",
      "text": "(Shotgun) A.Rodgers pass short left to A.Lazard to NYJ 40 for 27 yards (K.White). NE-J.Peppers was injured during the play."
    }
  • gamepackageJSON > winprobability > [play]

    // in javascript:
    //   $  pre=JSON.parse($('pre').textContent)
    //   $  pre.gamepackageJSON.winprobability.map(({play,...rest})=>({...play,...rest})).filter(e=>/inju/gi.test(e.text))
    
    {
      "period": { "number": 2 },
      "homeScore": 7,
      "awayScore": 0,
      "start": {
        "shortDownDistanceText": "3rd & 6",
        "possessionText": "NYJ 13",
        "downDistanceText": "3rd & 6 at NYJ 13",
        "distance": 6,
        "yardLine": 13,
        "team": { "id": "20" },
        "down": 3,
        "yardsToEndzone": 87
      },
      "text": "(Shotgun) A.Rodgers pass short left to A.Lazard to NYJ 40 for 27 yards (K.White). NE-J.Peppers was injured during the play.",
      "clock": { "displayValue": "15:00" },
      "type": { "id": "24", "text": "Pass Reception", "abbreviation": "REC" },
      "homeWinPercentage": 0.8,
      "playId": "401671808947",
      "tiePercentage": 0,
      "secondsLeft": 0
    },

@JimNayzium

@JimNayzium
Copy link

This is awesome, and very similar to what I am already doing for the play-by-play data to get the injury game clock.
However, for the Cooper Kupp example, he came out of the half and was then deemed Doubtful, so in the play-by-play data of the Rams game Cooper Kupp has no text that describes him being injured.

So his player ID end-point, and the team injuries end-point does describe it via a news release during the game, but then the next morning when the update occurs that time/date is replaced with the monday morning time date of the news release, so if my system "misses" the time of the game the injury status changes, I am looking for a way to retro-actively put it back in place if that makes sense?

Does that make sense? And the team updates and player updates news feed is a little wonky as it has some info from years ago and some info from theprevious game all in one place type thing, so it's seemingly less reliable to predict how to parse through it and find the infomration I would need.

I was just hoping there would be an endpoint that litearlly documents the changes in the injury status of a player with time/date info attached.

@nntrn
Copy link
Author

nntrn commented Sep 22, 2024

At first I thought only minor injuries are reported in play by plays - (minor as in: they're back in the field before the game ends). But after poking around, I came across injuries more serious than Kupp's that were reported in the play by play text. So why wasn't Kupps??!! And how often does this happen?!!!

Maybe injuries recorded in plays are influenced by a team's coach?!
  • The Rams have had a rough run of injuries through the first two weeks, putting three key players on injured reserve this week. McVay said postgame he wasn't sure about the extent of Kupp's injury.
    Source

  • It was only a matter of time, as the conversation surrounding Kupp has been more about injured reserve than his Week 3 availability. The Rams can only bring eight players back from IR all season and have six or seven return candidates on the list already, so they may keep Kupp on the active roster even if he's expected to miss four or more games. The team hasn't specifically commented on that aspect, but coach Sean McVay did say Monday that Kupp is likely out for an "extended period of time."
    Source

Anyways - I think I get what you're trying to do. Have you tried using the search query endpoint for getting the news?

https://site.web.api.espn.com/apis/search/v2?query=kupp&limit=100

Output:

2024-09-19 16:25:49: Fantasy football buzz: No IR for Cooper Kupp, but no timeline for return, either
2024-09-18 22:28:08: Rams put pair on injured reserve, hold off on Cooper Kupp
2024-09-17 14:11:59: Stephania Bell provides Cooper Kupp injury update for fantasy managers
2024-09-16 22:40:36: Rams' Cooper Kupp (ankle) expected to be out extended time
2024-09-16 01:07:19: Rams' Cooper Kupp suffers ankle injury in loss to Cardinals
2024-09-15 17:51:04: Mark the Rams' words: 'This is the Cooper Kupp revenge tour'
2024-09-12 14:35:36: Matchup rankings: Stafford, Kupp, Nabers poised for success in Week 2
2024-05-14 13:12:39: Can Rams WR Cooper Kupp return to triple-crown status?
2024-04-26 15:05:09: Fantasy Football Daily Notes: McLaurin shines on MNF, Kupp injury serious, McCaffrey-Mitchell RB committee
2024-04-23 21:05:34: Fantasy Football Daily Notes: Injuries to Kupp, Herbert, Jeudy and Smith-Schuster mar Sunday's action
2024-04-23 20:01:14: Fantasy Football Daily Notes: Kupp injury not serious, Allen misses practice again, Ravens banged up
2024-04-23 19:54:43: Fantasy Football Daily Notes: Allen injury gets worse; Kupp, Taylor miss practice; Watson will start in Week 13
[..]
2022-09-30 10:00:29: Cooper Kupp off to great start, but Rams' offense still work in progress
2020-05-07 22:32:53: Will Kupp catch over or under 7.5 TDs?
2019-11-07 21:37:43: Cruz: Goff and Kupp will lead Rams to a win over the Steelers
curl -s 'https://site.web.api.espn.com/apis/search/v2?query=kupp&limit=100' |
  jq '.results | map(.contents | map( select(.date) | select(.displayName|contains("Kupp")) |
        [ (.date|strptime("%Y-%m-%dT%H:%M:%S.000+00:00")|strflocaltime("%F %T")),
          .displayName ]
      ))|add|sort_by(.[0])'

@JimNayzium

@raunaqsingh2020
Copy link

does anybody know how to get the box scores from either of the following v3 routes?
https://sports.core.api.espn.com/v3/sports/football/nfl/events/401671617
https://sports.core.api.espn.com/v3/sports/football/nfl/competitions/401671617

also, not sure if there's any good way to figure out which toggles exist for each route (i.e. the ?enable=...), or if that's mostly just a guessing game.

appreciate any help, thanks!

@nntrn
Copy link
Author

nntrn commented Sep 22, 2024

@JimNayzium - I found it!!!!! Search player news using playerId and map it back to plays

https://site.api.espn.com/apis/fantasy/v2/games/ffl/news/players?limit=50&playerId=2977187

$ curl -s -o data.json 'https://site.api.espn.com/apis/fantasy/v2/games/ffl/news/players?limit=50&playerId=2977187'
$ jq -r '.feed[]|select(.type == "Rotowire")|[.published,.headline]|join(": ")' data.json

2024-09-20: Kupp (ankle) has been ruled out for Sunday's game against San Francisco, Gary Klein of the Los Angeles Times reports.
2024-09-18: Head coach Sean McVay said Wednesday that the Rams aren't sure whether Kupp (ankle) will be placed on injured reserve, Jourdan Rodrigue of The Athletic reports.
2024-09-16: Rams head coach Sean McVay said Monday that Kupp (ankle) is expected to be out for "an extended period of time" and could land on injured reserve, Adam Schefter of ESPN reports.
2024-09-15: Kupp was spotted leaving the Rams' locker room with his left ankle in a walking boot after Sunday's 41-10 loss to the Cardinals, Jourdan Rodrigue of The Athletic reports.
2024-09-15: Kupp suffered an ankle injury during Sunday's game at Arizona.
2024-09-11: Kupp is expected to take on greater volume in the Los Angeles passing attack for at least the next four games after the Rams placed Puka Nacua (knee) on injured reserve Wednesday, Stu Jackson of the team's official site reports.
2024-09-09: Kupp hauled in 14 of his game-high 21 targets for 110 yards and a touchdown in Sunday's 26-20 overtime loss to the Lions. He added two carries for 10 yards.
2024-08-24: Kupp (coach's decision) was held out of all the Rams' preseason contests this season.
2024-08-16: The Rams plan to rest Kupp and other key players for Saturday's preseason game against the Chargers, Cameron DaSilva of USA Today reports.
2024-06-06: Coach Sean McVay suggested Tuesday that Kupp was never truly healthy last season but is now back at full strength, Cameron DaSilva of Rams Wire reports.
2024-01-15: Kupp caught five of nine targets for 27 yards in Sunday's 24-23 wild-card round loss to the Lions.
2024-01-07: Kupp (coach's decision) is inactive for Sunday's game against the 49ers, Jourdan Rodrigue of The Athletic reports.
2024-01-03: Head coach Sean McVay said Kupp won't play Sunday at San Francisco, Greg Beacham of the Associated Press reports.
2023-12-31: Kupp caught four of six targets for 27 yards and a touchdown in Sunday's 26-25 win over the Giants.
2023-12-22: Kupp brought in six of 12 targets for 52 yards and rushed once for minus-3 yards in the Rams' 30-22 win over the Saints on Thursday night.
2023-12-18: Kupp recorded eight receptions on eight targets for 111 yards and a touchdown in Sunday's 28-20 win over the Commanders.
2023-12-10: Kupp recorded eight receptions on 10 targets for 115 yards and a touchdown in Sunday's 37-31 loss to the Ravens.
2023-12-04: Kupp caught six of eight targets for 39 yards and a touchdown in Sunday's 36-19 win over the Browns.

@JimNayzium
Copy link

@nntrn - Thanks so much! This is pretty slick! However, what I need is the Date/Time of the accouncements, not just the Date. Like if the Date was 2024-09-15 17:53:21 UTC type thing.

There is now way to reverse engineer from this data the game-clock time and period number of the announcment. But I appreciate your attempts and love what you did!

@psuTickleMonster
Copy link

Good morning. Any idea why this link wouldn't display the post season? It is an eventlog for each player, only makes sense it would display post as well. https://sports.core.api.espn.com/v2/sports/basketball/leagues/wnba/seasons/2024/athletes/4066533/eventlog?limit=100

@AdrianMachado
Copy link

For fans of OpenAPI/Swagger, I started working on a document here. I would appreciate any contributions - the current format is a bit hard for me to work with.

@RyanGiles
Copy link

RyanGiles commented Oct 11, 2024

Does anyone know why the request for all active player ids [https://sports.core.api.espn.com/v3/sports/football/nfl/athletes?limit=20000&active=true] is returning players with the value active = false as well? I could sort manually on my end, but if the api request worked correctly it would cut down on load time drastically (returning 18738 player -> returning about 1700 players).

@JimNayzium
Copy link

I am not sure about your referenced end-point, but what I do is a two part call. One to the current rosters, then parse that by player_id/id and then only ask for the rostered players. Not sure it's what you want, but it is a lot better than getting all the athlete ids!

@JimNayzium
Copy link

@RyanGiles : To actually show what I do a little more usefully, I call this end-point:

site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{{teamId}}?enable=roster

Inside a loop that pools the fetches and lets them run asynchroniously so I can loop through the teamIds, and then I just pull the players from the actual rosters after I have that, if that makes sense.

@RyanGiles
Copy link

@RyanGiles : To actually show what I do a little more usefully, I call this end-point:

site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{{teamId}}?enable=roster

Inside a loop that pools the fetches and lets them run asynchroniously so I can loop through the teamIds, and then I just pull the players from the actual rosters after I have that, if that makes sense.

I see how that workaround can work for getting all rostered players. I'll try that out and see how the runtime compares. It would still be great to just have it return active players like how it's supposed to.

@RyanGiles
Copy link

@RyanGiles : To actually show what I do a little more usefully, I call this end-point:

site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{{teamId}}?enable=roster

Inside a loop that pools the fetches and lets them run asynchroniously so I can loop through the teamIds, and then I just pull the players from the actual rosters after I have that, if that makes sense.

After doing some testing, it's significantly faster (3 sec vs 12 sec) to do the single api call for all players and then filter through them manually than it is to make 32 different api calls for each team's roster

@JimNayzium
Copy link

JimNayzium commented Oct 13, 2024

I know the ESPN and Sleeper API calls for all the players waists a huge amount of loading time. Sleeper's has over 10,000 players when we only need 10-15 percent that. And ESPN's has maybe more than that I can't remember.

I know in my application, calling the all athletes and parsing it after the fact was way way slower. I use PHP to load my API so maybe if you are using python or R or something it may be faster than PHP, I don't really know. I just now when I did the way I describe above I removed all my timeout errors that I was having on my app.

I will add though that I use laravel's Http::pool() methods which allow us to make 32 team calls all at once and call them asynchroniously, which really solved my issues too!

@augarrett
Copy link

is there any endpoint that will let me pull or compile defense tendencies data? for instance man% zone% etc

@JimNayzium
Copy link

Not from ESPN that I know of. You may want to check the roto sites, and maybe PFF. I think you are most likely looking at a scraping solution over an API solution based on the stuff I've found in general. And of course you can always roll with sportsdata.io, but it's exepensive.

@RhettTitus
Copy link

Is there a way to reach power rankings or football power indexes (fpi) through an api on ESPN?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment