TLS fingerprinting blocks third-party clients

I'm a software developer and over the years I've made a few scripts and tools to collect, parse, analyze, and otherwise interact with my data on Garmin Connect. Most recently, I was interested in using an MCP server to give LLMs access to my data. There are already a few options available, but most of them have been broken by a recent server-side change. Apparently, Garmin is now using Cloudflare TLS fingerprinting, which breaks most/all non-browser clients. That means we can no longer (easily) interact with the Connect REST APIs.

This is really disappointing to me as a customer. The data I record on my devices and store on Garmin Connect are my data, and I expect to be able to access it via reasonable means for whatever purpose I want to use it for. Garmin customers, including myself, made a lot of noise in support of Garmin when Strava recently brought a frivolous lawsuit over patents and data usage. But whether or not it was intentional, this change makes me feel like Garmin is now gatekeeping access to my own data in a similar manner.

I do understand that there are costs associated with running the platform, and there need to be controls in place to prevent malicious misuse or excessive requests from badly-behaved clients. But if that's the primary concern, it's time for Garmin Connect to provide a real, documented public API with OAuth support and the ability for any developer to create a new client for personal use.

  • So it patched garth, and now it can log in? Can you share that? Or even make a PR to garth?

  • Why would you not allow users to programmatically get their own data? I've been waiting for the Cirqa since I'm so deep into the Garmin ecosystem, but now that it finally is here, the tools we used to have to work with our 24/7 Garmin data are useless since you can't get it out of Garmin Connect.

    It's been bad enough that you only allow access to the developer program (and the other proper APIs) to enterprises, but now we've lost the only thing we had as enthusiasts. Everyone should be allowed to easily get their data. We absolutely must be allowed to use an API to get our own data in an easy way without working around bot protection like this.

    Please just ensure people like your platform and want to use it rather than locking them in! If I'm not wrong, you removed support for syncing more than certain amounts of historical data to 3rd party apps long ago already, which is also an interesting move since it makes it harder to fully move data to other platforms.

  • Hey, now you can connect Garmin with AI (Claude, ChatGPT, etc), and then you can have a coach AI with your data; just use pulsai.me

  • We can already do this with Garmin give my data on GitHub for free. Not sure why we'd then pay for it, no offence.

  • The main reason is because is more easier the configuration and exists people that don't understand GitHub or technology is for theirs, are less steps and free. You'll try Pulsai, no offence

  • I don't think this is a solution to the problem, not everyone wants their data to use with an MCP or AI. There are plenty of other reasons to allow users to get their (raw) data.

    Also the market for hosted MCP servers is already pretty crowded (and we can assume more vibe coded alternatives will pop up). You already have tools like Freddy and MissingMCP that offers similar products. This is possible either via headless workarounds mentioned before, or already existing 3rd party applications using the developer program. Either way, they are not a substitution for a missing API.

  • Fair points, and I mostly agree. A hosted MCP isn't a substitute for a real public API — I'd never claim it is, and everyone here (me included) just wants Garmin to ship one.

    You're also right that plenty of people have no interest in routing their data through an MCP or an AI, and there are lots of legitimate reasons to want raw data: exports, your own scripts, backups. Pulsai isn't for those people and I'm not pretending it is.

    The slice it's actually for is narrow: folks who want to ask about their training or recovery conversationally and don't want to run local tooling or touch GitHub. And yeah, the space is filling up fast MissingMCP and others already exist, more will follow. I'm not claiming to be the only option, just building the one I'd want to use. Appreciate the pushback.

  • Well said juanito ... I seldom see people willing to qualify what they say online. So props for being thoughtful and reasonable.