Garmin Connect Export
Download and export your Garmin Connect fitness data
Description
garmin-connect-export is a Python tool for downloading a copy of your Garmin Connect data, including activity stats and GPS tracks. It supports multiple export formats (GPX, TCX, FIT, JSON) and offers features like OAuth token persistence, date range filtering, activity type filtering, and resume capability for interrupted downloads. Originally created by Kyle Krafka, the actively maintained fork by pe-st continues development.
Install
git clone https://github.com/pe-st/garmin-connect-export && pip install -r requirements.txtdocker pull ghcr.io/pe-st/garmin-connect-exportAI Summary
Command-line tool for bulk exporting Garmin Connect activity data in GPX, TCX, FIT, and JSON formats, with support for incremental backups and date range filtering.
Capabilities
- + Export activities in GPX, TCX, original FIT, or JSON formats
- + Download activity stats into CSV with customizable columns
- + Persist OAuth tokens to avoid repeated authentication
- + Filter exports by date range and activity type
- + Resume interrupted downloads
- + Adjust file timestamps to match activity start times
- + Handle activities without GPS data
Use When
- → You want to back up your Garmin Connect activity data
- → You need to export GPS tracks from Garmin for use in other tools
- → You want to migrate fitness data away from Garmin's platform
- → You need bulk export of activity history
Avoid When
- x You don't have a Garmin Connect account
- x You only need to export a single activity (use the web interface)
- x You need real-time sync with other fitness platforms
Usage Patterns
Export all activities as GPX
python3 gcexport.py --directory ./export Downloads all activities in GPX format to the export directory
Export with persistent session
python3 gcexport.py --directory ./export --session ./session Persists OAuth token to avoid re-authentication on subsequent runs
Export activities in a date range
python3 gcexport.py --directory ./export --start-date 2024-01-01 --end-date 2024-12-31 Downloads only activities within the specified date range
Export in original FIT format
python3 gcexport.py --directory ./export --format original Downloads activities in their native Garmin FIT format