You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{
"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"
}
]
}
{
"$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401437954/competitions/401437954/powerindex/30?lang=en®ion=us",
"team": {
"$ref": "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2022/teams/30?lang=en®ion=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": ""
}
]
}
When I heavily involved in DFS my approach was to use the NBA injury report page and twitter. Maybe things have changed the past couple years but ESPN was always super sketchy with updates.
My 2 cents on the ESPN NBA data - it's unreliable and incomplete. You're better off using the NBA static JSON data they have because 1, most of their JSONs contain everything you need to know in a single request, and 2, it's more conducive to better quality data. The ESPN play by play data for example - there are player ID's in recent data for players who aren't active anymore. There are missing data points - my best example is 3 pointers. You only have descriptions to rely on to pull out the data. Sometimes the player names in the descriptions don't match the player ID's. I reverted to pulling the data from ESPN's website and even then, there are not enough data points to pull the info I wanted. The NBA data has the data points built in and there's little guessing.
This. Waste of time messing with ESPN for PBP unless its college basketball/football and the only other option is parsing the archaic ncaa site. MLB/NBA/NFL API's are the way to go.
Anyone have a feed link that woud let me see who was OUT for a given week on a roster?
For example, Barkley sat out week 18 for Eagles. But in his roster the active: "false" is set. And it's false for all players so I assume that's just a throw away meaningless thing for that end point.
Anyone have a feed link that woud let me see who was OUT for a given week on a roster? For example, Barkley sat out week 18 for Eagles. But in his roster the active: "false" is set. And it's false for all players so I assume that's just a throw away meaningless thing for that end point.
Any thoughts?
@JimNayzium, your definition of OUT isn't clear - what counts as out? present, but didn't play? not present and didn't play?
players in event rosters with .statistics["$ref"]definitely played and players missing this field probably didn't
i think active is a real time field that shows when a player is active during the game.
@nntrn - Thanks so much for the help!
the active explanation makes sense, and thanks for that!
So I just meant the actual injury report status going into the game.
Present, but didn't play is not what I mean at all. A player who dresses out, is on active roster and garners no playing time would not have been "OUT" on the injury report. But Barkley was in a ball cap the entire game week 18, so he would have been OUT week 18.
So for Barkley, on the roster for that week, the didNotPlay === false, does not mean necessarily he was listed as "OUT" if that makes sense?
Also, not having statistics would not be 100 percent accurate either. A WR could go in for a a number of plays, never be targeted and never gain statistics of any kind.
Was just hoping to see a pregame injury report end point of some kind. Or "This week's inactives" type thing.
@nntrn - Thanks so much for the help! the active explanation makes sense, and thanks for that! So I just meant the actual injury report status going into the game. Present, but didn't play is not what I mean at all. A player who dresses out, is on active roster and garners no playing time would not have been "OUT" on the injury report. But Barkley was in a ball cap the entire game week 18, so he would have been OUT week 18.
So for Barkley, on the roster for that week, the didNotPlay === false, does not mean necessarily he was listed as "OUT" if that makes sense?
Also, not having statistics would not be 100 percent accurate either. A WR could go in for a a number of plays, never be targeted and never gain statistics of any kind.
Was just hoping to see a pregame injury report end point of some kind. Or "This week's inactives" type thing.
Hi, a specific one regarding the NFL. Is anyone aware of a way to view the correct values for passing yards after catch? Receiving yards after catch seems fine but passing yards after catch I'm struggling to find.
Hi, a specific one regarding the NFL. Is anyone aware of a way to view the correct values for passing yards after catch? Receiving yards after catch seems fine but passing yards after catch I'm struggling to find.
Ah I never noticed it in the play by play section, thanks @nntrn. I'll have to take a look and see if there is a realistic way for me to total them and attribute to correct QB.
The stats I was more referring to as in the Goff example was the 2 below. PYAC ideally should be 180 and PY@C should be 135.
{
"name": "passingYardsAfterCatch",
"displayName": "Passing Yards After Catch",
"shortDisplayName": "PYAC",
"description": "The amount of passing yards after catch.",
"abbreviation": "PYAC",
"value": 0,
"displayValue": "0"
},
{
"name": "passingYardsAtCatch",
"displayName": "Passing Yards At Catch",
"shortDisplayName": "PY@C",
"description": "The amount of passing yards when the catch is made.",
"abbreviation": "PY@C",
"value": 315,
"displayValue": "315"
}
Thank you so much for putting this together! I am creating a website to run an alternate rules DFS contest for my friends and I wanted to add live scoring. I'll only need to fetch the scores for around 50 players, what endpoint do you think would be best for this?
I see that I could potentially make a call to each player endpoint or to each game endpoint, but I'm guessing that I could add headers to one of these requests to just get the stats for the games happening today for only a certain set of playerIds. Does any endpoint come to mind?
I can probably hack it all together with the existing ones, I just don't want to spam the api and parse through a bunch of data if I don't have to
I see that I could potentially make a call to each player endpoint or to each game endpoint, but I'm guessing that I could add headers to one of these requests to just get the stats for the games happening today for only a certain set of playerIds. Does any endpoint come to mind?
@macsochor, if you want players playing THAT day, check out the xhr links
I have a fun one that is quite maddening. (No pun intended)
In the drive play-by-play feed from a Bills game week 1 with id: 401671617
There was a discrepancy in the totals I was getting for James Cook's stats and I found a mistake by ESPN apparently.
I see no real way to know the mistake should be discounted or removed in the feeds either, at least not in these feeds. Other than comparing the stat totals at the end, but then determining what is wrong is near impossible.
I compared the PDF at nfl.com of the play by play hard copy of the actual game on these two plays and it would seem that the James Cook 11 yard rush does not exist at all. Somehow it just got entered for James Cook. Typically if a penalty happens or a play is reviewed that is well documented by ESPN's feeds. This is a pure mistake I am afraid. Like the intern who entered the data just shanked.
@JimNayzium, I've taken a look at what you've mentioned and think you're spot on with this being a phantom play.
In terms of detecting things like this, it seems pretty tough as the non-existent play is populated as though its real. The one discrepancy I can find is the value of the wallclock field. I've listed a few plays around the play you're looking and the fake Cook play breaks the sequence. Its hard to know if this will be the case in other instances though.
The real Cook rush with penalty on play - 2024-09-08T19:39:07Z
The phantom Cook rush - 2024-09-08T19:40:06Z
The Kincaid pass - 2024-09-08T19:39:58Z
The Cook rush for loss of 3 yards - 2024-09-08T19:40:41Z
Also out of curiosity, what URL are you requesting this data from? My responses all lacked the "yardsAfterCatch": 0 for the Kincaid pass which you seem to have.
Hi, a specific one regarding the NFL. Is anyone aware of a way to view the correct values for passing yards after catch? Receiving yards after catch seems fine but passing yards after catch I'm struggling to find.
Hi @nntrn, I'm just coming back to this now and I'm struggling to find the 'yardsAfterCatch' field in the play-by-play, even using the URL you've provided. It was definitely there when I first accessed it so confused as to why its seemingly different now.
Cannot Tell if Picks are made for College Pick 'em or Pigskin Pick 'em Current Week via ESPN Pick'em API
Problem Summary
I'm using ESPN's Pick'em API to track user picks for challenges like NFL Pigskin Pick'em and College Football Pick'em.
The core issue:
I need to know, each week, whether a user has made their picks before the games start. However, the way the API is structured makes this difficult once the season has started.
Current Behavior
Before Week 1:
If .picksdoesn’t exist: The user hasn’t made any picks.
If .picksexists but is empty: The user has submitted picks, but the pick data isn’t available until the games start.
After Week 1 & Throughout the Season:
The .picks array is a flat list with all picks for the season added as games begin.
There’s no breakdown by week (no .picks.week2, .picks.week3, etc.).
For example:
Just before Week 2, .picks for everyone has 16 entries from Week 1.
There are no empty or null entries for future weeks.
As Week 2 games start, new picks are revealed, and the array grows (17, 18, 19, ...).
There's no way to tell ahead of time if someone has made their picks for the upcoming week; you only find out after kickoff, when it’s too late for users to make the picks for the week.
Is there any way, using the current ESPN Pick'em API, to determine before kickoff whether a user has or hasn't made their picks for a given week during the season?
Right now, I can only detect an empty/null picks list at the very start of the season (before Week 1).
After that, the .picks array grows each week, and there's no way to distinguish “not made picks for this week yet” from simply “picks for this week aren’t public yet”—until it’s already too late.
Before the pick ems site redesign a few years ago, ESPN provided this information. If you viewed a person's picks entry, it would say "Chuck has not made their picks yet", but this functionality was removed in the redesign
Question
Is this a current limitation of the API, or is there a workaround to detect per-week pick completion before games start?
For college football, is there a way to get stats per week per division? For example, for FBS I want to see the passing yards leader, touchdown leader, sack leader, etc etc.
anyone know how i could pull play by play info by player?
I have a script that knows my yahoo player ID, i want to pull their latest play and have it display, similar to yahoos gamelog when viewing your matchup.
Hi Guys,
Happy to see this detailed doc. Found out just what I was looking for!
Did you guys make espn API key from espn website.
Could you help me with the information of where could I get the api key for getting data from these endpoints.
Replace both "EVENT_ID" with the specific game ID and then this link would pull up that game with the last 300 plays. you can edit the "limit" to make get more or less plays.
When I heavily involved in DFS my approach was to use the NBA injury report page and twitter. Maybe things have changed the past couple years but ESPN was always super sketchy with updates.