get_line_movement
Time-series odds snapshots grouped by bookmaker. Shows how lines moved from open to close.
When to use it
You're analyzing sharp money or building a betting model and need to see how odds changed over time. Opening vs. closing line differences reveal where the market moved, which is the strongest signal in sports betting.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| game_id | string | yes | Game ID (e.g. "2025020887") |
| bookmaker | string | no | Filter to one bookmaker |
Request
curl -X POST https://mcp.puckapi.com/v1/get_line_movement \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"game_id": "2025020887",
"bookmaker": "draftkings"
}'Over MCP, ask for it in plain English and the client calls get_line_movement itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.
Response
{
"game_id": "2025020887",
"home_team": "BUF",
"away_team": "TOR",
"movement": {
"draftkings": [
{
"bookmaker": "draftkings",
"snapshotType": "opening",
"mlHome": -115,
"mlAway": -105,
"spreadHome": -1.5,
"total": 6,
"capturedAt": "2026-03-15T12:00:00Z"
},
{
"bookmaker": "draftkings",
"snapshotType": "closing",
"mlHome": -125,
"mlAway": 105,
"spreadHome": -1.5,
"total": 6.5,
"capturedAt": "2026-03-15T23:00:00Z"
}
]
}
}Response fields
| Field | Type | Description |
|---|---|---|
| game_id | string | Game ID |
| home_team | string | Home team abbreviation |
| away_team | string | Away team abbreviation |
| movement[book][] | array | Chronological snapshots per bookmaker |
| movement[book][].snapshotType | string | opening or closing |
| movement[book][].mlHome | integer | Home moneyline at this snapshot |
| movement[book][].mlAway | integer | Away moneyline at this snapshot |
| movement[book][].spreadHome | number | Home puck line |
| movement[book][].total | number | Over/under total |
| movement[book][].capturedAt | string | Timestamp |
Related endpoints
Returns the game_id this one takes.
Upcoming games for the next N days. Defaults to 7 days.
Returns the game_id this one takes.
Query games by date range, team, season, game state, or type.
Takes the game_id this one returns.
Odds for a specific game with optional bookmaker and snapshot type filters.
Takes the game_id this one returns.
Full game detail including odds snapshots and the goalies who started, with time on ice.
Try it
500 credits free on signup — 20 calls to get_line_movement — and no card.