Rows of one NFL snapshot surface
Returns the stored rows of a single NFL snapshot surface, newest season first, paginated. Use GET /v1/nfl/surfaces to list the surfaces, their row counts and their plan floors.
Each row is { surface, season, week, updated_at, attributes }. attributes is the stat object for that row, keyed by the stat names the surface uses, so the field set differs per surface by design: this is one endpoint over 22 product families rather than 22 endpoints. season and week are null on the surfaces that are not season- or week-scoped (teams, players_active).
attributes carries NO identifiers. Our supplier's licence does not permit redistributing its own ids, so they are removed, as are any supplier hostnames. Join rows on player and team NAMES together with season and week. Sportsbook names and their deep links ARE returned on the market surfaces, under sportsbook, because those are the market being quoted and not a supplier identifier.
PLAN. 17 surfaces are available on Free. player_props, opening_player_props and dfs_draftables need Edge or above (the player-props band); opening_odds and dfs_slates need Edge or above (the odds band). A refused call returns 403 naming your current plan, the plan required and what it unlocks.
HISTORY. ?season= is subject to the same historical-depth entitlement as every other season-scoped endpoint: a plan with a limited archive is refused a season beyond its ceiling. Most surfaces hold 2025 and 2026.
Request
- Base URL: https://api.bigballsdata.com
- URL: https://api.bigballsdata.com/v1/nfl/surfaces/{surface}
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
Path parameters
Query parameters
Season LABEL: the year the season starts. Omit for every season this surface holds, newest first.
Only rows for this week. Surfaces that are not week-scoped hold null and match no week.
Alias for offset, resolved against limit.
Response
ok. { data, meta }; meta.total is the full match count, not the page size.
Changes
No recorded changes to this operation across all 3 revisions of this API.