Each shot object in your API response should map to the fields below. This is our preferred
shot schema — the closer your output matches it, the smoother the integration.
Minimum viable integration.
| Field | Type | Description |
|---|
sourceId | string | Your unique shot identifier. Must be stable across re-fetches. |
clubType | string | null | Club used (see Appendix C for our taxonomy). |
ballSpeedMPS | number | null | Ball speed in meters per second. |
carryDistanceMeters | number | null | Carry distance in meters. |
totalDistanceMeters | number | null | Total distance including roll, in meters. |
shotTime | string | null | ISO 8601 timestamp of when the shot was struck. |
| Field | Type | Description |
|---|
clubHeadSpeedMPS | number | null | Club head speed in m/s. |
verticalLaunchAngle | number | null | Launch angle in degrees. |
spinRateRPM | number | null | Total backspin rate in RPM. |
apexHeightMeters | number | null | Peak height of ball flight in meters. |
smashFactor | number | null | Ball speed ÷ club head speed ratio. |
carryDeviationDistanceMeters | number | null | Lateral carry deviation from target line, in meters (negative = left, positive = right for a right-handed golfer). |
totalDeviationDistanceMeters | number | null | Lateral total deviation from target line, in meters. |
Enables advanced analytics.
| Field | Type | Description |
|---|
horizontalLaunchAngle | number | null | Horizontal launch direction in degrees. |
spinAxis | number | null | Spin axis tilt in degrees. |
sideSpinRPM | number | null | Side spin component in RPM. |
clubPathAngle | number | null | Club path relative to target line, in degrees. |
attackAngle | number | null | Angle of attack in degrees (negative = descending). |
clubFaceAngle | number | null | Face angle at impact relative to target line, in degrees. |
faceToTargetAngle | number | null | Face angle relative to target, in degrees. |
descentAngle | number | null | Landing angle in degrees. |
carryDeviationAngle | number | null | Lateral carry deviation as an angle. |
totalDeviationAngle | number | null | Lateral total deviation as an angle. |
distanceToPinMeters | number | null | Distance to target/pin for the shot, in meters. |
| Field | Type | Description |
|---|
temperatureC | number | null | Ambient temperature in Celsius. |
humidity | number | null | Relative humidity (0–1 scale or 0–100 percentage, documented). |
airPressureKPa | number | null | Atmospheric pressure in kilopascals. |
| Field | Type | Description |
|---|
sessionId | string | Unique session identifier. |
startTime / endTime | string | ISO 8601 timestamps. |
deviceModel | string | null | Hardware device or simulator name (e.g., "Trackman 4", "GCQuad", "GSPro"). |
firmwareVersion | string | null | Device firmware version for debugging data-quality issues. |
| Field | Type | Description |
|---|
note | string | null | Free-text annotation the user attached to the shot. |
rating | number | null | User's self-rating of the shot (1–5 scale preferred). |