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

# List players for NFL

`GET /api/v1/nfl/players`

## Request

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

## Query parameters

- `team_id` integer
- `roster_status` 'active' | 'injured_reserve' | 'practice_squad' | 'reserve' | 'suspended' | 'free_agent' | 'waived' | 'retired' | 'inactive'
- `gsis_id` string
- `primary_position` 'C' | 'CB' | 'DB' | 'DE' | 'DL' | 'DST' | 'DT' | 'FB' | 'FS' | 'G' | 'ILB' | 'K' | 'LB' | 'LS' | 'MLB' | 'NT' | 'OL' | 'OLB' | 'OT' | 'P' | 'QB' | 'RB' | 'S' | 'SAF' | 'TE' | 'WR'
- `limit` integer
- `from_id` integer
- `format` 'json' | 'csv'

## Response `200`

players rows matching the declared filter set.

- NFLPlayersListResponse
  - `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` NFLPlayers[], required
    - `birth_city` string, nullable
    - `birth_country` string, nullable
    - `birth_date` string, date, nullable
    - `birth_state` string, nullable
    - `college` string, nullable: College or last football affiliation before turning pro.
    - `draft_number` string, nullable: Pick number within the round; null or `UDFA` if undrafted.
    - `draft_round` string, nullable: Draft round (1-7); null or `UDFA` if undrafted.
    - `draft_year` string, nullable: Calendar year the player was drafted; null or `UDFA` if undrafted.
    - `experience` integer, nullable: Years of NFL experience (rookies = 0).
    - `first_name` string, required
    - `full_name` string, required
    - `full_position_list` string, nullable: All positions the player is eligible at (semicolon-joined when multiple, e.g., `RB;WR`).
    - `gsis_id` string, required: Game Statistics and Information System ID (e.g. 00-0028830)
    - `height` integer, nullable: Height in inches.
    - `id` integer, required: Primary Key
    - `is_team` boolean, required: True for synthetic team-level entities (DST, team defense). Used to distinguish team defense 'players' from individual players.
    - `jersey` string, nullable: Jersey number with the player's current team (string to preserve leading zeros and special codes).
    - `last_name` string, required
    - `league_player_id` string, nullable: Official NFL player ID (UUID) from nfl.com
    - `nfl_slug` string, nullable: URL slug used on nfl.com (e.g., `patrick-mahomes`).
    - `overall_pick` integer, nullable: Overall pick number across all rounds (1-262); null if undrafted.
    - `position_group` string, nullable: Broad position group (e.g., `OFFENSE`, `DEFENSE`, `ST`).
    - `primary_position` string, required: Primary roster position (e.g., QB, WR, RB, CB).
    - `profile_pic_url` string, nullable: URL to player profile picture image
    - `roster_status` string, nullable: Canonical roster status, shared across leagues. NFL has the richest source vocabulary. The "on a team now" set is {active, injured_reserve, practice_squad, reserve, suspended}; free_agent/waived/retired/inactive are off-roster.
    - `team_id` integer, nullable: Current NFL team (FK to `teams`); null for free agents and retired players.
    - `weight` integer, nullable: Weight in pounds.

## Other responses

- `400`: No declared filter set was satisfied by the request — see `accepted` in the body for the valid combinations.

---

[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)
