Skip to content

Data

NHL historical odds and closing lines

Moneyline, puck line and total for NHL games back to 2020-21, opening and closing, by sportsbook, with 60+ books including Pinnacle since 2025-26. REST or MCP.

PuckAPI serves historical NHL betting odds: moneyline, puck line and total for every regular-season and playoff game since 2021-22, and most of 2020-21, with an opening and a closing price per sportsbook. From 2025-26 that is more than 60 books, Pinnacle and the exchanges included.

It is built for backtesting. Pull a season's closing lines, line them up against your own projections, and measure closing line value, which is the only honest scoreboard for a betting model. The table below is read from the database, so it is what you will actually get.

Coverage by season

Counted from the database when this page was built: finished regular-season and playoff games.

SeasonGamesCovered
2025-261,39498%
2024-251,398100%
2023-241,400100%
2022-231,400100%
2021-221,401100%
2020-2195293%
2019-201,21210%

How to get it

get_odds, 10 credits a call. A full 2025-26 season is 1,371 calls and 13,710 credits, which fits in one month of Pro ($49/mo).

curl -X POST https://mcp.puckapi.com/v1/get_odds \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "game_id": "2024020500",
  "snapshot_type": "closing"
}'

What comes back

game_idGame ID
home_teamHome team abbreviation
away_teamAway team abbreviation
odds[].bookmakerBookmaker name
odds[].snapshotTypeopening or closing
odds[].mlHomeHome moneyline
odds[].mlAwayAway moneyline
odds[].mlHomeProbImplied home win probability
odds[].mlAwayProbImplied away win probability
odds[].spreadHomeHome puck line
odds[].spreadHomeOddsHome spread price
odds[].spreadAwayAway puck line
odds[].spreadAwayOddsAway spread price
odds[].totalOver/under total

Every field and a real response: get_odds docs.

Questions

How far back do the NHL odds go?

Every regular-season and playoff game from 2021-22 on, and about 93% of 2020-21. 2019-20 has the playoffs only. The table on this page is the live coverage by season.

Which sportsbooks are included?

DraftKings, FanDuel and BetMGM for every season held, ESPN BET from 2023-24, and from 2025-26 more than 60 books, including Pinnacle, Bovada, Betfair and the other exchanges. Each game carries an opening and a closing snapshot per book, and you can filter to one.

How do I get a whole season?

List the season's games with get_games, then call get_odds once per game id. A regular season is 1,312 games at 10 credits each, which fits inside one month of the Pro plan.

Can I use it from Claude or ChatGPT?

Yes. PuckAPI is an MCP server as well as a REST API: add one URL to Claude, Cursor or any MCP client and ask for the closing lines in plain English.

Is it free?

Every account starts with 500 free credits and no card. Plans start at $19 a month for 10,000 credits.

What it will not do

  • Odds are fetched one game per call. There is no single call that returns a season of lines yet.
  • Opening and closing prices only for past seasons. Hourly line movement is recorded from September 2026 on.
  • Before 2025-26, three or four US books only. Game lines only: no player props, no futures.

Works with

Start with 500 free credits

No card. REST or MCP.