Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
I am currently doing a group distance charity and tracking through strava - i've allowed workouts to be apart of the challenge, however they don't take any distance off, how can we change this or calculate to distance
I am trying to build something around `athlete_count` and `star_count` based on the top segments returned here: https://developers.strava.com/docs/reference/#api-models-ExplorerSegmentWith the API limits, even for one of these explore responses I'd need to make 10 additional calls to get the `counts` and would run into the 200 calls limit immediately.Is there any other way to get these counts? Could they be added to the model?
I'm trying to use the API to discover local cycle routes to try out. I'm trying with a GET request on "explore segments":https://developers.strava.com/docs/reference/#api-Segments-exploreSegmentsBut it always returns an empty segments array []Here's a sample query (enclosing roughly the entire UK in the bounds):https://www.strava.com/api/v3/segments/explore?bounds=[50,-6,60,2]&activity_type=riding&min_cat=4&max_cat=1 Am I wrong to expect data back? I've only just signed up to Strava so I have no data of my own yet - does "explore segments" not return "public" data? Thanks,A
Hello, I have developed a web app. It requires people to connect with Strava. The current flow is the following: when the users click on "Connect with Strava", I redirect them to https://www.strava.com/oauth/authorize with all the query parameters. It works fine on mobile and desktop browsers. I'm now looking to implement another flow when users are using my web app on their mobile phone. I want to open the Strava app instead of the Strava web version when the user has the Strava app installed. For this, I'm following the guidelines here: https://developers.strava.com/docs/authentication/ On iOS, I redirect the users to strava://oauth/mobile/authorize (with the exact same query parameters than my current working flow with the Strava web version). It properly opens the Strava app on the iOS device, but right after (approx. 1 second), it redirects the user back to the redirect_uri (which is my web app) without letting him give his consent. Could this be caused becaus
I am trying to utilize the Export GPX endpoint for a feature in a mobile application. However I am running into a 404 error when I actually go to use the endpoint. I know that this endpoint requires a read_all scope for private parameters which I already included in my webform urlscope=activity:read_all,profile:read_all,read_all This is how I have my exportGPX endpoint set up as well..https://www.strava.com/api/v3/routes/{route_id}/export_gpx Am I missing anything?
Hi guys, playing around with strava api and authorization using next.auth. I found out, that my account has username equal 'null' (e.g. curl -G https://www.strava.com/api/v3/athlete). Is it normal?
When we upload elliptical activity data to Strava as FIT file with cadence data, the cadence data is not visible in the Strava app. As soon as the activity type is changed to for example 'walking' in the Strava app, the cadence graph appears for the activity. So the cadence data is present in Strava, but it seems that by default it won't show for elliptical activities. Is this something you could consider to add? Other fitness apps show cadence data with the elliptical activities.
Hello,When I try to get a list of athlete activities, I get the following error: { "message": "Authorization Error", "errors": [ { "resource": "AccessToken", "field": "activity:read_permission", "code": "missing" } ] } Endpoint: https://www.strava.com/api/v3/athlete/activities?before=1689465600&after=1690070400&page=1&per_page=30 read,read_all,activity:read,activity:read_allI haven't worked on my app in a few months, but am picking it back up to get things finalized and cannot figure this issue out. Everything in the docs seems the same and this setup was working before. Any help is apprecia
Hi everyone,As mentioned here in the documentation https://developers.strava.com/docs/uploads/part Device Mapping, strava maintains an official UNIQUE_DEVICE_NAME list for each wearable device.Where can we find this list?especially for Xiaomi: Xiaomi Smart Band 7, Xiaomi Smart Band 7 Pro, Xiaomi Smart Band 8, Xiaomi Smart Band 8 Pro, etc... ?Thank you
Migrated Content
Hi 👋 Your api server endpoint router rules for fetching the authenticated athlete:`GET https://www.strava.com/api/v3/athlete`Also allows`GET https://www.strava.com/api/v3/athlete.umbrella`and other variations of `athlete.*` return the athlete. I haven't tried this with other endpoints, nor the overall implications other than odd behavior.Just thought you should know in case you wanted to update this behavior to 404 or something.
Hello, I have to create a webhook so that strava sends me the information of the athletes' activities to my app in nestjs and I don't know where to start.I appreciate your recommendations.
trying to get some details out of the Strava API - specifically year to date miles but its missing miles, which i think are either virtual or private ridesi can't see from the api docs if its possible or how to include these in the total
HiI have reinstalled my Strava app on my Samsung Gear Sport AB91 SM-R600 .This because I got a new non-Samsung cell phone and Samsung forced me to reinstall it Strava App on Watch. Tizen OS 4.0.0 7 Knox 2.3.1 TIMZ 3.0.0At first boot of the Strava app (1.7.24) I see that I need to type in 4 digits, for authentication.On my mobile phone ( having connected the Samsung Galaxy Wearble App) the app redirected to https://watch.samsung.strava.com/ which shows:{"message": "Internal server error"}Why is this msg seen?Also is there anywhere else I can get those 4 digits from ? ( from another than the web site that respond HTTP500) .So that I can continue to use Strava on my Samsung Watch Gear.I have no problem with any other Samsung apps* on my cell phone, nor on my Gear Watch.I only have problem with the Strava app, on the Gear Watch.*(nor account problems after creating a password - because there were none initially as it was created on google initially)Thanks
.
Is the average cadence from the Strava API not showing steps per minute for runs? For some reason I'm not getting the same numbers through the Strava API for cadence and the Strava app which shows cadence as steps per minute. For example in one of my runs the average cadence is 185 in the Strava app, that is 185 steps per minute. But the value I get through the API is 92.4.
When I make the following call, I am expecting to see a bikes section at the bottom.curl -X 'GET' ...athleteAll I get is this:{"id": xx,"username": null,"resource_state": 2,"firstname": "xx","lastname": "xx","bio": "","city": "Toronto","state": "Ontario","country": "Canada","**bleep**": "M","premium": false,"summit": false,"created_at": "2016-03-22T12:11:56Z","updated_at": "2022-07-25T11:15:44Z","badge_type_id": 0,"weight": 78.0178,"profile_medium": xx","profile": ","friend": null,"follower": null}In the sample code, I see this extra section"bikes" : [ {"id" : "b12345678987655","primary" : true,"name" : "EMC","resource_state" : 2,"distance" : 0} ],"shoes" : [ {"id" : "g12345678987655","primary" : true,"name" : "adidas","resource_state" : 2,"distance" : 4904} ]For the authenticated user, I would like to get a list of bikes. Is there any reason this is not working. I have 2 bikes showing on my strava settings page under My Gear.Another interesting side note and possible related, is that
I am involved in a scientific research focused on athletes performance. For this, we need some health data of these athletes that should be captured during activities. I read Strava API documentation and noticed that it gives access to a bunch of health data. Therefore, when I was trying to register, it asked some information about our app that we don't have, because our goal is just to research and not to develop an app. Does Strava allow access to scientific researches to explore the API?
Hi,I am deauthorizing my athelete from my app using power automate. I have used exactly below info on documentation page but not work.Here is the return response.{ "message": "Authorization Error", "errors": [ { "resource": "Athlete", "field": "access_token", "code": "invalid" } ]}I have checked the latest access_token of that athlete and it is true. Can someone guide me I am wrong any where ? Thank you so much.-----DeauthorizationApplications can revoke access to an athlete’s data. This will invalidate all refresh tokens and access tokens that the application has for the athlete, and the application will be removed from the athlete’s apps settings page. All requests made using invalidated tokens will receive a 401 Unauthorized response.The endpoint
In my iOS App I implemented the authentication flow according to the Strava Documentation.Checking if the StravaApp is installed, if yes, I'm using <UIApplication.shared.open> to redirect to the StravaApp.If the StravaApp is not installed I'm using <ASWebAuthenticationSession>Everthing works OK, except in the case when the StravaApp is used for authentication.After the user has authorised the connection to Strava inside the StravaApp, it returns to my app but the callback to my AppDelegate never happens. So I don’t get the url with the authorization code. My App uses SwiftUI. I'm injecting the AppDelegate in in my App scene:@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegateAppDelegate implementation:class AppDelegate: NSObject, UIApplicationDelegate { func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { print("url returned from Strava App: (url)") return true&n
All my activities are returning a value of 0 for total_photo_count even though they have photos. This was working until recently.. Any ideas?
I have a personal project where I am creating activities based on rides taken on a bikeshare program. I want to be able to calculate the CO2 saved by taking this form of transportation, as I see this data in the Strava platform but it isn't returned on the /activities/id API call. It would be amazing if this could be added.
https://developers.strava.com/docs/reference/#api-models-DetailedSegmentEffortThese docs are missing information:1. On what the `achievements` property is. Clearly a collection of entities, but the entity objects are completely undocumented.2. On what the `visibility` property represents and the possible values for it.3. On what the `hazardous`, `elevation_profile`, and `starred` properties of the `segment` property represent. It's supposed to be documented by https://developers.strava.com/docs/reference/#api-models-SummarySegment but these properties are omitted in the docs.
There are not any docs for accessing photos. If we get a detailed activity through `/activities/{id}` we will get back a `photos` property that indicates:1. The location of the primary photo2. The number of photos uploaded to the activityBut there is not an array of photo ids. Someone on this board discovered that you can hit `/activities/{id}/photos` to get an activities photos, but there seem to be query parameters necessary to get back different photo sizes. We can guess that `?size=5000` will work, but I bet there are better ways to get back original images than guessing.Please document the photos API.
The docs for `DetailedActivity` claim that these fields are only for runs, but I seem them on rides as well. And what I am seeing makes no sense. I would assume the first split in each collection would be equivalent to one another, i.e. cover the same physical space on Earth. But I'm seeing a metric split like: { "distance": 1007.7, "elapsed_time": 171, "elevation_difference": 25.8, "moving_time": 170, "split": 1, "average_speed": 5.93, "average_grade_adjusted_speed": null, "average_heartrate": 138.79041916167665, "pace_zone": 0 } And the "corresponding" standard split as: { "distance": 1610.2, "elapsed_time": 249, "elevation_difference": 29.6, "moving_time": 248, "split": 1, "average_speed": 6.49, "average_grade_adjusted_speed": null, "average_heartrate": 140.66122448979593, "pace_zone": 0 } These numbers do not match up. Presumably the `elapsed_time` would be equal if the splits were covering
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.