Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Garmin Connect

Tareq AlansariTareq Alansari6 downloads

Garmin Connect directly in your Obsidian vault. Data is synced, stored in your vault, and rendered in a dashboard. View your data fully offline, compatible on mobile and desktop.

Add to Obsidian
Garmin Connect screenshot
Garmin Connect screenshot
Garmin Connect screenshot
Garmin Connect screenshot
Garmin Connect screenshot
  • Overview
  • Scorecard
  • Updates7
Garmin Connect for Obsidian logo

Garmin Connect for Obsidian

Garmin Connect inside Obsidian.
Sync all your Garmin health, performance and activity data into your vault, and browse it on the built-in dashboard. Compatible on desktop and mobile.

Install · Guide · FAQ · Troubleshooting · Contributing

Home in a wide pane: today's run, Sleep Score, Body Battery, the week's activities and At a Glance

Sleep on a phone A run's page on a phone, with its map Training Readiness on a phone

[!IMPORTANT] This plugin is not affiliated nor endorsed by Garmin.

Features

  • Pages: As of now, we have pages for home, activities, health stats and performance stats. Most of these have the full stats details. For anything missing that you think could be a bug or should be included, please submit a bug report or feature request.
  • You own the data: plain JSON files hold your synced data. This means you can look at stats even offline!
  • Privacy and security: we respect your privacy and security. This plugin never stores your password, instead storing your session as a refreshToken in Obsidian's Secret Storage. Learn more about how this plugin handles security here.

Planned features

  • AI Coach/advisor: Users can opt-in and use a pre-configured or custom-configured model to analyze their data. paste a model API key or enter an Ollama base URL.
  • Customizable layouts & theming: The ability to customize layouts and component styles. This plugin hasn't yet been tested with popular themes. Please feel free to contribute some design ideas in feature request - ideally pair it with a visual.
  • Embed data within md notes: beautiful health UI can be directly rendered in your notes. Perfect for a workout journal.

[!TIP] Have any ideas? Please send a feature request or learn how to contribute.

A closer look

A run's page: the route coloured by pace on an OpenStreetMap map, beside its stats and evaluation All Activities: every activity in a searchable grid
A run's page: the route coloured by pace, stats, laps and charts. All Activities: search, filter and sort everything you've recorded.
Body Battery: the day's timeline with rest and stress, and what charged and drained it Training Status over 12 weeks: a coloured status bar and the dates of each status
Health Stats: Body Battery's day, with what charged and drained it. Performance Stats: Training Status over the last 12 weeks.

How it works

The plugin signs in to Garmin Connect, syncs your data into plain JSON files in your vault, and draws Garmin's pages from those files. So the pages open offline, on every device your vault syncs to.

flowchart LR
  garmin["Garmin Connect"] -->|"sync"| plugin["The plugin"]
  session["Session in Obsidian's keychain"] --- plugin
  plugin -->|"writes JSON"| folder[("Garmin/data in your vault")]
  folder -->|"read by"| pages["Home, Activities, Sleep, Health and Performance Stats"]

Install

The plugin is in beta and installs with BRAT. It needs Obsidian 1.11.4 or later.

  1. Install BRAT from Obsidian's community plugins.
  2. In BRAT, choose Add a beta plugin and enter tareqayz/Obsidian-Garmin-Connect.
  3. Enable Garmin Connect in Settings → Community plugins.

To install by hand or from source, see Installation.

Get started

Enabling the plugin opens a setup over Home:

  1. Sign in to your Garmin account. Multi-factor authentication is asked for in the same dialog.
  2. Scan: a few requests find where your Garmin history starts.
  3. Choose how much history to keep. Each choice shows its size and how long it takes.
  4. Start: the history downloads in the background, under an hourly request limit, and carries on after a restart.

Then sync with Home's ↻ button, Sync recent days, or Sync on startup. The Guide covers every page and command.

Storage

Everything is plain JSON in one data folder, Garmin/data by default. How much room it takes depends on how much history you keep. A year of data may vary for individuals, but should be around 50 MB per year on average.

[!IMPORTANT] With Obsidian Sync, turn on Sync all other types so the JSON reaches your other devices.

Privacy and network use

  • Sign-in flow. The plugin signs in the way Garmin's mobile app does. Your password is used for the sign-in and never stored, and the session stays on the device, in Obsidian's keychain, never in the vault.
  • API Calls at sso.garmin.com, diauth.garmin.com and connectapi.garmin.com (or their garmin.cn counterparts), to sign in and to fetch your data.
  • Activity maps draw OpenStreetMap's map under an activity's route, from tile.openstreetmap.org. That server sees which part of the map you open, roughly where the activity was, and each request names this plugin. Turn Map tiles off in the settings, and the route is drawn on its own with no request at all.
  • tls.peet.ws is asked what your connection looks like, but only when you run the network check in Run diagnostics.
  • There is no telemetry and no analytics.
  • Outside the vault it keeps only the session, a few local-storage keys and a cache of map tiles, on each device.

What is stored where, and how it is redacted, is in Security.

Feedback and support

  • Something broken? Start with Troubleshooting.
  • Reporting a bug: run Copy debug info and paste it into the bug report form.
  • A security problem: report it privately through the security advisory form.

Documentation

Using the plugin
Installation BRAT, by hand, a second device, from source
Guide setup, syncing, what to keep, every page and command
Troubleshooting problems by symptom, and the diagnostics
FAQ short answers
Settings every setting and what it does
Data reference every file and key the sync writes
Security what is stored, what leaves your device, reporting a vulnerability
Working on the plugin
Contributing branches, releases, data versions, local development, writing docs
Architecture how the system fits together, with diagrams
Building pages how the pages inside Home work, and how to add one
Garmin API every endpoint called, sign-in, and the request budget
API catalogue the full endpoint list, the recorded shapes and the daily check
Changelog what changed in each release

Acknowledgements

  • Garmin Health Sync: the inspiration for the project, and I believe the first Garmin–Obsidian plugin. I took a lot of its ideas, like file properties on daily notes, but wanted headless sign-in, cross-platform support and data visualisation. I started by seeing if headless authentication was possible and kept building from there.
  • cyberjunky/python-garminconnect: an actively maintained Garmin Connect library that saved a huge amount of reverse-engineering work.
  • Lucide (ISC): the watch in the logo and the ribbon icon, and the plugin's other icons, through Obsidian.
  • Tabler Icons (MIT): the sport figures on the Activities pages.
  • Leaflet (BSD-2-Clause): the activity maps, bundled with the plugin.
  • OpenStreetMap: the map under a route, © OpenStreetMap contributors, available under the Open Database License.

License

MIT © Tareq Alansari.

Not affiliated with or endorsed by Garmin. Garmin, Garmin Connect, Body Battery and the other Garmin names are trademarks of Garmin Ltd. or its subsidiaries.

HealthExcellent
ReviewSatisfactory
About
Sync Garmin health, activity, and performance data into your vault as plain JSON files and browse them via a built-in dashboard. View detailed activity pages with routes, charts and laps, search and filter all records, and access stats offline while keeping authentication stored securely.
IntegrationsDataCharts
Details
Current version
1.0.2
Last updated
2 hours ago
Created
Last month
Updates
7 releases
Downloads
6
Compatible with
Obsidian 1.11.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Tareq AlansariTareq Alansaritareqayz
tareqayz.com
GitHubtareqayz
tareqalansari
tareq.alansari
  1. Community
  2. Plugins
  3. Integrations
  4. Garmin Connect

Related plugins

Tracker

Track occurrences and numbers in your notes.

Mood Tracker

Track your moods & emotions easily. Visualize tracked history and browse the past entries.

Oura Ring

Import Oura Ring data into a note.

BRAT

Easily install a beta version of a plugin for testing.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.