---
title: "Player props"
method: POST
path: "/v1/get_player_props"
tags: ["Multi-table"]
---

# Player props

`POST /v1/get_player_props`

## Request

- Base URL: `https://mcp.endzoneapi.com`
- URL: `https://mcp.endzoneapi.com/v1/get_player_props`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

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.

## Request body

- object
  - `game_id` string: Game id, e.g. 2025_01_KC_LAC.
  - `player_id` string: GSIS player id (00-00XXXXX) from search_players. With season: that player's props across the season.
  - `season` union: Season year, with player_id.
    - string
    - number
  - `market` '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': 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))
  - `bookmaker` string: Bookmaker key, e.g. draftkings, fanduel, pinnacle.
  - `snapshot_type` 'opening' | 'closing': closing (default): the last line before kickoff. opening: the first one captured.
  - `estimate_only` boolean: Return what this call would cost, without charging or running it.

## Response `200`

The result, wrapped in data.

- object
  - `data` object, required
    - `snapshot_type` string
    - `games` number
    - `props` object[]
      - `game_id` string, required
      - `player_name` string, required
      - `gsis_id` string, nullable, required
      - `market` string, required
      - `bookmaker` string, required
      - `line` number, nullable, required
      - `over_odds` number, nullable, required
      - `under_odds` number, nullable, required
      - `captured_at` string, required
      - `source` string
    - `count` number
    - `credits_per_game` number
    - `note` string
    - `estimate_only` boolean
    - `tool` string
    - `credits` number

## Other responses

- `400`: Invalid arguments.
- `401`: Missing or invalid API key.
- `402`: Not enough credits.
- `429`: Rate limited.

---

[API](https://skmtc.dev/endzoneapi/apis/endzoneapi-api.md) · [All operations](https://skmtc.dev/endzoneapi/apis/endzoneapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endzoneapi/apis/endzoneapi-api/revisions/79ac6ebe298d?raw)
