One CLI command pulls any date range of your Garmin Connect data as local files (preserved as an offline backup) AND loads them into a single SQLite database. Multi-account in one DB, gap-fills automatically, fully idempotent on reprocess.
The standout is the schema: 33 normalized tables with inline column comments preserved into SQLite, an EAV time-series table that captures every FIT-file metric (power, running/cycling/swimming dynamics, etc.), dedicated tables for each sport, and 7 sleep tables down to 1-minute intervals. Pleasant to query by hand and very effective as a data source for an LLM.
Garmin (via Cloudflare) has been making it increasingly difficult to get your own data out through anything resembling a decent API. The hacks bundled in garmin-health-data (self-contained SSO client, five fallback login strategies, browser-TLS impersonation, anti-rate-limit pause) resolve auth and 429 issues that have broken other tools, including older projects like GarminDB.
Contributions and feedback welcome, particularly around specialized sports.
diegoscara•1h ago
One CLI command pulls any date range of your Garmin Connect data as local files (preserved as an offline backup) AND loads them into a single SQLite database. Multi-account in one DB, gap-fills automatically, fully idempotent on reprocess.
The standout is the schema: 33 normalized tables with inline column comments preserved into SQLite, an EAV time-series table that captures every FIT-file metric (power, running/cycling/swimming dynamics, etc.), dedicated tables for each sport, and 7 sleep tables down to 1-minute intervals. Pleasant to query by hand and very effective as a data source for an LLM.
Garmin (via Cloudflare) has been making it increasingly difficult to get your own data out through anything resembling a decent API. The hacks bundled in garmin-health-data (self-contained SSO client, five fallback login strategies, browser-TLS impersonation, anti-rate-limit pause) resolve auth and 429 issues that have broken other tools, including older projects like GarminDB.
Contributions and feedback welcome, particularly around specialized sports.