PGA course_hole_stats API
course_hole_stats
golf.course_hole_statsPer-hole scoring statistics for each round of a tournament — par, yardage, the field's scoring average and its relation to par, and the distribution of eagles, birdies, pars, and bogeys, plus difficulty rank.
GET/api/v1/pga/course_hole_statsList course_hole_stats for PGA
Requires one of:
tournament_id — requests satisfying none of these return 400.Parameters
tournament_idquerybigintoptionalFilter to a single tournament.
limitqueryintegeroptionaldefault 50Page size. Defaults to 50; max 5000.
from_idquerybigintoptionalReturn rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/pga/course_hole_stats?tournament_id=1'Responses
200course_hole_stats rows matching the declared filter set, wrapped in { course_hole_stats, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.
application/jsonResponse Schema(15 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
tournament_id | bigint | — e.g. 887 | |
birdies | integernullable | — | — e.g. 8 |
bogeys | integernullable | — | — e.g. 4 |
course_code | string | — | PGA Tour course code (e.g., 014 = Augusta National) e.g. 006 |
double_bogeys | integernullable | — | — e.g. 0 |
eagles | integernullable | — | — e.g. 0 |
hole_number | integer | — | — e.g. 1 |
par | integernullable | — | — e.g. 4 |
pars | integernullable | — | — e.g. 50 |
rank | integernullable | — | Difficulty rank among holes (1 = hardest) e.g. 1 |
round_number | integer | — | — e.g. 2 |
scoring_average | decimalnullable | — | — e.g. 4.0000 |
scoring_average_diff | decimalnullable | — | Scoring average relative to par e.g. 0.0000 |
yards | integernullable | — | — e.g. 450 |
GET/api/v1/pga/course_hole_stats/{id}Get a single course_hole_stat by id
Parameters
idpathbigintrequiredPrimary key (id) of the course_hole_stat row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/pga/course_hole_stats/{pk_value}'Responses
200Single course_hole_stat row.application/jsonshow example ▸
404Row not found.
Response Schema(15 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
tournament_id | bigint | — e.g. 887 | |
birdies | integernullable | — | — e.g. 8 |
bogeys | integernullable | — | — e.g. 4 |
course_code | string | — | PGA Tour course code (e.g., 014 = Augusta National) e.g. 006 |
double_bogeys | integernullable | — | — e.g. 0 |
eagles | integernullable | — | — e.g. 0 |
hole_number | integer | — | — e.g. 1 |
par | integernullable | — | — e.g. 4 |
pars | integernullable | — | — e.g. 50 |
rank | integernullable | — | Difficulty rank among holes (1 = hardest) e.g. 1 |
round_number | integer | — | — e.g. 2 |
scoring_average | decimalnullable | — | — e.g. 4.0000 |
scoring_average_diff | decimalnullable | — | Scoring average relative to par e.g. 0.0000 |
yards | integernullable | — | — e.g. 450 |