Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
We run a rewards app based on top of Strava APIHowever we are getting a large number of people faking their Walks, Runs, Cycles using tools like “GPS Joystick” on Android. There are many tools to fake Strava activities, and we are concerned that a rewards app on Strava can be exploited heavily.We would like to suggest that the Strava mobile app has extra security features to detect such apps, and pass a flag through to the API so that consumers can decide what to do with fake dataWe suggest that the Strava mobile app, also includes Cellular network GPS verification, accelerometer sensor verifcation, to verify that the mobile device “was actually moving” when the activity was recorded Kind regards
Is it possible that Strava sends out authorize:false event several days AFTER revoking? Or maybe is repeating that webhook event? I had a case I revoked on my test user, then connected again. All worked as expected and then after a week I am receiving authorize:false again and my user is deauthorized!Is it possible? That case happened for two users and both events was send in the same batch from Strava and processed together within my 2 minutes interval.I have checked my security flow and I am sure there is no way for someone else to push such event to my app.
My Android customers (of the CrewNerd app) have been reporting a variety of mysterious errors when uploading workouts to Strava. There were timeouts, sockets closing abruptly, and protocol errors all happening randomly. But there were no reports of problems from my iPhone users.After much experimentation, it looks like the problems (which only started a couple of weeks ago) are related somehow to HTTP2. If I force my Android code to use HTTP1.1, there are no problems.Bottom line - I think Strava introduced a regression recently in their HTTP2 support.
Several of my Android customers (of the CrewNerd app) have reported persistent timeout errors when attempting to upload activities. I haven’t been able to reproduce the problem, but I made a beta release with longer connection timeouts on the client side, but this hasn’t resolved the problem. Now, one of the beta users is getting an outright connection failure showing an IPv6-style address.Is something weird going on with the Strava API?
Dear Friends,I'm reaching out regarding a persistent issue I've been experiencing with the Strava API for the past few days. It was working perfectly until last week for more than 2 months.Issue SummaryMy mobile application has been consistently receiving 503 "Service Temporarily Unavailable" errors when attempting to fetch user activities via the /api/v3/athlete/activities endpoint. The authentication process works perfectly, but all subsequent API calls fail.Technical DetailsApp Details: MotionMosaic (Client ID: 147671) Error: HTTP 503 with HTML error page instead of JSON response Affected Endpoint: https://www.strava.com/api/v3/athlete/activities Platform: React Native mobile app (iOS/Android) Authentication: OAuth 2.0 with PKCE + client_secret (working correctly)What I've TriedRe-authentication: Cleared all tokens and re-authenticated users multiple times New App Creation: Created a completely new Strava application in my developer dashboard Token Refresh: Implemented proper token
Error: 403 Forbidden. Your token is valid, but it lacks the required permissions (scopes).Please ensure your token has 'activity:read' or 'activity:read_all' scope to view club activities.No activities found to save.
Hi Strava Developer Community,I'm running into a strange issue with my local Strava API app, "Miles to Merch."When I try to log in, I consistently get redirected to the authorization page for "Simon's Journey Viz," even though I'm using my own app's Client ID and Secret. My backend's debug output confirms this. My callback domain is correctly set to localhost, and I've cleared my browser cache.The most confusing part is I can't delete my current "Miles to Merch" app and can't create new apps through my Strava API settings. Those options simply aren't there.Has anyone experienced something similar? It feels like there's an issue with my account or app ownership on Strava's end, causing these conflicts.Any help or advice would be greatly appreciated.
跑完步要儲存我的紀錄 但配速顯示是錯誤的 該怎麼處理呢? (Eng translation: I saved my run record after a run, but the pace displayed is incorrect. What should I do?)
Hello,I am fairly new to programming in C# and also new to working with APIs. I have created a C# library that implements the complete Strava API, including all corresponding models as described in the official API documentation.I would really appreciate any feedback on my work—whether it's identifying mistakes, suggesting improvements, or sharing best practices that could help me refine the library further.Thank you in advance for your time and support!Github: https://github.com/Deltatoolbox/StravaAPILibary— TornLotus
Hi! I’ve got a problem since 22nd of July, my running pace when I view the activity is correct but when I want to share the stats (transparent background option for example) then the pace is not realistic, very weird. Distance and time is correct but pace is incorrect. I’ll add some screenshots. Can anybody help me or know what is wrong with my strava?
We are a developing an app for our e-bike systems. Our app allows users to configure settings and navigate, for example. We are in the process of releasing a new feature that will enable our users to track their rides.These rides allow us to display average values within our app, and we also offer the option to download a .fit file, which can be imported into platforms like Strava. We have several customers who also use Strava, and we naturally want to provide them with the best possible data.However, we have encountered an issue: when the .fit file generated by our app is uploaded to Strava, the speed data in the analysis appears unusual or incorrect.Our recording method is relatively straightforward: we begin recording as soon as the bike speed is greater than zero, and we save the data every second, also the GPS Data in the same way.My primary concern is to understand what we might be overlooking in the .fit file and why these discrepancies appear, particularly in the diagrams.
I’ve come across two segments in my personal heatmap that simply have VERY wrong elevation and gradient data. One example is on segment “Conant Road Climb” in Lincoln MA, segment 4177639.This is the 0.45 mile section of Old Conant Road southbound from the end of the unpaved footpath and going down to Hawk Hill Road. Elevation at start is 274', at Old Conant Rd meets Hawk Hill Rd is 232. So the elevation change is -42 feet, a slight downhill. But the Strava user who created this segment named it Conant Road Climb! Despite its negative elevation delta, the segment is listed as having a 232' rise, yielding the VERY incorrect 9.6% grade over its 0.45 mile length. At segment creation, it appears the elevation change was incorrectly set to the actual elevation at the segment's endpoint. The segment’s definition shows a crazy pair of values: Lowest Elev-114ft Highest Elev118ft Elev Delta: +232 Clearly no location in Massachusetts sits at -114ft. Could this be a MapBox problem, or
The number of influencers we currently have exceeds 999, and the daily number of requests is over 6,000. How can we raise the upper limits?
Hi, I am trying to upload a FIT file to Strava. I tried to manually upload it in my profile and that works, however attempting to upload it through the API does not. I get the following data when checking the status of the upload:"data": { "id": 16302203470, "id_str": "16302203470", "external_id": "test.fit", "error": "Unrecognized file type.", "status": "There was an error processing your activity.", "activity_id": null},The file in question is added as an attachment.Thanks for your help.Best regards,Nicolas Goualard
Hello there, I’ve created an app for my analytics web application and I’ve managed to connect and use it successfully. I’m now trying to get the `device_name` from the `GET /athlete/activities` endpoint but I saw that the model returned does not contain it.In order to get that info I could do a single `GET /activities/{id}` for each activity found in the former, but in doing so I would burn a lot of resources on your end and deplete my hourly/daily limits. Is there another way of getting the device name?Thank you
I have a problem with sharing stats on strava (transparent background). My run pace was 7:13min/km but when I want to share the run then it shows that my pace was 2:00min/km. What’s wrong with that? And how do I fix it?
Hi,I was able to get the group events using the https://www.strava.com/api/v3/clubs/{id}/group_events call, but is there a possibility to only get the upcoming group events? Now all group events ever made are getting listed, but that’s not really what I need.Honestly I can’t find anything in the documentation about this REST API call. I found this call by searching on Google.Gr,Andy
Dear All,I am currently developing an application that integrates with the Strava API, and I am experiencing an issue when attempting to subscribe to the webhook endpoint using a custom domain.Here are the details of the issue:- ✅ The webhook works when tested through ngrok (e.g., https://xxxx.ngrok.io/webhook).- ❌ However, when I try to register the webhook subscription using my custom domain, I receive a `503 Service Temporarily Unavailable` error from the Strava API when hitting the endpoint `https://www.strava.com/api/v3/push_subscriptions`. using ngrok using our domain I have verified the following:- My server is accessible via HTTPS and has a valid SSL certificate (Let's Encrypt).- The endpoint `https://domain.com/webhook` is reachable and returns `EVENT_RECEIVED` for POST requests.- The webhook route is publicly accessible and correctly configured in my Laravel application.- Firewall rules and server logs do not show any issues or blocking behavior.I suspect the issue may be on
Strava recently made changes to the Android app, generally for the better.Unfortunately, the developers forgot to do proper testing, which I noticed today.I had completed a 3.5 mile jog and it being a beautiful day in Northern CA, I took an extended break, sitting on a bench. When I completed this segment, I took a screenshot of my Strava screen (File: Strava 1)About 25 mins later, when I decided to get my rear in gear and do the return 3.5 miles, I looked at my phone and noticed some weirdness on Strava.Even though I had been sitting still on the bench, I saw my SPEED was changing! Huh? I took some screenshots as evidence. I also noticed that I had GAINED .06 miles in distance during the time I had been sitting on the bench! Too funny. (Files: Strava 2, 3, 4)Can we get the Android app fixed Strava because now I have no confidence in anything I am tracking via Strava.Even funnier, I am on a free 30 day trials of enhanced Strava data. Given this screwed up data, there is zero chan
Hello everyone,I'm planning a charity marathon in Japan using Strava.I'm currently developing an API for this purpose, but as shown in the attached image, the "Sustainable Athletes" number is set to 1, which seems to limit Strava authentication to just one person.I would like to change this number to 100.Could you please let me know how I can do that?I would greatly appreciate your help.
Hello Strava API Support,We have an integration between Strava.com and our platform Train2Go.com, where coaches expect to see the activity data of their athletes. This process relies on Strava's webhook system: when an athlete completes an activity, we expect to receive a webhook notification so we can load the activity into Train2Go.We’re currently facing an issue where this process works for some athletes, but not for the majority. For many users, no webhook is triggered (or received), and therefore their activities are not uploaded to our platform.We suspect the issue might be related to the webhook system, but we’re not entirely sure — it could be caused by something else. We’d really appreciate your help in troubleshooting this. Has this behavior been observed before? Could there be another potential reason why some athlete activities sync correctly and others don’t?For additional context: about a week ago, we migrated our production environment to a new server with a new IP addre
Hello Strava Developer Team, I am developing a non-commercial web application to support a charity marathon event in Japan.The app connects with Strava to collect each participant’s running data and displays a leaderboard to motivate runners. The event is organized by a volunteer group, and we plan to limit participants to under 100 people.The app only uses the read and activity:read scopes to fetch participants' run distances during the event period. I kindly request an increase to the athlete authorization limit for my application so more runners can connect their Strava accounts. Thank you for your support and consideration. Best regards,
Starting this afternoon, Strava is not hitting our callback anymore after the authorization of a new athlete to our app.Steps:User clicks on authorize Strava in our Flutter app on iOS browser popup opens and user has to sign in User clicks on sign in with Apple User gets redirected to the Strava app From the Strava app, the user is not redirected back to our app anymore and no callback is triggeredThis worked in production this morning and stopped a few hours ago.Any known issues or updates happening right now?
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.