NHL PLAYER PROPSLive · 2026-27 season
NHL Player Props API
Per-player props live across 5 sportsbooks and 6 markets: shots on goal, goals, assists, points, saves, and power play points. Cross-book best-line aggregation in the same canonical schema as the rest of the API.
Edge ($149/mo) or higher. Start free on the rest of the API, no credit card.
7,711 prop lines live across BetMGM, Caesars, DraftKings, FanDuel, BetRivers, as of 2026-09-29.
What you'll get
The same primitives that make /v1/nba/players/{id}/props useful, brought to NHL. One free key, one shape.
Cross-book best line
Surface the best over and best under per market in a single request, with the book that posted the price.
Hit rate dashboards
Render last-10 and season-long hit rate per market so users see the bet history at a glance.
Unified player_id
Props join cleanly to /v1/nhl/games/{id}/matchup, player streaks, rolling stats — one id everywhere.
Bets Chat ready
JSON envelope mirrors /v1/nba/players/{id}/props, so the Bets Chat integration ports directly with no schema rework.
Six core markets
Shots on goal, goals, assists, points, saves, and power play points. Audited markets, no novelty clutter.
Live for the 2026-27 season
7,711 prop lines as of 2026-09-29, refreshed every 4 hours across BetMGM, Caesars, DraftKings, FanDuel, and BetRivers.
Markets covered
Six core NHL markets live today. Audited, no novelty props.
| Market | Description |
|---|---|
shots_on_goal | Total shots on goal in the game |
goals | Goals scored |
assists | Assists |
points | Goals + assists (the canonical NHL "points" combo) |
saves | Goalie saves |
power_play_points | Points (goals + assists) scored while on the power play |
Endpoint shape
One call returns a single market for the player: the current line across books (best book per side) plus a rolling last-N-games hit rate for that market.
GET /v1/nhl/players/:id/props?market=shots_on_goal
{
"data": {
"player": {
"bbs_id": "84977260-f7d7-48af-857e-ea355ccdb266",
"name": "Tage Thompson",
"position": "C",
"team": { "bbs_id": "37766f6e-e138-4f4a-a845-cf3bf06d00f4", "name": "Buffalo Sabres", "abbr": "BUF" }
},
"market": "shots_on_goal",
"current_line": {
"line": 3.5,
"over_juice": -115,
"under_juice": -114,
"sportsbook": "balldontlie_fanduel",
"sportsbook_display": "FanDuel",
"fetched_at": "2026-06-02T06:07:21.726Z",
"all_books": [
{ "sportsbook": "balldontlie_betmgm", "display": "BetMGM", "line": 3.5, "over_juice": -105, "under_juice": -130 },
{ "sportsbook": "balldontlie_draftkings", "display": "DraftKings", "line": 3.5, "over_juice": -135, "under_juice": 105 },
{ "sportsbook": "balldontlie_fanduel", "display": "FanDuel", "line": 3.5, "over_juice": -115, "under_juice": -114 }
]
},
"hit_rate": {
"lookback_games": 20,
"games_with_box_score": 7,
"over_hits": 4,
"under_hits": 3,
"pushes": 0,
"hit_pct_over": 0.5714,
"samples": [
{ "match_id": "529e7cb8-8e2a-4554-a0ef-88bbfd21d510", "game_date": "2025-10-22", "opponent": null, "value": 5, "result": "over" },
{ "match_id": "9f9ba07e-1bac-45b6-bf65-d22d4020c566", "game_date": "2025-10-20", "opponent": null, "value": 3, "result": "under" }
]
},
"as_of": "2026-06-02T10:06:32.049Z"
},
"meta": { "cached": false, "cache_age_ms": 0 }
}SDK call
One call returns every market the player has a posted line on tonight. The cross-book attribution lands in the same payload.
- · Six markets returned in one call
- · Cross-book best-line attribution per market
- · Same canonical envelope as the rest of the API
// One market per call: best line across books + a rolling hit rate.
const url =
'https://api.bigballsdata.com/v1/nhl/players/' + playerId +
'/props?market=shots_on_goal&lookback=20';
const res = await fetch(url, { headers: { 'x-api-key': process.env.BBS_API_KEY! } });
const { data } = await res.json();
console.log(data.market, data.current_line?.line, 'best:', data.current_line?.sportsbook_display);
console.log('over hit rate:', data.hit_rate?.hit_pct_over, 'on', data.hit_rate?.games_with_box_score, 'games');
for (const b of data.current_line?.all_books ?? []) {
console.log(' ', b.display, b.line, b.over_juice, '/', b.under_juice);
}What will it cost
Edge, $149/mo, is where NHL Player Props starts, and Pro includes it. It is the same floor as /v1/nba/players/{id}/props, because it is the same layer: props and their hit rates, live and stored bookmaker lines, opening-to-closing movement, and closing-line value. Free, Solo and Trio cover the rest of the API at 250 req/day (500 with GitHub), no credit card.
Frequently asked
- How do I call the NHL Player Props endpoint?
- GET /v1/nhl/players/:id/props?market=shots_on_goal with your API key in the Authorization header or as ?api_key=. One call returns one market: data.current_line (line, over_juice / under_juice, the best book per side, and all_books) plus data.hit_rate (over_hits / under_hits, hit_pct_over, games_with_box_score, and per-game samples). Live today across BetMGM, Caesars, DraftKings, FanDuel, and BetRivers.
- Which plan do I need?
- The Edge plan ($149/mo) or higher, the same as /v1/nba/players/{id}/props. Player props are part of the odds and model layer, so they sit with live and stored bookmaker lines, opening-to-closing movement, closing-line value and fair-price edges. Free, Solo and Trio do not include them. Those plans still cover NHL schedules, scores, linescores, skater and goalie stats, standings and injuries at 250 req/day (500 if you connect GitHub), no credit card.
- Which sportsbooks does it cross-reference?
- The same books the rest of the API normalises across. The response includes a books_count plus the specific book that posted the best over and the best under per market, so the source attribution is in the payload, not buried in a separate call.
- How fresh are the prices?
- Prices refresh every 4 hours, at 00:00, 04:00, 08:00, 12:00, 16:00 and 20:00 UTC, from the upstream books and the response is canonicalised to the BBS schema. The first request after a price change pays the upstream-fetch latency; subsequent calls within the cache window return cached data with cache_age_ms surfaced in meta.
Related APIs
Other APIs you can build with:
Also on this sport
Stats reference
Get an API key now
The endpoint is live across BetMGM, Caesars, DraftKings, FanDuel, and BetRivers. 7,711 prop lines as of 2026-09-29, refreshed every 4 hours through the 2026-27 season.