Strava API Agreement Update

Wow, how can there possibly be 241,000 legitimate developers using the Strava API? No wonder they are worried about data scrapers … now I’m worried too. Requiring a subscription is an easy way to cut off the free-loaders without putting a new payment mechanism in place.

I think intermediary platforms means that a third-party builds a service on top of Strava’s APIs, and then exposes their APIs to developers. Those developers then use their own Strava developer key to access Strava through the intermediary. Presumably this is more than just a library of code, but a web-hosted service/platform. This allows the intermediary to take care of all the low-level coding detail and possibly aggregate data from many different sources, and making it super easy for the developer to do some higher-level analysis/scraping across a huge amount of data. Could be AI training data, could be privacy concerns, could be nefarious, …

I guess another problem is that the developer could be legitimate and pass all the Strava rules, but they could be inadvertently leaking data to the intermediary platform that hasn’t been vetted.

From what I’m seeing on Reddit, it seems they meant MCP servers specifically, since they route data through an “intermediary third-party platform”, i.e. ChatGPT or Claude, before showing it to the user. That explains why they launched their own MCP server, I suppose, it’s just that the way they worded it is so vague it could mean almost anything; if you host your app on AWS or GCP, aren’t you routing Strava data through a “third-party intermediary platform”?

Strava sits on AWS so probably not :joy:

I’ve linked strava to claude and, to be honest, I’m struggling to find a load of use for it yet.

Has anyone got it to do anything useful?

I sort of lost faith in it when i asked it what it though my FTP was based on my strava power data and it said 260w.

Then i pointed it to a specific ride where I averaged 330w for 20mins and it said “oh yes you are absolutely correct, that would put your FTP at 330*0.95 = 313w - well done on the detective work” :neutral_face:

How long have you held 313w for?

Claude showed me it’s working… It told me that 260w was based on my highest 20min effort… which it said was 274w… it wasn’t doing anything clever… It was just just doing something very basic incorrectly.

When I pointed it to another ride with a higher 20min power (which still wasn’t an all out effort) it calculated an FTP from that.

For context my current TR AI FTP I’m using for training is 335w and the FTP “hour power” I would tell people if they ask is 315w.

I would assume it would not scan all your strava data and thus maybe it only scanned most recent power data?

I asked it to look at my last 6 months, which it said it did, but I was able to find a ride last month that had a higher 20min effort.

It’s not a major issue, just a normal LLM mistake.

But if I can’t trust it to find my strongest 20min effort in the past 6 months - I’m not sure I’d trust anything more nuanced it suggested.

Currently I can’t think of anything to ask it to do that I wouldn’t rather do myself… but I’m open minded if anyone can think of anything.

One thing I will say though is that it definitely passed the touring test when I was arguing about my FTP - it was pulling out all the same lines a person on the internet would say - felt like I was here on the forum :rofl:

It is reasonable to assume that anything we say here will be included in future training data …

This could be a limitation with the Strava MCP API. You should run a test to ask Claude to just produce a list of every ride you’ve done in the last 6 months, and see if that is accurate.

If the list that Claude comes back with is missing rides, feed it the names of the missing rides and ask it why it didn’t find it / them.

The Reason for the above
At work, I’m trying to use Claude with files stored on SharePoint, and I ran into a problem where Claude couldn’t use the SharePoint MCP to accurately return a list of all of the files stored in a specific folder (including its sub-folders, sub-sub-folders, etc.). Working through this with Claude identified weaknesses in the SharePoint MCP that I’m now having to work around with a native PowerAutomate app to first generate an accurate list of files for Claude to then use as its input.

Yes you’re right (I sound like Claude lol) I had a check through what went wrong and it transpires that it only looked at “the first 100 activities” of the 6 months - not the whole 6 months. That would explain why it didn’t find that particular ride.

I had the same experience, it told me I needed to work on my FTP of 145 which it based on a 20min power figure it got from somewhere, this is despite doing a KM style test a couple of days before when I held 251 for forty minutes, I was getting pestered by Strava to use a months free trial, when I saw that they’d launched this connection to Claude I gave it a try out of curiosity. I’ve now cancelled it, there’s far better options available for less money if you look on intervals.icu.

Unfortunately, it seems to be yet another example of Strava implementing something that won’t be of much benefit to anyone who is serious about their training.

Did you ask Claude if this is an MCP issue? Or Claude being lazy (I hate lazy AI agents :rofl:)?

Easily tripped up if you give it contradictory responses. It will agree with both as bring right.