Data dictionary
Every course is a single JSON record with nested tees, holes, geometry, elevation, and pins. The same fields are returned by the API and included in file deliveries.
Sample records are provided for evaluation only. No licence is granted to the sample data beyond viewing it; all rights reserved. Course names are the property of their respective clubs.
Course
Top-level record. One per course.
| Field | Type | Description |
|---|---|---|
| course_id | integer | Stable identifier for the course. Keys the record across releases. |
| course_version | integer | Monotonic version for change tracking between updates. |
| name | string | Course name. |
| latitude / longitude | number | Course centroid coordinates (WGS84). |
| city / state / country | string | null | Location fields. State may be a region or province; country is ISO 3166-1 alpha-2. |
| no_of_holes | integer | Hole count for the routing (commonly 9, 18, 27, or 36). |
| mens_par / womens_par | integer | Course par for men and women. |
| tees | CourseTee[] | Tee sets with distance, course rating, and slope. |
| pin_locations | PinLocation[] | Pin position per hole, where surveyed. |
| holes | HoleBasic[] | Hole summaries; full hole geometry is fetched per hole. |
Tee
Course-level tee sets with rating and slope.
| Field | Type | Description |
|---|---|---|
| tee_id | integer | Stable tee identifier. |
| name | string | Tee name (e.g. Championship, White, Forward). |
| distance | number | null | Total tee distance in the dataset units. |
| rating | number | null | Course rating from this tee. |
| slope | number | null | Slope rating from this tee. |
Hole
Scoring data and the parent of geometry and elevation.
| Field | Type | Description |
|---|---|---|
| hole_number | integer | Hole number within the routing. |
| mens_par / womens_par | integer | Par for the hole. |
| mens_handicap / womens_handicap | integer | null | Stroke index for each scorecard. |
| is_dual_green | string | Whether the hole plays to separate men’s and women’s greens. |
| tees | HoleTee[] | Per-hole distance from each tee. |
| features | Feature[] | Hole geometry as coordinate polygons (see below). |
| elevations | HoleElevation[] | Elevation samples across the hole. |
Hole tee
| Field | Type | Description |
|---|---|---|
| tee_id | integer | Matches the course-level tee. |
| name | string | Tee name. |
| distance | number | null | Distance from this tee for the hole. |
| type | string | null | Optional tee category. |
Feature geometry
Polygons that describe the playing surfaces of each hole.
| Field | Type | Description |
|---|---|---|
| feature_type | integer | Surface classification: green, fairway, rough, bunker, water, tee, and others. |
| surrogate_key | integer | Stable identifier for the feature within the hole. |
| coordinates | Coordinate[] | null | Ordered polygon ring as latitude/longitude points. Elevation is present when sampled. |
Elevation
Per-hole ground elevation samples.
| Field | Type | Description |
|---|---|---|
| latitude / longitude | number | Sample location. |
| elevation | number | Ground elevation at the sample. |
Pin location
| Field | Type | Description |
|---|---|---|
| hole_id | integer | Hole the pin belongs to. |
| pin_lat / pin_long | number | null | Pin position where surveyed. |
See it live
Open a full sample record to inspect the geometry, tees, pins, and elevation before you license the dataset.
View a full sample record →