nhl

NHL skater expected goals by on-ice strength, 2014-2025 (Edge)

Season-aggregate skater expected goals broken out by ON-ICE STRENGTH STATE - even strength, power play, short-handed and everything else - for twelve complete seasons, 2014 through 2025.

NOT a second answer to GET /v1/nhl/xg-leaders, which stays free and unchanged. That route is OUR OWN shot-level model: current, updating daily, and deliberately strength-state agnostic. This one adds the two things that model does not have - ten further seasons of history, and the strength-state split itself.

A FROZEN ARCHIVE, AND THE RESPONSE SAYS SO. These rows have no writer. data.as_of carries the real data date for the exact slice served, scoped to the same season and game_type, so staleness is readable from the response rather than from a changelog. The 2026-27 season is not present and will not be added. If you want the current season, use GET /v1/nhl/xg-leaders.

player.id is a Big Balls player UUID where we have bridged the athlete and null where we have not; player.name is always present. Unbridged rows are returned rather than dropped, so filter on player.id yourself if you need only bridged athletes.

Requires the Edge plan or higher.

get/v1/nhl/skaters/xg-splits

Request

  • Base URL: https://api.bigballsdata.com
  • URL: https://api.bigballsdata.com/v1/nhl/skaters/xg-splits
  • Auth: one of:
    • API key in header x-api-key
    • HTTP bearer

Query parameters

seasoninteger

Season LABEL: the year the season starts. 2014 to 2025 are present; later seasons are not and will not be added. Defaults to the newest season held for the requested game_type.

game_type'regular' | 'playoffs'
situation'all' | '5on5' | '5on4' | '4on5' | 'other'

On-ice strength state. 5on4 is the player's team on the power play, 4on5 short-handed, other every remaining state.

teamstring

Team abbreviation, case-insensitive (e.g. EDM).

min_gamesinteger
limitinteger

Response

ok. { data, meta } with a route-local cache stamp. data.as_of is the real data date for the slice served, taken from the rows themselves.

dataobject required

Changes

No recorded changes to this operation across all 3 revisions of this API.