---
title: "NCAAF season fantasy/statistical leaderboard"
method: GET
path: "/v1/ncaaf/leaders"
tags: ["ncaaf"]
---

# NCAAF season fantasy/statistical leaderboard

`GET /v1/ncaaf/leaders`

## Request

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

Season player leaderboard from our licensed paid aggregator's NCAAF
player-season stats (migration 266's `bdl_ncaaf_surface_snapshots`,
surface `player_season_stats`), covered by that aggregator's
all-sports redistribution agreement (`vendor-licences.tsv`). NOT
backed by the other NCAAF stats feed we ingest: that source is
quotable but not servable (see
docs/measurable-servable-quotable-2026-09-01.md and issue #1213), so
it is never used here.
`fantasy_points_ppr` is OUR OWN computation (standard PPR: 0.04/pass
yd, 4/pass TD, -2/INT, 0.1/rush or rec yd, 6/rush or rec TD,
1/reception) over the aggregator's raw box-score totals; the
underlying data carries no fantasy total itself, unlike the
column of the same name on GET /v1/nfl/leaders. There is no
`min_games` parameter: the underlying payload carries no
games-played field at all (verified against every row). Leaders are
identified by name/position/jersey_number and team name/abbreviation;
the aggregator's own numeric player/team ids are never served (its
licence bars redistributing them).
`player.id` is OUR canonical `players.bbs_id` uuid, resolved through
our own bridge, and is the field to join on: prefer it to matching a
leader by name, which is ambiguous for roughly a third of this
surface. It is `null` for an athlete we have not bridged yet: a null
means "not resolved", never "no such player". There is no team id:
our NCAAF teams carry no identifier from this aggregator, so only the
player side is bridged.
No `headshot_url` is served for NCAAF. The only college headshots we
hold come from a source whose terms permit personal, non-commercial
use only, so serving them is not licensed; the aggregator that IS
licensed publishes no player images at all.

## Query parameters

- `stat` 'fantasy_points_ppr' | 'passing_yards' | 'passing_touchdowns' | 'rushing_yards' | 'rushing_touchdowns' | 'receiving_yards' | 'receiving_touchdowns' | 'receptions' | 'total_tackles' | 'sacks' | 'interceptions'
- `season` integer
- `limit` integer

## Response `200`

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

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

## Other responses

- `400`: Invalid query parameters.
- `404`: No NCAAF player-season 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)
