endzoneapi
Registry code: 9c37882d55dbe27c
EndzoneAPI -- 17 football data tools. Play-by-play, stats, schedules, injuries, and odds.
## First Steps
- endpoint
- https://mcp.endzoneapi.com/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is endzoneapi live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is endzoneapi free to use?
- No — it asks for a key or a login before it will serve.
- What tools does endzoneapi have?
- 17 tools: get_snap_counts, list_teams, get_head_to_head, get_games, get_injuries, get_odds, get_schedule, get_game_detail, ….
- Is endzoneapi safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 17 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_snap_counts auth-required never probed
Use for playing time: offensive, defensive, and special-teams snaps and snap shares, for one game, one player (PFR id), or a team's season. Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "team": { "type": "string", "description": "Team code" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "Week filter" }, "limit": { "type": "integer", "maximum": 1000, "minimum": 1, "description": "Max rows (default 200)" }, "season": { "type": [ "string", "number" ], "description": "Season year (with team or player)" }, "game_id": { "type": "string", "description": "Game id, e.g. 2025_01_KC_BUF" }, "player_id": { "type": "string", "description": "PFR player id (from search_players pfr_id)" } } }arguments 37 lineslist_teams auth-required never probed
Use when you need team codes, or all 32 current teams with conference, division, colours, and logo URLs. Team codes are nflverse spelling (LA for the Rams, WAS for Washington). Cheapest tool at 1 credit.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "division": { "type": "string", "description": "Filter by division, e.g. 'AFC East' or 'NFC West'" }, "conference": { "enum": [ "AFC", "NFC" ], "type": "string", "description": "Filter by conference" } } }arguments 18 linesget_head_to_head auth-required never probed
Use to compare two teams' history: recent meetings with scores, the win/loss record between them, and average margin. Filter by season or get all-time. Costs 10 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "team1", "team2" ], "properties": { "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Max games (default 20)" }, "team1": { "type": "string", "description": "First team code" }, "team2": { "type": "string", "description": "Second team code" }, "season": { "type": [ "string", "number" ], "description": "Season year. Omit for all-time." } } }arguments 31 linesget_games auth-required 1h ago
Use when querying past or future games with filters: season, week, team, date range, game type, status. Returns scores, kickoff (UTC), venue, rest days, starting QBs, coaches, referee, and the consensus closing spread, total, and moneylines. For upcoming-only games prefer get_schedule (2 cr). Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "team": { "type": "string", "description": "Team code (home or away)" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "Week number (1-18 regular season; 19+ postseason)" }, "limit": { "type": "integer", "maximum": 500, "minimum": 1, "description": "Max results (default 100)" }, "season": { "type": [ "string", "number" ], "description": "Season year (e.g. 2025)" }, "status": { "enum": [ "FUT", "LIVE", "FINAL" ], "type": "string", "description": "Game status" }, "date_to": { "type": "string", "description": "End date YYYY-MM-DD" }, "date_from": { "type": "string", "description": "Start date YYYY-MM-DD" }, "game_type": { "enum": [ "REG", "WC", "DIV", "CON", "SB", "POST" ], "type": "string", "description": "REG, WC, DIV, CON, SB, or POST for any playoff game" } } }arguments 58 linesget_injuries auth-required 1h ago
Use for the official injury report: game status (Out, Doubtful, Questionable) and practice participation with the injury named, by team and week. Defaults to the latest reported week of the current season. Costs 2 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "team": { "type": "string", "description": "Team code" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "Week. Defaults to the latest week with a report." }, "season": { "type": [ "string", "number" ], "description": "Season year. Defaults to current." }, "status": { "type": "string", "description": "Filter by game status: Out, Doubtful, Questionable" } } }arguments 27 linesget_odds auth-required 1h ago
Use for betting lines. Pass game_id for one game (10 credits): the consensus closing spread/total/moneyline (every game since 1999) plus per-bookmaker opening, closing and latest lines (DraftKings, FanDuel, BetMGM, ESPN BET) from September 2026. Or pass season (optionally team) for a season of per-book closing lines in one call, with final scores and the consensus close, at 10 credits per game returned, 100 games a page by default (up to 500); each book's line is an array in the order given by columns. For consensus closing lines only, get_games returns a whole season for 5 credits. Set estimate_only to get the price without being charged.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "team": { "type": "string", "description": "With season: only this team's games (e.g. KC)." }, "limit": { "type": "integer", "maximum": 500, "minimum": 1, "description": "With season: games per page (default 100, max 500)." }, "offset": { "type": "integer", "maximum": 9007199254740991, "minimum": 0, "description": "With season: page offset; use next_offset from the previous page." }, "season": { "type": [ "string", "number" ], "description": "Season year for a whole season of per-book lines, e.g. 2026. Used when game_id is not set." }, "game_id": { "type": "string", "description": "Game id, e.g. 2026_01_KC_BUF. Omit and pass season for a whole season." }, "bookmaker": { "type": "string", "description": "Bookmaker key (draftkings, fanduel, betmgm, espnbet)" }, "estimate_only": { "type": "boolean", "description": "Return what this call would cost, without charging or running it." }, "snapshot_type": { "enum": [ "opening", "closing", "latest" ], "type": "string", "description": "Single game: one snapshot type (default all). Season: opening or closing (default closing)." } } }arguments 50 linesget_schedule auth-required never probed
Use to see what is coming up: unplayed games in the next N days (default 7), or a specific week of the current season. Includes consensus lines where posted. Costs 2 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "days": { "type": "integer", "maximum": 30, "minimum": 1, "description": "Days ahead to look when week is not set (default 7)" }, "team": { "type": "string", "description": "Team code to filter" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "A specific week of the current season (returns all games that week, played or not)" } } }arguments 22 linesget_game_detail auth-required never probed
Use when you need everything about one game: both teams, full team box-score stats (EPA, success, drives), consensus closing line, per-bookmaker opening/closing/latest odds, weather, surface, and officials. Requires a game id from get_games or get_schedule. Costs 10 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "game_id" ], "properties": { "game_id": { "type": "string", "description": "Game id, e.g. 2025_01_KC_BUF" } } }arguments 13 linesget_player_stats auth-required never probed
Use for one player: bio, draft, physicals, headshot, id crosswalk (PFR, ESPN), summed season totals across passing, rushing, receiving, defense, kicking, returns, and fantasy points, every weekly stat line for the season, and games played per season. Defaults to the player's latest season. Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "player_id" ], "properties": { "season": { "type": [ "string", "number" ], "description": "Season year. Defaults to the player's latest season." }, "player_id": { "type": "string", "description": "GSIS player id from search_players (e.g. 00-0033873)" }, "season_type": { "enum": [ "REG", "POST" ], "type": "string", "description": "Regular season (default) or postseason" } } }arguments 28 linesget_player_leaders auth-required never probed
Use to rank players on any weekly stat over a season: passing_yards, passing_tds, rushing_yards, receiving_yards, receptions, targets, def_sacks, def_interceptions, fantasy_points_ppr, passing_epa, rushing_epa, receiving_epa, and ~130 more. Counting stats are summed, rate stats averaged. Filter by position, team, minimum games. Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "stat" ], "properties": { "stat": { "type": "string", "description": "Weekly stat column to rank by (e.g. passing_yards, receiving_epa, def_sacks)" }, "team": { "type": "string", "description": "Team code filter" }, "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Max results (default 20)" }, "season": { "type": [ "string", "number" ], "description": "Season year. Defaults to current." }, "position": { "type": "string", "description": "Position filter, e.g. QB, RB, WR, TE" }, "min_games": { "type": "integer", "maximum": 9007199254740991, "minimum": 1, "description": "Minimum games with a stat line (default 1)" }, "season_type": { "enum": [ "REG", "POST" ], "type": "string", "description": "Regular season (default) or postseason" } } }arguments 48 linesget_depth_chart auth-required never probed
Use for a team's depth chart by week: formation, position, depth rank, player. Defaults to the latest week available. Costs 2 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "team" ], "properties": { "team": { "type": "string", "description": "Team code" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "Week. Defaults to latest." }, "season": { "type": [ "string", "number" ], "description": "Season year. Defaults to current." }, "formation": { "type": "string", "description": "Filter by formation/unit, e.g. Offense, Defense, Special Teams" } } }arguments 30 linesget_plays auth-required never probed
Use for play-by-play with nflfastR metrics: EPA, WPA, win probability, success, CPOE, air yards, formation flags, and the players involved. Filter by game, or by season plus week/team/player, plus play type, down, quarter, win-probability band, red zone, third down. Set include_charting for FTN manual charting from 2022 on -- alignment, pre-snap motion, play action, screens, run-pass options, blitzer counts, drops -- or filter directly on those flags. Returns a per-query EPA and success-rate summary. Paginate with offset. Costs 10 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "down": { "type": "integer", "maximum": 4, "minimum": 1, "description": "Down" }, "week": { "type": "integer", "maximum": 22, "minimum": 1, "description": "Week" }, "limit": { "type": "integer", "maximum": 1000, "minimum": 1, "description": "Max plays (default 200)" }, "is_rpo": { "type": "boolean", "description": "Charting filter: run-pass option (2022+)" }, "max_wp": { "type": "number", "maximum": 1, "minimum": 0, "description": "Maximum pre-play win probability" }, "min_wp": { "type": "number", "maximum": 1, "minimum": 0, "description": "Minimum pre-play win probability for the offense" }, "offset": { "type": "integer", "maximum": 9007199254740991, "minimum": 0, "description": "Pagination offset" }, "season": { "type": [ "string", "number" ], "description": "Season year (required when game_id is not set)" }, "defteam": { "type": "string", "description": "Defense team code" }, "game_id": { "type": "string", "description": "Game id, e.g. 2025_01_KC_BUF" }, "is_drop": { "type": "boolean", "description": "Charting filter: charted drop (2022+)" }, "posteam": { "type": "string", "description": "Offense team code" }, "quarter": { "type": "integer", "maximum": 6, "minimum": 1, "description": "Quarter (5+ = overtime)" }, "red_zone": { "type": "boolean", "description": "Only plays inside the 20" }, "is_motion": { "type": "boolean", "description": "Charting filter: pre-snap motion (2022+)" }, "passer_id": { "type": "string", "description": "GSIS id of the passer" }, "play_type": { "enum": [ "pass", "run", "punt", "kickoff", "field_goal", "extra_point", "qb_kneel", "qb_spike", "no_play" ], "type": "string", "description": "Play type" }, "rusher_id": { "type": "string", "description": "GSIS id of the rusher" }, "third_down": { "type": "boolean", "description": "Only third downs" }, "receiver_id": { "type": "string", "description": "GSIS id of the receiver" }, "is_no_huddle": { "type": "boolean", "description": "Charting filter: no huddle (2022+)" }, "min_blitzers": { "type": "integer", "maximum": 11, "minimum": 0, "description": "Charting filter: at least this many blitzers (2022+). FTN counts rushers beyond the base rush, so this is typically 0-3; 5+ is almost never charted." }, "is_trick_play": { "type": "boolean", "description": "Charting filter: trick play (2022+)" }, "is_play_action": { "type": "boolean", "description": "Charting filter: play action (2022+)" }, "is_screen_pass": { "type": "boolean", "description": "Charting filter: screen pass (2022+)" }, "include_charting": { "type": "boolean", "description": "Attach FTN manual charting to each play (2022+): alignment, motion, play action, screens, RPO, blitzers, drops" }, "is_qb_out_of_pocket": { "type": "boolean", "description": "Charting filter: quarterback out of the pocket (2022+)" } } }arguments 144 linesget_advanced_stats auth-required never probed
Use for tracking and charting metrics the box score does not carry. Next Gen Stats (2016+): time to throw, air yards, completion percentage above expectation, separation, cushion, rush yards over expected. Pro Football Reference advanced (2018+): pressures, hurries, blitzes, drops, bad throws, missed tackles, coverage yards allowed. Pick a source, then filter by season, week, player or team. Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "source" ], "properties": { "team": { "type": "string", "description": "Team code" }, "week": { "type": "integer", "maximum": 22, "minimum": 0, "description": "Week. NGS also publishes week 0 as the season aggregate." }, "limit": { "type": "integer", "maximum": 200, "minimum": 1, "description": "Max rows (default 50)" }, "season": { "type": [ "string", "number" ], "description": "Season year. Defaults to current. NGS from 2016, PFR from 2018." }, "source": { "enum": [ "ngs_passing", "ngs_rushing", "ngs_receiving", "pfr_passing", "pfr_rushing", "pfr_receiving", "pfr_defense" ], "type": "string", "description": "Which dataset: ngs_passing, ngs_rushing, ngs_receiving, pfr_passing, pfr_rushing, pfr_receiving, pfr_defense" }, "player_id": { "type": "string", "description": "GSIS id for an ngs_* source, PFR id for a pfr_* source; both are on search_players" } } }arguments 49 linesget_line_movement auth-required never probed
Use to see how a game's lines moved: the full time series of hourly snapshots grouped by bookmaker. Most expensive tool (25 cr); use get_odds (10 cr) if you only need opening, closing, or current lines.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "game_id" ], "properties": { "game_id": { "type": "string", "description": "Game id" }, "bookmaker": { "type": "string", "description": "Bookmaker key filter" } } }arguments 17 linesget_standings auth-required never probed
Use for regular-season standings and playoff seeding: record, win%, points for/against, home/away/division/conference records, streak, division rank, and conference seed. Ranks apply the real NFL tiebreaking procedure and report which step decided each one. Computed from final scores. Defaults to the current season. Costs 2 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "season": { "type": [ "string", "number" ], "description": "Season year the regular season starts (e.g. 2025). Defaults to current." }, "division": { "type": "string", "description": "Filter by division, e.g. 'NFC North'" }, "conference": { "enum": [ "AFC", "NFC" ], "type": "string", "description": "Filter by conference" } } }arguments 25 linesget_team_stats auth-required never probed
Use for one team's season: totals (passing, rushing, receiving, defense, kicking, penalties), EPA per play, yards per attempt/carry, the standings row, and every weekly stat line. Costs 5 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "team" ], "properties": { "team": { "type": "string", "description": "Team code (e.g. KC, BUF, PHI)" }, "season": { "type": [ "string", "number" ], "description": "Season year (e.g. 2025). Defaults to current." }, "season_type": { "enum": [ "REG", "POST" ], "type": "string", "description": "Regular season (default) or postseason" } } }arguments 28 linessearch_players auth-required never probed
Use to find a player by name (partial match). Searches ~25,000 players back to 1999; returns current-season players by default, falling back to all players back to 1999 when none match. Returns the GSIS player id needed by get_player_stats. Costs 2 credits.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "query" ], "properties": { "team": { "type": "string", "description": "Filter by current team code" }, "limit": { "type": "integer", "maximum": 50, "minimum": 1, "description": "Max results (default 10)" }, "query": { "type": "string", "minLength": 1, "description": "Player name or part of it" }, "active": { "type": "boolean", "description": "Default true, but an active-only search that finds nobody automatically falls back to all players and says so. Set false to search everyone outright." }, "position": { "type": "string", "description": "Filter by position (e.g. QB, RB, WR, TE, OL, DL, LB, DB)" } } }arguments 32 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id9c37882d55dbe27c.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/9c37882d55dbe27c/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/9c37882d55dbe27c?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.