Documentation menu
nfl_route_profile
Pro tierRoute profiles
Per-receiver route distribution and efficiency (targets, target share, catch rate, EPA/target, air yards by route type — IN/DIG, GO, POST, SLANT, etc.), sourced from FTN manual charting joined to play-level EPA. PREFERRED for 'what routes does X run' and route-level efficiency questions. Route charting covers 2016-2024; current-season route data is unavailable in-season. Params: player (required), season or season_from/season_to, min_targets (default 2).
- Minimum tier
- Pro
- Data coverage
- 2016 onwards seasons
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
player | string | Required | Player name — full ('Justin Jefferson') or short ('J.Jefferson') both accepted. |
season | integer | Optional | Single season year. |
season_from | integer | Optional | Start of a season range. |
season_to | integer | Optional | End of a season range. |
min_targets | integer | Optional | Minimum targets per route to include (default 2). |
Example request
A Model Context Protocol tools/call over Streamable HTTP. Replace YOUR_API_KEY with a key from your dashboard.
curl -X POST https://mcp.nflmcp.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nfl_route_profile",
"arguments": {
"player": "Justin Jefferson",
"season": 2024
}
}
}'Example response
Excerpt · lists trimmed{
"player": "Justin Jefferson",
"routes": [
{
"route": "IN/DIG",
"targets": 29,
"target_share": 0.18,
"receptions": 19,
"catch_pct": 65.5,
"avg_epa": 0.274,
"avg_air_yards": 14.6
},
{
"route": "HITCH/CURL",
"targets": 25,
"target_share": 0.16,
"receptions": 21,
"catch_pct": 84,
"avg_epa": 0.297,
"avg_air_yards": 7.6
},
{
"route": "DEEP OUT",
"targets": 22,
"target_share": 0.14,
"receptions": 10,
"catch_pct": 45.5,
"avg_epa": -0.127,
"avg_air_yards": 11
}
],
"count": 12
}