Skip to content

get_line_movement

25 creditsTime-seriesPOST /v1/get_line_movement

Data refreshed · changelog

Time-series odds grouped by bookmaker

Use it when you are studying how a line moved: every hourly snapshot per bookmaker from first post to kickoff.

Parameters

game_idstringrequired
Game id
bookmakerstringoptional
Bookmaker key filter
all_snapshotsbooleanoptional
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.

Notes

  • Over MCP, ask for it in plain English and the client calls get_line_movement itself. Point any MCP client at https://mcp.endzoneapi.com/mcp?key=YOUR_API_KEY.
  • Each call costs 25 credits, taken before it runs and refunded if the server errors.
  • Not the call you need? Find the right call by what you are trying to answer.

Request

curl -X POST https://mcp.endzoneapi.com/v1/get_line_movement \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "game_id": "2026_02_DET_BUF"
}'

Response

json
{
  "game_id": "2026_02_DET_BUF",
  "home_team": "BUF",
  "away_team": "DET",
  "kickoff": "2026-09-18T00:15:00.000Z",
  "movement": {
    "betmgm": [
      {
        "bookmaker": "betmgm",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -210,
        "ml_away": 175,
        "ml_home_prob": 0.67741936,
        "ml_away_prob": 0.36363637,
        "spread_home": -4,
        "spread_home_odds": -115,
        "spread_away": 4,
        "spread_away_odds": -105,
        "total": 53.5,
        "total_over_odds": -110,
        "total_under_odds": -108,
        "captured_at": "2026-09-14T16:00:00.000Z"
      },
      {
        "bookmaker": "betmgm",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -235,
        "ml_away": 190,
        "ml_home_prob": 0.70149255,
        "ml_away_prob": 0.3448276,
        "spread_home": -5.5,
        "spread_home_odds": -110,
        "spread_away": 5.5,
        "spread_away_odds": -108,
        "total": 55,
        "total_over_odds": -110,
        "total_under_odds": -110,
        "captured_at": "2026-09-17T15:04:00.530Z"
      },
      {
        "bookmaker": "betmgm",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -235,
        "ml_away": 200,
        "ml_home_prob": 0.70149255,
        "ml_away_prob": 0.33333334,
        "spread_home": -5.5,
        "spread_home_odds": -110,
        "spread_away": 5.5,
        "spread_away_odds": -108,
        "total": 55,
        "total_over_odds": -108,
        "total_under_odds": -110,
        "captured_at": "2026-09-17T15:08:01.468Z"
      }
    ],
    "draftkings": [
      {
        "bookmaker": "draftkings",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -162,
        "ml_away": 136,
        "ml_home_prob": 0.6183206,
        "ml_away_prob": 0.42372882,
        "spread_home": -3,
        "spread_home_odds": -110,
        "spread_away": 3,
        "spread_away_odds": -110,
        "total": 52.5,
        "total_over_odds": -105,
        "total_under_odds": -115,
        "captured_at": "2026-09-09T16:00:00.000Z"
      },
      {
        "bookmaker": "draftkings",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -162,
        "ml_away": 136,
        "ml_home_prob": 0.6183206,
        "ml_away_prob": 0.42372882,
        "spread_home": -3,
        "spread_home_odds": -115,
        "spread_away": 3,
        "spread_away_odds": -105,
        "total": 51.5,
        "total_over_odds": -115,
        "total_under_odds": -105,
        "captured_at": "2026-09-10T16:00:00.000Z"
      },
      {
        "bookmaker": "draftkings",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -166,
        "ml_away": 140,
        "ml_home_prob": 0.62406015,
        "ml_away_prob": 0.41666666,
        "spread_home": -3,
        "spread_home_odds": -115,
        "spread_away": 3,
        "spread_away_odds": -105,
        "total": 52.5,
        "total_over_odds": -105,
        "total_under_odds": -115,
        "captured_at": "2026-09-13T16:00:00.000Z"
      }
    ],
    "espnbet": [
      {
        "bookmaker": "espnbet",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -170,
        "ml_away": 145,
        "ml_home_prob": 0.6296296,
        "ml_away_prob": 0.40816328,
        "spread_home": -3.5,
        "spread_home_odds": -105,
        "spread_away": 3.5,
        "spread_away_odds": -115,
        "total": 52.5,
        "total_over_odds": -105,
        "total_under_odds": -115,
        "captured_at": "2026-09-09T16:00:00.000Z"
      },
      {
        "bookmaker": "espnbet",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -195,
        "ml_away": 165,
        "ml_home_prob": 0.66101694,
        "ml_away_prob": 0.3773585,
        "spread_home": -4,
        "spread_home_odds": -110,
        "spread_away": 4,
        "spread_away_odds": -110,
        "total": 52.5,
        "total_over_odds": -105,
        "total_under_odds": -115,
        "captured_at": "2026-09-13T16:00:00.000Z"
      },
      {
        "bookmaker": "espnbet",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -210,
        "ml_away": 175,
        "ml_home_prob": 0.67741936,
        "ml_away_prob": 0.36363637,
        "spread_home": -4,
        "spread_home_odds": -110,
        "spread_away": 4,
        "spread_away_odds": -110,
        "total": 53.5,
        "total_over_odds": -115,
        "total_under_odds": -105,
        "captured_at": "2026-09-14T16:00:00.000Z"
      }
    ],
    "fanduel": [
      {
        "bookmaker": "fanduel",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -196,
        "ml_away": 164,
        "ml_home_prob": 0.6621622,
        "ml_away_prob": 0.37878788,
        "spread_home": -3.5,
        "spread_home_odds": -110,
        "spread_away": 3.5,
        "spread_away_odds": -110,
        "total": 52.5,
        "total_over_odds": -110,
        "total_under_odds": -110,
        "captured_at": "2026-09-09T16:00:00.000Z"
      },
      {
        "bookmaker": "fanduel",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -220,
        "ml_away": 184,
        "ml_home_prob": 0.6875,
        "ml_away_prob": 0.35211268,
        "spread_home": -4.5,
        "spread_home_odds": -105,
        "spread_away": 4.5,
        "spread_away_odds": -115,
        "total": 53.5,
        "total_over_odds": -115,
        "total_under_odds": -105,
        "captured_at": "2026-09-14T16:00:00.000Z"
      },
      {
        "bookmaker": "fanduel",
        "snapshot_type": "snapshot",
        "source": "archive",
        "ml_home": -255,
        "ml_away": 210,
        "ml_home_prob": 0.7183099,
        "ml_away_prob": 0.32258064,
        "spread_home": -5.5,
        "spread_home_odds": -112,
        "spread_away": 5.5,
        "spread_away_odds": -108,
        "total": 54.5,
        "total_over_odds": -114,
        "total_under_odds": -106,
        "captured_at": "2026-09-17T15:04:00.530Z"
      }
    ]
  },
  "snapshots": 32
}

Response fields

game_idstring
home_teamstring
away_teamstring
kickoffstring
movementobject
movement.betmgm[]array
List of objects
movement.betmgm[].bookmakerstring
movement.betmgm[].snapshot_typestring
movement.betmgm[].sourcestring
movement.betmgm[].ml_homenumber
movement.betmgm[].ml_awaynumber
movement.betmgm[].ml_home_probnumber
movement.betmgm[].ml_away_probnumber
movement.betmgm[].spread_homenumber
movement.betmgm[].spread_home_oddsnumber
movement.betmgm[].spread_awaynumber
movement.betmgm[].spread_away_oddsnumber
movement.betmgm[].totalnumber
movement.betmgm[].total_over_oddsnumber
movement.betmgm[].total_under_oddsnumber
movement.betmgm[].captured_atstring
movement.draftkings[]array
List of objects
movement.draftkings[].bookmakerstring
movement.draftkings[].snapshot_typestring
movement.draftkings[].sourcestring
movement.draftkings[].ml_homenumber
movement.draftkings[].ml_awaynumber
movement.draftkings[].ml_home_probnumber
movement.draftkings[].ml_away_probnumber
movement.draftkings[].spread_homenumber
movement.draftkings[].spread_home_oddsnumber
movement.draftkings[].spread_awaynumber
movement.draftkings[].spread_away_oddsnumber
movement.draftkings[].totalnumber
movement.draftkings[].total_over_oddsnumber
movement.draftkings[].total_under_oddsnumber
movement.draftkings[].captured_atstring
movement.espnbet[]array
List of objects
movement.espnbet[].bookmakerstring
movement.espnbet[].snapshot_typestring

Related endpoints

Try it

500 free credits every month: 20 calls to get_line_movement, and no card.