# NHL Odds API
The Odds API covers NHL odds for live and upcoming games in a simple JSON API.
Not a developer? Current NHL odds can also be accessed in Excel or Google Sheets. For website owners, the odds widget brings bookmaker odds into websites with a simple HTML tag.
# Features
NHL odds are covered for live and upcoming games.
Featured markets, including moneyline, spreads, totals are covered for several bookmakers. See the full list of bookmakers.
Additional markets including player props, period markets, and more are covered for most US bookmakers. See the full list of betting markets.
Odds are refreshed at regular intervals. More information on update intervals can be found here.
NHL scores are covered, with final scores available for games completed up to 3 days ago.
Current odds data and scores are available on all usage plans, including the free usage plan.
Historical NHL odds data is available on paid usage plans. Historical odds for featured markets (moneyline, spreads, totals) are available from mid-2020. Historical odds for other markets are available from May 2023. More information on historical odds data can be found here.
The API response includes deep links to bookmaker websites.
# Querying NHL Odds
# Query Featured NHL Markets
Featured markets (moneyline, spreads and totals) can be queried using the odds endpoint. For additional markets including player props, use the event-odds endpoint.
Parameters
To query current NHL odds for featured markets, the following parameters need to be provided:
- sport In this case
icehockey_nhl
- regions Regions of bookmakers to return, for example
us
- markets For example,
h2h
for moneyline,spreads
andtotals
- apiKey Get a free API key
See the documentation for more options.
Example API Request
https://api.the-odds-api.com/v4/sports/icehockey_nhl/odds?regions=us&markets=h2h,spreads,totals&oddsFormat=american&apiKey=YOUR_API_KEY
Example API Response
The API will return live and upcoming NHL games, including start times, home and away teams, and odds from bookmakers for the specified regions and markets.
[{
"id": "9e772482d5eda16bbc03e0e7b249ee1c",
"sport_key": "icehockey_nhl",
"sport_title": "NHL",
"commence_time": "2025-01-20T18:00:00Z",
"home_team": "Boston Bruins",
"away_team": "San Jose Sharks",
"bookmakers": [
{
"key": "betrivers",
"title": "BetRivers",
"last_update": "2025-01-20T12:04:30Z",
"markets": [
{
"key": "h2h",
"last_update": "2025-01-20T12:04:30Z",
"outcomes": [
{"name": "Boston Bruins", "price": -250},
{"name": "San Jose Sharks", "price": 200}
]
},
{
"key": "spreads",
"last_update": "2025-01-20T12:04:30Z",
"outcomes": [
{"name": "Boston Bruins", "price": 102, "point": -1.5},
{"name": "San Jose Sharks", "price": -124, "point": 1.5}
]
},
{
"key": "totals",
"last_update": "2025-01-20T12:04:30Z",
"outcomes": [
{"name": "Over", "price": 104, "point": 6.0},
{"name": "Under", "price": -125, "point": 6.0}
]
}
]},
The usage cost of the API call in this example is
usage cost = [number of markets] x [number of regions] = 3 x 1 = 3 credits
See the API documentation for details.
For ice hockey, the h2h
market currently displays the market that is featured on each bookmaker's website (the market shown on a bookmaker's main events page). EU bookmakers typically feature regular time odds (includes draw), whilst US bookmakers typically feature the overtime odds (excludes draw).
# Query Any NHL Markets
Any supported NHL markets can be queried one game at a time using the event-odds endpoint.
Parameters
To query current NHL odds for any market, including player props, period markets and more, the following parameters need to be provided:
- sport In this case
icehockey_nhl
- eventId This example uses the id of Sharks @ Bruins (id 9e772...). A list of current event ids can be queried using the events endpoint.
- regions Regions of bookmakers to return, for example
us
- markets For example
h2h_p1
(1st period moneyline),player_shots_on_goal
,player_goal_scorer_anytime
- apiKey Get a free API key
See the documentation for more options.
Example API Request
https://api.the-odds-api.com/v4/sports/icehockey_nhl/events/9e772482d5eda16bbc03e0e7b249ee1c/odds?regions=us&markets=h2h_p1,player_shots_on_goal,player_goal_scorer_anytime&oddsFormat=american&apiKey=YOUR_API_KEY
Example API Response
The response will contain the specified NHL game including odds from the specified bookmakers and markets.
{
"id": "9e772482d5eda16bbc03e0e7b249ee1c",
"sport_key": "icehockey_nhl",
"sport_title": "NHL",
"commence_time": "2025-01-20T18:00:00Z",
"home_team": "Boston Bruins",
"away_team": "San Jose Sharks",
"bookmakers": [
{
"key": "betrivers",
"title": "BetRivers",
"last_update": "2025-01-20T12:04:30Z",
"markets": [
{
"key": "h2h_p1",
"last_update": "2025-01-20T12:04:59Z",
"outcomes": [
{"name": "Boston Bruins", "price": -225},
{"name": "San Jose Sharks", "price": 170}
]
},
{
"key": "player_goal_scorer_anytime",
"last_update": "2025-01-20T12:04:59Z",
"outcomes": [
{"name": "Yes", "description": "Luke Kunin", "price": 575},
{"name": "Yes", "description": "Elias Lindholm", "price": 205},
{"name": "Yes", "description": "Macklin Celebrini", "price": 220},
...
]
},
{
"key": "player_shots_on_goal",
"last_update": "2025-01-20T12:04:59Z",
"outcomes": [
{"name": "Over", "description": "Pavel Zacha", "price": -165, "point": 1.5},
{"name": "Under", "description": "Pavel Zacha", "price": 125, "point": 1.5},
{"name": "Over", "description": "Elias Lindholm", "price": -177, "point": 1.5},
{"name": "Under", "description": "Elias Lindholm", "price": 135, "point": 1.5},
...
]
}
],
...
The usage cost of the API call in this example is
usage cost = [number of markets] x [number of regions] = 3 x 1 = 3 credits
If you only need featured markets (moneyline, spreads, totals), it will be more cost-efficient to query the odds endpoint since it will return multiple games.
See the API documentation for details.
# Other Sports
See the full list of sports covered by The Odds API.
# Stay Updated
Follow us on X.com or Bluesky to stay updated on new sports, bookmakers, markets and features.