Garmin watches have a pretty good interface for recording strength training workouts. However, it gets pretty clunky when you try to look through your past workouts or analyze any of the data.
To make matters worse, all of the Garmin export file formats are missing some crucial information such as any exercise identifiers.
This repo contains a browser extension to scrape Garmin Connect for workout data, including strength traiing details, and download this data locally.
This extension has been tested on Firefox and Chrome. Link to the extension on the official stores:
If you want to load it from source instead, you can clone this repo and run
npm run firefox:build
or npm run chrome:build
to build the extension for
the relevant browser.
- Open https://connect.garmin.com/modern/
- Sign in
- Open the extension to download activity data
- A JSON file containing the data will be automatically downloaded.
The downloaded JSON is pretty close to the internal Garmin Connect responses to some API calls, in particular Activity List and and an activiy's Exercise Sets. These are then joined up for one download file.
If you don't know what to do with JSON files and/or are looking for a simple interface to explore your strength training progress, check out the Workout Stats UI.
A background script listens to Garmin Connect network calls and grabs the auth header. This is why you need to open Garmin Connect and sign in.
When you ask the extension to download data, it reuses this auth header and makes a number of calls to the Garmin Connect backend to fetch workout data, stitches it all together into one big JSON array and downloads it.
This means that it can take a little while for everything to be fetched if you ask for many activities. You may also get hit by rate limiters, although I haven't hit that issue myself.
Feel free to open PRs, issues etc.
See Privacy Policy