home

Arccos Golf

Verified

by pfrederiksen

Fetches live data from the Arccos Golf API and generates performance analysis: strokes gained, club distances, scoring, putting, pace of play, and recent rounds. This skill makes authenticated network requests to Arccos Golf API servers using your account credentials: - **Credentials**: Your Arccos email and password are used to authenticate. A session token is cached at `~/.arccos_creds.json` (mode 0600, readable only by your user). - **Network**: The script calls `authentication.arccosgolf.com

View on GitHub

Arccos Golf Performance Analyzer

Fetches live data from the Arccos Golf API and generates performance analysis: strokes gained, club distances, scoring, putting, pace of play, and recent rounds.

⚠️ Privacy & Security Notice

This skill makes authenticated network requests to Arccos Golf API servers using your account credentials:

  • Credentials: Your Arccos email and password are used to authenticate. A session token is cached at ~/.arccos_creds.json (mode 0600, readable only by your user).
  • Network: The script calls authentication.arccosgolf.com (login) and api.arccosgolf.com (data). No other endpoints are contacted.
  • No data leaves your machine beyond the API calls needed to fetch your own golf data.
  • External dependency: Requires the arccos library from github.com/pfrederiksen/arccos-api (MIT licensed, authored by the same user who published this skill).

Review the arccos library source before installing if you have concerns: <https://github.com/pfrederiksen/arccos-api>

Prerequisites

# 1. Install the arccos library
git clone https://github.com/pfrederiksen/arccos-api
pip install -e arccos-api/

# 2. Authenticate — opens a prompt for email + password
#    Credentials cached to ~/.arccos_creds.json (0600)
arccos login

Alternatively, pass credentials directly at runtime (see Usage below).

Usage

Full report (uses cached credentials)

python3 scripts/arccos_golf.py

Pass credentials explicitly (no cached creds required)

python3 scripts/arccos_golf.py --email [email protected] --password secret

Specific sections

python3 scripts/arccos_golf.py --summary
python3 scripts/arccos_golf.py --strokes-gained
python3 scripts/arccos_golf.py --clubs           # all clubs
python3 scripts/arccos_golf.py --clubs iron       # filter by type
python3 scripts/arccos_golf.py --pace
python3 scripts/arccos_golf.py --recent-rounds 10

JSON output

python3 scripts/arccos_golf.py --format json

Offline / no credentials (cached JSON file)

python3 scripts/arccos_golf.py --file /path/to/arccos-data.json

System Access

ResourceDetails
Networkauthentication.arccosgolf.com — login/token refresh
Networkapi.arccosgolf.com — rounds, handicap, clubs, stats, courses
File read~/.arccos_creds.json — cached session token (created by arccos login)
File readOptional --file path for offline JSON analysis
File write~/.arccos_creds.json — updated on token refresh
SubprocessNone
Shell execNone

API Calls Made

DataEndpoint
Rounds listGET /users/{userId}/rounds
Course namesGET /courses/{courseId}
HandicapGET /users/{userId}/handicaps/latest
Club distancesGET /v4/clubs/user/{userId}/smart-distances
Strokes gainedGET /v2/sga/shots/{roundIds}

All calls are authenticated with a Bearer JWT. The JWT is obtained from and refreshed against authentication.arccosgolf.com using your arccos session credentials.

Dependencies

  • Python ≥ 3.11
  • arccos library: github.com/pfrederiksen/arccos-api (MIT) — wraps requests, click, rich
  • Standard library only in the analysis script itself