NHL game_odds API
game_odds
nhl.game_oddsNHL game betting lines — moneylines, puck lines (the hockey point-spread equivalent), and over/under totals from sportsbooks, captured over time as the lines move from opening to closing.
⚠️ This endpoint is documented but not yet live. Calls return
503 until data is wired in.GET/api/v1/nhl/game_oddsList game_odds for NHL
Requires one of:
game_id — requests satisfying none of these return 400.Parameters
game_idquerybigintoptionalFilter to a single game.
sportsbookquerystringoptionalFilter by sportsbook.
limitqueryintegeroptionaldefault 50Page size. Defaults to 50; max 5000.
from_idquerybigintoptionalReturn rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/nhl/game_odds?game_id=1'Responses
200game_odds rows matching the declared filter set, wrapped in { game_odds, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.
application/json503Coming soon — handler returns 503 until data is wired in.
Response Schema(13 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
game_id | bigint | — e.g. — (all-null in sample) | |
away_money_line | integernullable | — | — e.g. — (all-null in sample) |
away_point_spread | decimalnullable | — | — e.g. — (all-null in sample) |
away_point_spread_payout | integernullable | — | — e.g. — (all-null in sample) |
draw_money_line | integernullable | — | — e.g. — (all-null in sample) |
home_money_line | integernullable | — | — e.g. — (all-null in sample) |
home_point_spread | decimalnullable | — | — e.g. — (all-null in sample) |
home_point_spread_payout | integernullable | — | — e.g. — (all-null in sample) |
over_payout | integernullable | — | — e.g. — (all-null in sample) |
over_under | decimalnullable | — | — e.g. — (all-null in sample) |
sportsbook | stringnullable | — | DraftKings, FanDuel, BetMGM, etc. e.g. — (all-null in sample) |
under_payout | integernullable | — | — e.g. — (all-null in sample) |
GET/api/v1/nhl/game_odds/{id}Get a single game_odd by id
Parameters
idpathbigintrequiredPrimary key (id) of the game_odd row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/nhl/game_odds/{pk_value}'Responses
200Single game_odd row.application/jsonshow example ▸
404Row not found.
503Coming soon — handler returns 503 until data is wired in.
Response Schema(13 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
game_id | bigint | — e.g. — (all-null in sample) | |
away_money_line | integernullable | — | — e.g. — (all-null in sample) |
away_point_spread | decimalnullable | — | — e.g. — (all-null in sample) |
away_point_spread_payout | integernullable | — | — e.g. — (all-null in sample) |
draw_money_line | integernullable | — | — e.g. — (all-null in sample) |
home_money_line | integernullable | — | — e.g. — (all-null in sample) |
home_point_spread | decimalnullable | — | — e.g. — (all-null in sample) |
home_point_spread_payout | integernullable | — | — e.g. — (all-null in sample) |
over_payout | integernullable | — | — e.g. — (all-null in sample) |
over_under | decimalnullable | — | — e.g. — (all-null in sample) |
sportsbook | stringnullable | — | DraftKings, FanDuel, BetMGM, etc. e.g. — (all-null in sample) |
under_payout | integernullable | — | — e.g. — (all-null in sample) |