← EndzoneAPICONTENT HISTORY

Update to EndzoneAPI

Snapshot Oct 30, 2026 · 00:06 UTC · version 1.0.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save EndzoneAPI and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Router and reference for every EndzoneAPI tool: names, parameters, credit costs, coverage by season, the response envelope, and the college football and FCS endpoints. Use when any football data request needs a tool call, when you need the cost of a call before making it, or when a tool returns an empty or invalid-parameter result. Do not use for analysis method, see the skill each tool row points to.",
  "included_files": [],
  "name": "endzoneapi-tool",
  "skill_md_contents": "---\nname: endzoneapi-tool\ndescription: \"Router and reference for every EndzoneAPI tool: names, parameters, credit costs, coverage by season, the response envelope, and the college football and FCS endpoints. Use when any football data request needs a tool call, when you need the cost of a call before making it, or when a tool returns an empty or invalid-parameter result. Do not use for analysis method, see the skill each tool row points to.\"\nmetadata:\n  version: 1.0.0\n  author: EndzoneAPI\n---\n\n# EndzoneAPI Tool Reference\n\n> Connection: this plugin reaches the data through its MCP server, which the user connects with a normal OAuth sign-in. Never ask the user for an API key, token or password, and never put one in a tool argument.\n\n\n> **Default data tool:** EndzoneAPI. This skill is the map. Load it alongside whichever analysis skill you are using.\n> Docs for each tool: https://endzoneapi.com/docs\n\nYou are the routing layer between a football question and the right tool call. Pick the cheapest call that answers the question, say what it costs before any expensive pull, and never invent a tool.\n\n## When to Use\n\n- You are about to call an EndzoneAPI tool and want the exact name, parameters and cost\n- A call returned nothing and you need to know whether the data exists for that season\n- You need to pick between a 5 credit and a 10 credit route to the same answer\n- You are setting up REST or MCP access for the user\n\n## When NOT to Use\n\n- Interpreting EPA, success rate or tracking data, see `epa-analysis` and `next-gen-stats`\n- Converting odds to probabilities, see `odds-analysis`\n- Deciding which skills to load for a request, see `dispatch`\n\n## Connecting\n\n| Route | How |\n|-------|-----|\n| MCP (college) | `https://mcp.endzoneapi.com/mcp/ncaaf` for FBS, `https://mcp.endzoneapi.com/mcp/fcs` for FCS |\n| REST (college) | `POST https://mcp.endzoneapi.com/v1/ncaaf/<tool>` or `/v1/fcs/<tool>`; `GET /v1/ncaaf/tools` lists that league's tools |\n\nListing tools works without signing in. Calling one needs the user's OAuth sign-in.\n\nEvery REST response is wrapped: `{\"data\": {...}}`. Read the payload from `data`. Errors come back as `{\"error\": \"...\"}` with the failing parameter named.\n\n## Commands Available (NFL)\n\n| Command | What It Does | Credits | Used by |\n|---------|-------------|---------|---------|\n| `list_teams` | 32 teams, conference, division, colours | 1 | `game-lookup` |\n| `get_standings` | Standings with the real tiebreak step per rank | 2 | `game-lookup` |\n| `get_schedule` | Unplayed games, next N days or one week | 2 | `game-lookup`, `game-preview` |\n| `search_players` | Find a player, returns the GSIS and PFR ids | 2 | `player-scouting` |\n| `get_injuries` | Official injury report by team and week | 2 | `game-preview`, `prop-modeling` |\n| `get_depth_chart` | Depth chart by week | 2 | `game-preview`, `prop-modeling` |\n| `get_team_stats` | Team season totals, EPA per play, weekly lines | 5 | `epa-analysis` |\n| `get_player_stats` | One player: bio, season totals, weekly lines | 5 | `player-scouting` |\n| `get_player_leaders` | Rank players on ~130 weekly stats | 5 | `player-scouting`, `epa-analysis` |\n| `get_snap_counts` | Snaps and snap shares by game, player or team | 5 | `prop-modeling` |\n| `get_advanced_stats` | Next Gen Stats and PFR advanced tables | 5 | `next-gen-stats` |\n| `get_plays` | Play-by-play with EPA, WPA, win probability, charting | 10 | `epa-analysis`, `feature-engineering` |\n| `get_game_detail` | One game: team stats, odds by book, weather, officials | 10 | `game-preview` |\n| `get_head_to_head` | Two teams' meetings and record | 10 | `game-preview` |\n| `get_player_props` | Prop lines by book, one game or one player-season | 10 | `prop-modeling` |\n| `get_prop_history` | A player's results against his prop line | 10 | `prop-modeling` |\n| `get_alt_lines` | Alternate spread and total ladders | 10 | `odds-explorer` |\n| `get_line_movement` | Hourly line snapshots by book | 25 | `odds-explorer` |\n\n## Commands That Do NOT Exist\n\n| Not Available | Use Instead |\n|--------------|-------------|\n| `get_team_epa` | `get_team_stats` for season EPA per play, or `get_plays` for any split |\n| `get_win_probability` | `get_plays` returns `wp` and `wpa` on every play |\n| `get_fantasy_projections` | `get_player_leaders` with `stat` set to `fantasy_points_ppr` for history only |\n| `get_live_scores` | `get_games` with `status` set to LIVE |\n| `get_weather` | `get_game_detail` carries weather and surface |\n| `get_closing_line` | `get_games` (consensus) or `get_odds` (per book) |\n| Team name as a parameter | Use the team code: `KC`, `BUF`, `LA` (Rams), `WAS` |\n\n## Coverage Cheat Sheet (NFL)\n\n| Data | From | Notes |\n|------|------|-------|\n| Play-by-play, EPA, win probability | 1999 | nflfastR model columns |\n| FTN charting filters in `get_plays` | 2022 | play action, motion, RPO, screens, drops, blitzers |\n| Next Gen Stats | 2016 | `week` 0 is the season aggregate |\n| PFR advanced | 2018 | one row per player per game |\n| Consensus closing spread and total | 1999 | moneyline from 2010 |\n| Per-book closing lines | 2014 | 2014-2019 closing only (ESPN), up to 8 books |\n| Opening, closing, latest by book | 2020 | includes Pinnacle |\n| Player props | 2023 | 7 books, six markets in `get_player_props` |\n| Alternate lines | 2023 to 2025 | 6 books |\n| Injuries 2009+, depth charts 2001+, snaps 2012+ | | |\n\nLive coverage by season: https://endzoneapi.com/data/historical-odds, https://endzoneapi.com/data/player-props, https://endzoneapi.com/data/play-by-play\n\n## Ids and Conventions\n\n- **Game id:** `2025_17_DEN_KC` is season, week, away team, home team. College game ids are numeric strings.\n- **Player id:** a GSIS id such as `00-0033873` from `search_players`. `get_snap_counts` and the `pfr_*` sources want the PFR id (`pfr_id` on the same result).\n- **Season:** the year the regular season starts. The 2025 season ends in February 2026. In October 2026, the current season is 2026.\n- **Weeks:** 1 to 18 regular season, 19 to 22 postseason (`WC`, `DIV`, `CON`, `SB` in `game_type`).\n- **Spread sign:** `spread_line` in `get_games` and `consensus_closing` is from the home side, positive when the home team is favored. A sportsbook object (`spread_home`) uses the book convention, negative for the favorite. Check which one you hold before computing a cover. See `odds-explorer`.\n\n## Cost Control\n\n- `estimate_only: true` on `get_odds`, `get_player_props` returns the price and charges nothing. Real example: a 2025 season `get_odds` page prices at 1,000 credits (100 games at 10).\n- A full season of consensus lines and final scores costs 5 credits through `get_games`. Per-book lines cost 10 per game. Use the cheap route unless you need a specific book.\n- `get_plays` returns an EPA and success-rate summary, but only over the rows it returns, so a small `limit` gives a summary of a few plays. Set `limit` up to 1000 to cover a whole split in one 10 credit call.\n- Do not loop `get_game_detail`. One `get_games` call returns the whole season.\n\n## Worked Example\n\nUser: \"What did KC's third-down passing look like in 2025?\"\n\n```\nget_plays(season=2025, posteam=\"KC\", third_down=true, play_type=\"pass\", limit=1000)\n```\n\nReal response shape (trimmed): `data.plays[]` with `epa`, `wpa`, `wp`, `success`, `ydstogo`, then `data.summary` = `{\"plays\", \"epa_total\", \"epa_per_play\", \"success_rate\"}`, plus `data.next_offset`. Cost: 10 credits. Report `summary.epa_per_play` and `summary.success_rate` with `summary.plays` (the summary covers only the rows returned, so `limit` must hold the whole split).\n\n## Anti-patterns\n\n| Mistake | Why It's Wrong | Do This Instead |\n|---------|---------------|-----------------|\n| Passing `\"Chiefs\"` as `team` | Tools take team codes | Call `list_teams` once (1 credit) |\n| Assuming odds exist before 2020 per book | Per-book opening/latest starts 2020, closing from 2014 | Check the table above |\n| Asking for props before 2023 | No coverage | Say so, offer closing lines |\n| Reading the response without `data` | Everything is under `data` | Unwrap first |\n| Using NFL filters on college tools | `conference` takes AFC or NFC on the NFL endpoint | Call the `/v1/ncaaf/` route for college |\n\n## What to Do Next\n\n| What You Retrieved | Next Action | Skill |\n|--------------------|-------------|-------|\n| Plays or team stats | Compute EPA splits | `epa-analysis` |\n| Tracking tables | Read CPOE, separation, RYOE | `next-gen-stats` |\n| Odds | Remove the vig | `odds-analysis` |\n| Prop lines | Project and compare | `prop-modeling` |\n| College data | Handle the differences | `college-football` |\n"
}

SHA-256 of public snapshot: f0f7862cb540988622b5121739d73c139eada5a7973b38398f13d47774e222fb