Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Given a user that has more than one gear for a specific sport, when an activity is registered through an external app (i.e. Garmin Conect), it will be imported with the default one, which makes the user update the gear field with the correct one.For example, let's say a cyclist has a mountain bike registered and a road bike. The mountain bike is set as default for cycling. The athlete registers a new activity with the road bike in Garmin Connect, which gets automatically imported into Strava as if it were roden with the mountain bike. After that, then the user logs into Strava and edits the activity to set the road bike instead of MTB as ridden.For a 3rd party application that is listening to the API webhooks, the final picture is that the activity was done with the mountain bike instead of the road bike, which is incorrect. This forces the application to make an additional call for each newly registered activity.Having a Webhook for this kind of activity update is something both Strav
Hi, I am developping a device that tracks your surfing, and my goal is for the device to create a FIT file that can be uploaded to Strava and display information about the surfing session. For a start, this information would be whether I am paddling or not, and the number and time of the waves taken.Diving into the FIT file format it looks like it might not be super easy to store boolean data (like paddling/not paddling). Do you have any recommendations about how to best display these kind of things on the app?Also, not all information present in the FIT file seems to be displayed on the Strava website/mobile app. For instance, I thought about using FIT Event messages (event_mesg.event = FIT_EVENT_SPORT_POINT and event_mesg.event_type = FIT_EVENT_TYPE_MARKER) to mark the point where I catch waves, but they are not displayed on the app. Is there a list of all the information from FIT files that can be displayed on Strava ?Thanks in advance for your help.
Hi Strava API Team,I’m currently integrating Strava into my application using the OAuth flow, and I’m successfully retrieving data for users who authenticate via Strava Login.Now I would like to use webhooks to get real-time updates (especially activities) from multiple users who have authenticated via my app. However, I have some questions regarding how this works: Is it possible to register a single webhook callback URL and receive activity updates for all authenticated users? Or do I need to register a separate webhook subscription for each user? If only one webhook subscription is allowed per app (as mentioned in the docs), how can I identify which user triggered the webhook event? Do I need to store each user's athlete_id upon login to match webhook payloads with users in my database? Any clarification or best practices on how to handle webhooks for multiple users in a single application would be greatly appreciated.Thank you!
I'm currently working with the Strava API and using the GET /athlete endpoint to retrieve authenticated athlete data. However, I noticed that the response does not include the athlete's date of birth, even when requesting all available scopes (such as profile:read_all).My question is: Is there currently any way to retrieve the athlete's date of birth through the Strava API? If not, are there any known workarounds or plans to include this field in future updates? This data would be extremely useful for age-based features such as performance grouping, personalized training plans, or leaderboard segmentation.I've also sent a feature request to the Strava API team, but I wanted to check here in case anyone has encountered and solved this issue, or if there are any unofficial methods or fields I might have missed.Thanks in advance for your help!
I need data from Strava which I will use for my academical research and willing to sign Non Disclosure Agreement. How do I go about that?
https://developers.strava.com/docs/reference/#api-models-SummarySegmentstarred, hazardous, elevation_profile and elevation_profiles are missing in the documentationathlete_pr_effort, athlete_segment_stats are only specified in the documentation. Which is a shame. Without fetching each and every segment details for an activities segment (which of course would be madness), I cannot figure out a way to show the user which segments they have completed before and which they are completing for the first time.See fields of an entry in segment_efforts in a detailed activity:{ "id": 4803742, "resource_state": 2, "name": "Montvernier-Col du Chaussy", "activity_type": "Ride", "distance": 13785.6, "average_grade": 7.7, "maximum_grade": 600, "elevation_high": 1533.4, "elevation_low": 522, "start_latlng": [ 45.31567, 6.338058 ], "end_latlng": [ 45.343899, 6.356372 ], "elevation_profile": null, "elevation_profiles": null, "cl
Receiving upload failed today for a workout data upload to strava app I'm developing, but the maximum requests I have made were 15 in 15 minutes, and 63 in a 24 hour period. But yet every time I try to upload an entry I’m getting the 429 status and upload fails. Why is this?
Now that Strava’s new Developer Program has introduced a limit on the number of athletes who can register with an app, we can see the number of "athletes currently connected" in our API settings.I can see that the number in the API settings (Strava side) is higher than the number of athletes using my app. I seem to remember (maybe incorrectly) that there was a time when apps did not have access to the deauthorization endpoint, so I (and maybe others) would simply delete the athlete account on the app side and ignore the incoming webhooks for those athletes.The net result is that some devs will now want to deauthorize 'stale' athletes, but they no longer have the access tokens required by the endpoint.Now that a limit is being put on the number of connected athletes per app, will there be an opportunity for devs to deauthorize athletes without access token? Otherwise some apps will be hitting their athlete limit much sooner than they should...
I’m looking to update the PowerShell module started here: https://github.com/adamdriscoll/stravapwsh. However, the challenge I’m having are the requirements put on me with regard to creating a new application. I’m just interested in getting a Token to utilize the module and update it, not create an application.For example, I’d like to be able to perform all the various available API calls, but from the terminal. Any help in acquiring a Token without creating an app is appreciated.
I've noticed that links with certain domain names, such as.xyz or.com, are supported (meaning they're recognized and clickable), but.app domains are not. Is there a list of domains that are supported? Unfortunately, my Strava app currently uses a.app domain. Is there a plan to provide more support?
How to report security issues? I tried contacting security@strava.com but got no reply...
Hello Strava Developer Support,I'm experiencing an issue with my Strava API application's OAuth authentication flow. My application details:Application Name: SPK Pace Maker Client ID: 160282 Authorization Callback Domain: 3e3a9aaf-439b-439f-a4f2-7a7eb41f362d-00-178qxgw1h4xux.worf.replit.devIssue Description:When users try to authenticate with my application, the OAuth flow gets stuck at the email input stage and loops back to asking for email repeatedly, never progressing to the password input or authorization screen.What I've tried:Verified Client ID and Client Secret are correct Confirmed Authorization Callback Domain matches exactly Tested with different scope combinations (read, activity:read) Used approval_prompt=auto as documented Followed the exact OAuth URL format from your documentationCurrent OAuth URL being used: https://www.strava.com/oauth/authorize?client_id=160282&redirect_uri=https%3A%2F%2F3e3a9aaf-439b-439f-a4f2-7a7eb41f362d-00-178qxgw1h4xux.worf.replit.dev%2Fapi%2
Hey there! I’ve noticed something a bit odd with the update activity webhook. It seems to be reporting the wrong sport type when updating it. Let me give you a few examples: If I try to update the sport type from “Run” to “Mountain Bike Ride,” the webhook just reports “Ride” instead of “Mountain Bike Ride.” Similarly, if I try to update the sport type from “Alpine Ski” to “Trail Run,” the webhook just reports “Run” instead of “Trail Run.” It seems like for variations of the same sport type (like “Run” and “Trail Run” or “Ride” and “Mountain Bike Ride”), the webhook always ends up reporting the base sport type. Is this a known issue? I’d love to know if there’s a fix for this.
I’m using the API to update some fields: name, description, commute… this seems to be working well. I wanted to do a quick validation though so I take the response detailed activity data returned and validate that what I was expecting to have updated actual is updated. For name and description this works well… and for setting commute to TRUE this also works well… however, when setting commute to FALSE… the response data responds with TRUE… that said, when I actually go to the activity online I can tell that commute has been set to FALSE. Happy to provide more details to troubleshoot. And to clarify I’m talking about using an UpdatableActivity: https://developers.strava.com/docs/reference/#api-models-UpdatableActivity
I am working on a statistics project and would like to pull the leaderboard data for a recent challenge, like the ‘May 5K x Brooks Challenge’ Challenge. I also want to pull the gear used by the top # participants in the challenge. I did not see how to accomplish this with the AI and was wondering if it’s even a possibility. Thank you!
Planning on creating a Club for a work event and want to be able to download the members’ data in order to easily see who has been participating frequently, and how far we collectively have moved. How can I download this data? Thanks!
Export: comments.csv missing comment ID and associated activity/post/flag/… IDWhen I export my Strava data, one of the files is `comments.csv`. However, there are only two columns in that CSV: `Comment Date` and `Comment`. No `Comment ID`, `Associated Entity Type` and `Associated Entity ID`. So basically, just a wall of dated text. Almost perfectly useless.How can I get the comments in their original context?
Hello,We're seeing a change in behavior since yesterday, where uploading a TCX file to the /uploads endpoint with an activity_type="rowing", no longer sets the Sport correctly on the activity in Strava. It is set to 'Workout' instead of 'Rowing'.Did anything change on the Strava side related to activity_type?Thanks for the help.
How to use api to count miles or kilometers of every user in given club? Thank you in advance.
I'm developing a Web site. The site offers users to connect to Strava. It works well. However, many of my users use the Strava app and don't even remember their credentials. I would like the oauth2 flow to use the Strava app, not the Strava site for approval. Is there a way to do it?
Hi everyone, I’m reaching out for help regarding an issue we’re facing when syncing activities to Strava using FIT files.Our app is currently using Strava’s public API (https://developers.strava.com/docs/reference/#api-Uploads-createUpload) to upload user activities in the FIT file format (https://developer.garmin.com/fit/overview/). The upload works fine — GPS tracks and total distance are correctly recorded on Strava. However, we’ve noticed that some of the statistics displayed on Strava differ significantly from those calculated by our own app.We suspect this may be due to differences in how these metrics are calculated or interpreted between our app and Strava. To avoid confusing users, we would like to specify these statistics ourselves when uploading the activity, rather than relying on Strava to calculate them automatically.The statistics we’d like to control include:Total elapsed time Average speed Maximum speed Maximum power Average power Total elevation gain Total elevation l
I am an Android developer and I use webviwe redirect. Most of the time I cannot log in and authorize, but sometimes I can log in and authorize normally. How can I log in and authorize stably and successfully or troubleshoot the cause of the exception?my email: zdt_gz@outlook.comScreenshot of the problem:For business reasons I cannot post the login link I generatedI have contacted support@strava.zendesk.com but they said I need to ask questions in the community.I can log in normally on the Strava app
Hi, I'm trying to build a small app for my company's Strava club to track weekly "winners" similar to how the club page shows "Distance / Total Running Time / Climbing" leaderboard entries and ran into a few issues in the process that I'd like to raise as well as a suggestion on how to mitigate why I think you built the API the way you did.My goal is to track the 1st/2nd/3rd place for each week and accumulate "medals" for people over the course of the year. Additionally, I'd like to store and keep certain things updated such as "Longest Run This Year" or "Most Elevation In A Run This Year" and post when someone sets a new record. However, I ran into a few issues with the Clubs API and would like to see if there's a different way to accomplish this OR if I can make suggestions instead:Club API doesn't return a timestamp for activities when you call getClubActivitiesById. That's fine, I can work around that by just calling via cron job every 15 minutes and can roughly figure out whe
Hello,For my personal educational reasons I am using your public API fetching activities from the group I am member of.I am using exactly this request:https://www.strava.com/api/v3/clubs/" + clubId + "/activities?per_page=100&page=1 I have only problem that I am not getting activity date in the response.This is sample JSON of the respone:```{"resource_state":2,"athlete":{"resource_state":2,"firstname":"Adam","lastname":"S."},"name":"Evening Run","distance":8751.0,"moving_time":2998,"elapsed_time":2998,"total_elevation_gain":38.7,"type":"Run","sport_type":"Run","workout_type":0}```Could you help me with the case or delegate my request to the team which can assist ?
Morning All,Does anyone know if there is existing API that allows you to retrieve list of upcoming club events along with athletes that have joined.Thanks in advanceKudos ✌️
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.