// readme

Garmin Connect Personal API Client

A small Python client for reading data from Garmin’s Personal API. It is a concrete example of how to query Garmin data using Personal API authentication, and other projects can reuse its parts independently:

  • PersonalApiAuthenticator caches bearer tokens and exchanges a Personal API key for a new token when needed.
  • GarminPersonalApiClient makes authenticated GET requests with any bearer token and provides convenience wrappers for Personal API data sets.
  • gc-personal is a command-line interface built on those same wrappers. Its direct commands work in scripts and one-off queries, and an optional interactive menu is included for demonstrating and exploring the data.

Requirements and installation

You need Python 3.12 or newer and a Garmin Connect Personal API key. The package installs requests automatically.

Create a virtual environment, activate it, and install the package:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install garmin-connect-personal-api-python

On Windows, create and activate the environment with:…