NFL Regular API¶
The regular NFL.com API (api.nfl.com) provides public endpoints for games, rosters, standings, draft data, combine results, and more. These endpoints are accessed through the top-level attributes on the GriddyNFL client.
Setup¶
Games¶
The games sub-SDK provides access to game schedules, box scores, and play-by-play data.
Fetching Scheduled Games¶
games = nfl.games.get_games(
season=2025,
season_type="REG",
week=1,
with_external_ids=True,
)
for game in games:
print(f"Week {game.week}: {game.away_team} @ {game.home_team}")
Box Scores¶
Retrieve detailed box score data for a specific game:
Play-by-Play¶
Get granular play-by-play data, optionally including penalty and formation details:
plays = nfl.games.get_play_by_play(
game_id="game_id_here",
include_penalties=True,
include_formations=True,
)
Weekly Game Details¶
Fetch enriched game details for an entire week, with optional drive charts and replays:
details = nfl.games.get_weekly_game_details(
season=2025,
type_="REG",
week=1,
include_drive_chart=True,
include_replays=True,
include_standings=True,
)
Live Game Stats¶
Get real-time game statistics during live games:
Rosters¶
Fetch team rosters for a given season:
Standings¶
Get division and conference standings:
Draft¶
Draft Picks¶
Retrieve all draft picks for a given year:
picks = nfl.draft.get_picks_report(
year=2025,
limit=1000,
)
for pick in picks:
print(f"Round {pick.round}, Pick {pick.pick}: {pick.player_name}")
Team Needs¶
Get team draft needs analysis:
Combine¶
Participant Profiles¶
Fetch NFL Combine participant profiles:
Combine Rankings¶
Get rankings sorted by a specific event attribute:
rankings = nfl.combine.get_rankings(
rank_attribute="FORTY_YARD_DASH",
sort_order="ASC",
year=2025,
)
Teams and Venues¶
Teams¶
Venues¶
Weeks¶
Get information about season weeks:
Experience and Content¶
Game Experience¶
Fetch rich game detail pages by slug or ID:
Video Content¶
Access game replay videos:
Common Parameters¶
Most regular API endpoints share these parameters:
| Parameter | Type | Description |
|---|---|---|
season |
int |
NFL season year (e.g., 2025) |
season_type |
str |
Season type: "REG", "PRE", "POST" |
week |
int |
Week number |
limit |
int |
Maximum number of results to return |
retries |
RetryConfig |
Override default retry behavior |
timeout_ms |
int |
Request timeout in milliseconds |
Error Handling¶
Regular API endpoints raise GriddyNFLDefaultError for API-level errors:
from griddy.nfl.errors import GriddyNFLDefaultError
from griddy.core.exceptions import NotFoundError
try:
games = nfl.games.get_games(season=2025, season_type="REG", week=1)
except NotFoundError:
print("No games found for this week")
except GriddyNFLDefaultError as e:
print(f"API error: {e}")
See the Error Handling Guide for the full exception hierarchy.