---
title: "Odds"
method: POST
path: "/v1/get_odds"
tags: ["Multi-table"]
---

# Odds

`POST /v1/get_odds`

## Request

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

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.

## Request body

- object
  - `game_id` string: Game id, e.g. 2026_01_KC_BUF. Omit and pass season for a whole season.
  - `season` union: Season year for a whole season of per-book lines, e.g. 2026. Used when game_id is not set.
    - string
    - number
  - `team` string: With season: only this team's games (e.g. KC).
  - `bookmaker` string: Bookmaker key (draftkings, fanduel, betmgm, espnbet, pinnacle, bovada, betonlineag, mybookieag; for 2014-2019 also westgate, caesars, wynn, unibet, 5dimes, sportsbettingag and others)
  - `snapshot_type` 'opening' | 'closing' | 'latest': Single game: one snapshot type (default all). Season: opening or closing (default closing).
  - `limit` integer: With season: games per page (default 100, max 500).
  - `offset` integer: With season: page offset; use next_offset from the previous page.
  - `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
    - `game_id` string
    - `home_team` string
    - `away_team` string
    - `kickoff` string, nullable
    - `consensus_closing` object
    - `books` object[]
    - `bookmaker_count` number
    - `count` number
    - `note` string
    - `season` string
    - `games` object[]
    - `total_games` number
    - `next_offset` number, nullable
    - `credits_per_game` number
    - `snapshot_type` string
    - `columns` 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)
