---
title: "Odds line movement history for a game (Pro Insights+)"
method: GET
path: "/v1/{sport}/odds/history/{gameId}"
tags: ["Multi"]
---

# Odds line movement history for a game (Pro Insights+)

`GET /v1/{sport}/odds/history/{gameId}`

## Request

- Base URL: `https://api.playcallerapp.com`
- URL: `https://api.playcallerapp.com/v1/{sport}/odds/history/{gameId}`
- Auth: API key in header `X-PlayCaller-Key`

Returns all captured odds snapshots for a specific game, ordered chronologically. Useful for detecting line movement, sharp action, and steam moves. History depth depends on how early the game was tracked.

**Tier access:** Pro Insights, Syndicate Alpha

## Path parameters

- `sport` 'nfl' | 'nba' | 'mlb' | 'nhl' | 'cfb' | 'ufc', required
- `gameId` string, required

## Response `200`

Odds history snapshots

- object
  - `success` boolean
  - `endpoint` string
  - `sport` string
  - `game_id` string
  - `snapshots` integer
  - `history` object[]
    - `bookmaker` string
    - `spread` object
      - `home` number, nullable
      - `away` number, nullable
    - `total` number, nullable
    - `moneyline` object
      - `home` number, nullable
      - `away` number, nullable
    - `implied_total` object
      - `home` number, nullable
      - `away` number, nullable
    - `captured_at` string, date-time
  - `meta` ResponseMeta
    - `sport` string
    - `league` string: Present on multi-sport (ESPN-backed) endpoints; mirrors sport unless a sport has sub-leagues (e.g. soccer: epl/mls).
    - `tier` string
    - `calls_remaining_this_month` integer
    - `documentation_url` string, uri

## Other responses

- `401`: Missing or invalid API key
- `402`: Pro Insights or Syndicate Alpha required
- `404`: Game not found
- `429`: Rate limit or monthly quota exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/playcallerapp/apis/playcaller-data-api.md) · [All operations](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/revisions/100c0a3ffbfe?raw)
