Skip to content
Stats + aggregation5 credits

get_advanced_stats

Next Gen Stats tracking metrics and Pro Football Reference advanced stats

When to use it

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 charting (pressures, hurries, blitzes, drops, bad throws, missed tackles, coverage allowed).

Parameters

NameTypeRequiredDescription
sourceenum: ngs_passing | ngs_rushing | ngs_receiving | pfr_passing | pfr_rushing | pfr_receiving | pfr_defenseyesWhich dataset: ngs_passing, ngs_rushing, ngs_receiving, pfr_passing, pfr_rushing, pfr_receiving, pfr_defense
seasonstring | numbernoSeason year. Defaults to current. NGS from 2016, PFR from 2018.
weekintegernoWeek. NGS also publishes week 0 as the season aggregate.
player_idstringnoGSIS id for an ngs_* source, PFR id for a pfr_* source; both are on search_players
teamstringnoTeam code
limitintegernoMax rows (default 50)

Request

bash
curl -X POST https://football-mcp-production.up.railway.app/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
}'

Over MCP, ask for it in plain English and the client calls get_advanced_stats itself. Point any MCP client at https://football-mcp-production.up.railway.app/mcp?key=YOUR_API_KEY.

Response

json
{
  "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

FieldTypeDescription
sourcestring
seasonnumber
player_id_kindstring
metric_keys[]arrayList of string
stats[]arrayList of objects
stats[].seasonnumber
stats[].season_typestring
stats[].weeknumber
stats[].player_idstring
stats[].namestring
stats[].positionstring
stats[].teamstring
stats[].metricsobject
stats[].metrics.attemptsnumber
stats[].metrics.pass_yardsnumber
stats[].metrics.completionsnumber
stats[].metrics.interceptionsnumber
stats[].metrics.passer_ratingnumber
stats[].metrics.aggressivenessnumber
stats[].metrics.pass_touchdownsnumber
stats[].metrics.avg_air_distancenumber
stats[].metrics.max_air_distancenumber
stats[].metrics.avg_time_to_thrownumber
stats[].metrics.completion_percentagenumber
stats[].metrics.avg_intended_air_yardsnumber
stats[].metrics.avg_air_yards_to_sticksnumber
stats[].metrics.avg_completed_air_yardsnumber
stats[].metrics.avg_air_yards_differentialnumber
stats[].metrics.max_completed_air_distancenumber
stats[].metrics.expected_completion_percentagenumber
stats[].metrics.completion_percentage_above_expectationnumber
countnumber

Related endpoints

Try it

500 credits free on signup — 100 calls to get_advanced_stats — and no card.