---
title: "NHL goalie goals-saved-above-expected (our own model)"
method: GET
path: "/v1/nhl/goalies/gsax"
tags: ["nhl"]
---

# NHL goalie goals-saved-above-expected (our own model)

`GET /v1/nhl/goalies/gsax`

## Request

- Base URL: `https://api.bigballsdata.com`
- URL: `https://api.bigballsdata.com/v1/nhl/goalies/gsax`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Goals saved above expected (GSAx = expected goals against minus
actual goals against, over shots faced), the natural derivative of
our own shot-level xG model (see GET /v1/nhl/xg-leaders and
packages/orchestrator/scripts/compute-nhl-xg.ts). Empty-net goals
against are excluded from a goalie's own shots-faced count. Higher
GSAx is better (more goals prevented than an average defended shot
of that quality would predict).

## Query parameters

- `season` integer
- `season_type` 'regular' | 'playoffs'
- `min_shots` integer
- `limit` integer

## Response `200`

ok. `{ data, meta }` with a route-local cache stamp.

- object
  - `data` object, required
  - `meta` object
    - `cached` boolean
    - `cache_age_ms` integer

## Other responses

- `400`: Invalid query parameters.
- `404`: No computed NHL xG data available.

---

[API](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api.md) · [All operations](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/revisions/31fb54ac414e?raw)
