get_advanced_stats
Data refreshed · changelog
Next Gen Stats tracking metrics and Pro Football Reference advanced stats
The box score says a receiver had 80 yards; this says how open he was getting and how far downfield the ball travelled. Next Gen Stats for tracking (separation, cushion, time to throw, completion percentage above expectation, rush yards over expected) and Pro Football Reference for advanced stats (pressures, hurries, blitzes, drops, bad throws, missed tackles, coverage allowed).
Parameters
sourceenum: ngs_passing | ngs_rushing | ngs_receiving | pfr_passing | pfr_rushing | pfr_receiving | pfr_defenserequired- Which dataset: ngs_passing, ngs_rushing, ngs_receiving, pfr_passing, pfr_rushing, pfr_receiving, pfr_defense
seasonstring | numberoptional- Season year. Defaults to current. NGS from 2016, PFR from 2018.
weekintegeroptional- Week. NGS also publishes week 0 as the season aggregate.
player_idstringoptional- GSIS id for an ngs_* source, PFR id for a pfr_* source; both are on search_players
teamstringoptional- Team code
limitintegeroptional- Max rows (default 50)
Notes
- Over MCP, ask for it in plain English and the client calls
get_advanced_statsitself. Point any MCP client athttps://mcp.endzoneapi.com/mcp?key=YOUR_API_KEY. - Each call costs 5 credits, taken before it runs and refunded if the server errors.
- Not the call you need? Find the right call by what you are trying to answer.
Request
curl -X POST https://mcp.endzoneapi.com/v1/get_advanced_stats \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"source": "ngs_passing",
"season": 2025,
"week": 1,
"limit": 3
}'Response
{
"source": "ngs_passing",
"season": 2025,
"player_id_kind": "gsis (see search_players player_id)",
"metric_keys": [
"aggressiveness",
"attempts",
"avg_air_distance"
],
"stats": [
{
"season": 2025,
"season_type": "REG",
"week": 1,
"player_id": "00-0023459",
"name": "Aaron Rodgers",
"position": "QB",
"team": "PIT",
"metrics": {
"attempts": 30,
"pass_yards": 244,
"completions": 22,
"interceptions": 0,
"passer_rating": 136.66666666666666,
"aggressiveness": 20,
"pass_touchdowns": 4,
"avg_air_distance": 17.15366205115652,
"max_air_distance": 36.97500912778792,
"avg_time_to_throw": 2.4343999999999997,
"completion_percentage": 73.33333333333333,
"avg_intended_air_yards": 4.31,
"avg_air_yards_to_sticks": -5.034827586206897,
"avg_completed_air_yards": 2.8531818181818185,
"avg_air_yards_differential": -1.4568181818181811,
"max_completed_air_distance": 36.39469329449006,
"expected_completion_percentage": 68.06099999999999,
"completion_percentage_above_expectation": 5.272333333333336
}
},
{
"season": 2025,
"season_type": "REG",
"week": 1,
"player_id": "00-0034855",
"name": "Baker Mayfield",
"position": "QB",
"team": "TB",
"metrics": {
"attempts": 32,
"pass_yards": 167,
"completions": 17,
"interceptions": 0,
"passer_rating": 99.34895833333334,
"aggressiveness": 18.75,
"pass_touchdowns": 3,
"avg_air_distance": 22.25247455358224,
"max_air_distance": 44.36180564404474,
"avg_time_to_throw": 2.949468749999999,
"completion_percentage": 53.125,
"avg_intended_air_yards": 10.207,
"avg_air_yards_to_sticks": 2.5403333333333338,
"avg_completed_air_yards": 7.114705882352942,
"avg_air_yards_differential": -3.092294117647059,
"max_completed_air_distance": 38.369322381298325,
"expected_completion_percentage": 56.45343750000001,
"completion_percentage_above_expectation": -3.328437500000007
}
},
{
"season": 2025,
"season_type": "REG",
"week": 1,
"player_id": "00-0039732",
"name": "Bo Nix",
"position": "QB",
"team": "DEN",
"metrics": {
"attempts": 40,
"pass_yards": 176,
"completions": 25,
"interceptions": 2,
"passer_rating": 60,
"aggressiveness": 10,
"pass_touchdowns": 1,
"avg_air_distance": 18.761301472222446,
"max_air_distance": 44.05219631301032,
"avg_time_to_throw": 2.82785,
"completion_percentage": 62.5,
"avg_intended_air_yards": 6.033783783783784,
"avg_air_yards_to_sticks": -3.1824324324324316,
"avg_completed_air_yards": 3.0336000000000003,
"avg_air_yards_differential": -3.000183783783784,
"max_completed_air_distance": 36.07339324211128,
"expected_completion_percentage": 62.95599999999999,
"completion_percentage_above_expectation": -0.45599999999998886
}
}
],
"count": 3
}Response fields
sourcestringseasonnumberplayer_id_kindstringmetric_keys[]array- List of string
stats[]array- List of objects
stats[].seasonnumberstats[].season_typestringstats[].weeknumberstats[].player_idstringstats[].namestringstats[].positionstringstats[].teamstringstats[].metricsobjectstats[].metrics.attemptsnumberstats[].metrics.pass_yardsnumberstats[].metrics.completionsnumberstats[].metrics.interceptionsnumberstats[].metrics.passer_ratingnumberstats[].metrics.aggressivenessnumberstats[].metrics.pass_touchdownsnumberstats[].metrics.avg_air_distancenumberstats[].metrics.max_air_distancenumberstats[].metrics.avg_time_to_thrownumberstats[].metrics.completion_percentagenumberstats[].metrics.avg_intended_air_yardsnumberstats[].metrics.avg_air_yards_to_sticksnumberstats[].metrics.avg_completed_air_yardsnumberstats[].metrics.avg_air_yards_differentialnumberstats[].metrics.max_completed_air_distancenumberstats[].metrics.expected_completion_percentagenumberstats[].metrics.completion_percentage_above_expectationnumbercountnumber
Related endpoints
Takes the player_id this one returns.
Weekly and season stat lines for one player: passing, rushing, receiving, defense, kicking, fantasy
Takes the player_id this one returns.
A player's prop lines against the result, game by game
Returns the team this one takes.
All 32 teams with conference, division, colours, and logos
Returns the player_id this one takes.
Find players by name, team, or position
Try it
500 free credits every month: 100 calls to get_advanced_stats, and no card.