---
title: "List players for NHL"
method: GET
path: "/api/v1/nhl/players"
tags: ["NHL"]
---

# List players for NHL

`GET /api/v1/nhl/players`

## Request

- Base URL: `https://api.stat-api.com`
- URL: `https://api.stat-api.com/api/v1/nhl/players`
- Auth: HTTP bearer

⚠️ This endpoint is documented but not yet live. Calls return 503 until the NHL data load is in production.

## Query parameters

- `team_id` integer
- `roster_status` 'active' | 'injured_reserve' | 'inactive' | 'free_agent'
- `limit` integer
- `from_id` integer
- `format` 'json' | 'csv'

## Response `200`

players rows matching the declared filter set.

- NHLPlayersListResponse
  - `has_more` boolean, required: True when a full page came back, so more rows can exist.
  - `limit` integer, required: Page size used for this response.
  - `next_from_id` integer, nullable, required: Pass this as `from_id` on the next request to page forward. `null` on the terminal page, and on a first page requested without `from_id` (that page uses the default sort): to walk every row, start with `from_id=0`.
  - `players` NHLPlayers[], required
    - `birth_city` string, nullable
    - `birth_country` string, nullable
    - `birth_date` string, date, nullable
    - `birth_state` string, nullable
    - `catches` string, nullable
    - `college` string, nullable
    - `draft_overall_pick` integer, nullable
    - `draft_pick` integer, nullable
    - `draft_round` integer, nullable
    - `draft_team_id` integer, nullable
    - `draft_year` integer, nullable
    - `experience` integer, nullable: Years of NHL experience
    - `first_name` string, required
    - `full_name` string, required
    - `height` integer, nullable: Height in inches
    - `id` integer, required: Primary Key
    - `injury_body_part` string, nullable
    - `injury_notes` string, nullable
    - `injury_start_date` string, date-time, nullable
    - `injury_status` string, nullable
    - `jersey` string, nullable
    - `last_name` string, required
    - `league_id` string, nullable: Official NHL player identifier
    - `league_player_id` integer, required: Official NHL player ID (issued by the league)
    - `nationality` string, nullable
    - `photo_url` string, nullable: URL to player headshot image
    - `position_category` string, nullable
    - `primary_position` string, required
    - `rookie_year` integer, nullable
    - `roster_status` string, nullable: Canonical roster status, shared across leagues. NHL source granularity is coarse: "active" (on a current api-web team roster), "free_agent" (no team), "inactive" (not currently rostered); injured_reserve where derivable. The "on a team now" set is {active, injured_reserve}.
    - `shoots` string, nullable
    - `team_id` integer, nullable
    - `weight` integer, nullable: Weight in pounds
    - `youth_league` string, nullable
    - `youth_team` string, nullable

## Other responses

- `400`: No declared filter set was satisfied by the request — see `accepted` in the body for the valid combinations.
- `503`: Coming soon — handler returns 503 until data is wired in.

---

[API](https://skmtc.dev/stat-api/apis/sports-db-public-api.md) · [All operations](https://skmtc.dev/stat-api/apis/sports-db-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stat-api/apis/sports-db-public-api/revisions/23b66b957723?raw)
