
NFL player props by sportsbook since 2023, plus play-by-play with EPA, stats and odds. REST and MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your EndzoneAPI API key. Get a free key (500 credits every month) at endzoneapi.com/signup
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use for tracking and advanced 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.
Which dataset: ngs_passing, ngs_rushing, ngs_receiving, pfr_passing, pfr_rushing, pfr_receiving, pfr_defense
Team code
Week. NGS also publishes week 0 as the season aggregate.
Max rows (default 50)
Season year. Defaults to current. NGS from 2016, PFR from 2018.
GSIS id for an ngs_* source, PFR id for a pfr_* source; both are on search_players
Use for tracking and advanced 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.
| Argument | Type | Description |
|---|---|---|
| team | string | Team code |
| week | integer | Week. NGS also publishes week 0 as the season aggregate. |
| limit | integer | Max rows (default 50) |
| season | string | number | Season year. Defaults to current. NGS from 2016, PFR from 2018. |
| source* | string | Which dataset: ngs_passing, ngs_rushing, ngs_receiving, pfr_passing, pfr_rushing, pfr_receiving, pfr_defense |
| player_id | string | GSIS id for an ngs_* source, PFR id for a pfr_* source; both are on search_players |
{
"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"
}
}
}Use for alternate spreads and totals by sportsbook: every point on each book's ladder with its price (e.g. KC -10.5 at +260, over 51.5 at +140), for one game, from the 2023 season on, the current season included (6 to 7 books: FanDuel, DraftKings, BetMGM, Bovada, Pinnacle, ESPN BET). Returns each book's closing ladder by default (the last before kickoff) or its opening one. side is home or away for spreads (point is that side's spread) and over or under for totals. 10 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| market | string | One market (default both). |
| game_id* | string | Game id, e.g. 2025_01_KC_LAC. |
| bookmaker | string | Bookmaker key: fanduel, draftkings, betmgm, bovada, pinnacle, espnbet. |
| snapshot_type | string | closing (default): each book's last ladder before kickoff. opening: its first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"game_id"
],
"properties": {
"market": {
"enum": [
"alternate_spreads",
"alternate_totals"
],
"type": "string",
"description": "One market (default both)."
},
"game_id": {
"type": "string",
"description": "Game id, e.g. 2025_01_KC_LAC."
},
"bookmaker": {
"type": "string",
"description": "Bookmaker key: fanduel, draftkings, betmgm, bovada, pinnacle, espnbet."
},
"snapshot_type": {
"enum": [
"opening",
"closing"
],
"type": "string",
"description": "closing (default): each book's last ladder before kickoff. opening: its first."
}
}
}Use for a team's depth chart by week: formation, position, depth rank, player. Defaults to the latest week available. Costs 2 credits.
| Argument | Type | Description |
|---|---|---|
| team* | string | Team code |
| week | integer | Week. Defaults to latest. |
| season | string | number | Season year. Defaults to current. |
| formation | string | Filter by formation/unit, e.g. Offense, Defense, Special Teams |
{
"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"
}
}
}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. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| game_id* | string | Game id, e.g. 2025_01_KC_BUF |
{
"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"
}
}
}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. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| team | string | Team code (home or away) |
| week | integer | Week number (1-18 regular season; 19+ postseason) |
| limit | integer | Max results (default 100) |
| season | string | number | Season year (e.g. 2025) |
| status | string | Game status |
| date_to | string | End date YYYY-MM-DD |
| date_from | string | Start date YYYY-MM-DD |
| game_type | string | REG, WC, DIV, CON, SB, or POST for any playoff game |
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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max games (default 20) |
| team1* | string | First team code |
| team2* | string | Second team code |
| season | string | number | Season year. Omit for all-time. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| team | string | Team code |
| week | integer | Week. Defaults to the latest week with a report. |
| season | string | number | Season year. Defaults to current. |
| status | string | Filter by game status: Out, Doubtful, Questionable |
{
"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"
}
}
}Use to see how a game's lines moved: each bookmaker's hourly snapshots where a line changed, plus the latest (all_snapshots for every capture). Most expensive tool (25 cr); use get_odds (10 cr) if you only need opening, closing, or current lines. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| game_id* | string | Game id |
| bookmaker | string | Bookmaker key filter |
| all_snapshots | boolean | Every hourly capture. By default a capture identical to the one before it is left out (the latest is always kept), which keeps every move and its time. |
{
"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"
},
"all_snapshots": {
"type": "boolean",
"description": "Every hourly capture. By default a capture identical to the one before it is left out (the latest is always kept), which keeps every move and its time."
}
}
}Use for betting lines. Pass game_id for one game (10 credits): the consensus closing spread and total (every game since 1999; moneyline every game since 2010) plus each sportsbook's closing line from the 2014 season (4-9 books for 2014-2019, closing only) and per-bookmaker opening, closing and latest lines from the 2020 season (up to 8 books, including Pinnacle). 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. Each line carries a source field (one value for the 2014-2019 closing lines, another from 2020); a season answer lists each game's sources. For consensus closing lines only, get_games returns a whole season for 5 credits. Set estimate_only to get the price without being charged. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| team | string | With season: only this team's games (e.g. KC). |
| limit | integer | With season: games per page (default 100, max 500). |
| offset | integer | With season: page offset; use next_offset from the previous page. |
| season | string | number | Season year for a whole season of per-book lines, e.g. 2026. Used when game_id is not set. |
| game_id | string | Game id, e.g. 2026_01_KC_BUF. Omit and pass season for a whole season. |
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.
| Argument | Type | Description |
|---|---|---|
| stat* | string | Weekly stat column to rank by (e.g. passing_yards, receiving_epa, def_sacks) |
| team | string | Team code filter |
| limit | integer | Max results (default 20) |
| season | string | number | Season year. Defaults to current. |
| position | string | Position filter, e.g. QB, RB, WR, TE |
| min_games | integer | Minimum games with a stat line (default 1) |
| season_type | string | Regular season (default) or postseason |
{
"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"
}
}
}Use for player prop lines by sportsbook: over/under on passing yards, passing TDs, rushing yards, receiving yards and receptions, plus anytime TD, from the 2023 season (7 books: DraftKings, FanDuel, BetMGM, ESPN BET, Pinnacle, Bovada, BetOnline). Pass game_id for every player's props in one game (10 credits), or player_id with season for one player across a season (10 credits per game returned). Returns the closing line by default (the last before kickoff) or the opening line. Set estimate_only to get the price without being charged. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| market | string | One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores)) |
| season | string | number | Season year, with player_id. |
| game_id | string | Game id, e.g. 2025_01_KC_LAC. |
| bookmaker | string | Bookmaker key, e.g. draftkings, fanduel, pinnacle. |
| player_id | string | GSIS player id (00-00XXXXX) from search_players. With season: that player's props across the season. |
Use for one player: bio, draft, physicals, id crosswalk (pfr_id, espn_id), 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.
| Argument | Type | Description |
|---|---|---|
| season | string | number | Season year. Defaults to the player's latest season. |
| player_id* | string | GSIS player id from search_players (e.g. 00-0033873) |
| season_type | string | Regular season (default) or postseason |
{
"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"
}
}
}Use for play-by-play with advanced 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. Returns a per-query EPA and success-rate summary. Paginate with offset. Costs 10 credits.
| Argument | Type | Description |
|---|---|---|
| down | integer | Down |
| week | integer | Week |
| limit | integer | Max plays (default 200) |
| max_wp | number | Maximum pre-play win probability |
| min_wp | number | Minimum pre-play win probability for the offense |
| offset | integer | Pagination offset |
| season | string | number | Season year (required when game_id is not set) |
| defteam | string | Defense team code |
| game_id | string | Game id, e.g. 2025_01_KC_BUF |
Use to see how a player did against his prop line over time: for one market (passing, rushing or receiving yards, passing touchdowns, completions, attempts, interceptions, carries, receptions or anytime touchdown), one row per game with the closing line (the median across books, or one book's), the opening line (the same as the close wherever only one capture was taken), the prices, what the player actually recorded from our box scores and the result against the line, plus the over rate. Costs 10 credits for up to 200 games. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Games to return, oldest first (default 50, max 200). next_from_date says where to continue. |
| market* | string | The market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_receptions (receptions), player_reception_yds (receiving yards), player_anytime_td (anytime touchdown (over = scores)) |
| to_date | string | Last date, YYYY-MM-DD (the game's date). |
| bookmaker | string | One book's closing line instead of the median across books, e.g. draftkings. |
| from_date | string |
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. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.
| Argument | Type | Description |
|---|---|---|
| days | integer | Days ahead to look when week is not set (default 7) |
| team | string | Team code to filter |
| week | integer | A specific week of the current season (returns all games that week, played or not) |
{
"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)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| team | string | Team code |
| week | integer | Week filter |
| limit | integer | Max rows (default 200) |
| season | string | number | Season year (with team or player) |
| game_id | string | Game id, e.g. 2025_01_KC_BUF |
| player_id | string | PFR player id (from search_players pfr_id) |
{
"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)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| season | string | number | Season year the regular season starts (e.g. 2025). Defaults to current. |
| division | string | Filter by division, e.g. 'NFC North' |
| conference | string | Filter by conference |
{
"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"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| team* | string | Team code (e.g. KC, BUF, PHI) |
| season | string | number | Season year (e.g. 2025). Defaults to current. |
| season_type | string | Regular season (default) or postseason |
{
"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"
}
}
}Use when you need team codes, or all 32 current teams with conference, division, colours, and logo URLs. Team codes are standard abbreviations (LA for the Rams, WAS for Washington). Cheapest tool at 1 credit.
| Argument | Type | Description |
|---|---|---|
| division | string | Filter by division, e.g. 'AFC East' or 'NFC West' |
| conference | string | Filter by conference |
{
"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"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| team | string | Filter by current team code |
| limit | integer | Max results (default 10) |
| query* | string | Player name or part of it |
| active | boolean | 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 | string | Filter by position (e.g. QB, RB, WR, TE, OL, DL, LB, DB) |
{
"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)"
}
}
}{
"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"
}
}
}| bookmaker | string | Bookmaker key (draftkings, fanduel, betmgm, espnbet, pinnacle, bovada, betonlineag, mybookieag; for 2014-2019 also westgate, caesars, wynn, unibet, 5dimes, sportsbettingag and others) |
| estimate_only | boolean | Return what this call would cost, without charging or running it. |
| snapshot_type | string | Single game: one snapshot type (default all). Season: opening or closing (default closing). |
{
"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, pinnacle, bovada, betonlineag, mybookieag; for 2014-2019 also westgate, caesars, wynn, unibet, 5dimes, sportsbettingag and others)"
},
"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)."
}
}
}| estimate_only | boolean | Return what this call would cost, without charging or running it. |
| snapshot_type | string | closing (default): the last line before kickoff. opening: the first one captured. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"market": {
"enum": [
"player_pass_yds",
"player_pass_tds",
"player_pass_completions",
"player_pass_attempts",
"player_pass_interceptions",
"player_rush_yds",
"player_rush_attempts",
"player_reception_yds",
"player_receptions",
"player_anytime_td"
],
"type": "string",
"description": "One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores))"
},
"season": {
"type": [
"string",
"number"
],
"description": "Season year, with player_id."
},
"game_id": {
"type": "string",
"description": "Game id, e.g. 2025_01_KC_LAC."
},
"bookmaker": {
"type": "string",
"description": "Bookmaker key, e.g. draftkings, fanduel, pinnacle."
},
"player_id": {
"type": "string",
"description": "GSIS player id (00-00XXXXX) from search_players. With season: that player's props across the season."
},
"estimate_only": {
"type": "boolean",
"description": "Return what this call would cost, without charging or running it."
},
"snapshot_type": {
"enum": [
"opening",
"closing"
],
"type": "string",
"description": "closing (default): the last line before kickoff. opening: the first one captured."
}
}
}| posteam | string | Offense team code |
| quarter | integer | Quarter (5+ = overtime) |
| red_zone | boolean | Only plays inside the 20 |
| passer_id | string | GSIS id of the passer |
| play_type | string | Play type |
| rusher_id | string | GSIS id of the rusher |
| third_down | boolean | Only third downs |
| receiver_id | string | GSIS id of the receiver |
{
"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)"
},
"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"
},
"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"
},
"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"
}
}
}| First date, YYYY-MM-DD (the game's date). |
| player_id* | string | Player id (a GSIS id such as 00-0033873) from search_players. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"player_id",
"market"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Games to return, oldest first (default 50, max 200). next_from_date says where to continue."
},
"market": {
"enum": [
"player_pass_yds",
"player_pass_tds",
"player_pass_completions",
"player_pass_attempts",
"player_pass_interceptions",
"player_rush_yds",
"player_rush_attempts",
"player_receptions",
"player_reception_yds",
"player_anytime_td"
],
"type": "string",
"description": "The market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_receptions (receptions), player_reception_yds (receiving yards), player_anytime_td (anytime touchdown (over = scores))"
},
"to_date": {
"type": "string",
"description": "Last date, YYYY-MM-DD (the game's date)."
},
"bookmaker": {
"type": "string",
"description": "One book's closing line instead of the median across books, e.g. draftkings."
},
"from_date": {
"type": "string",
"description": "First date, YYYY-MM-DD (the game's date)."
},
"player_id": {
"type": "string",
"description": "Player id (a GSIS id such as 00-0033873) from search_players."
}
}
}