Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
I have been working on a strava app and I have been the only tester. I’m at a point that I need additional testers so I just submitted a request for this.As far as switching between local and staging environments, I’ve had to switch Strava Callback Domain manually between localhost and staging. Once I get approval for additional testers I won’t be able to do this manually. Appreciate any insights for how I can make this work for both and not have to manually switch Strava’s callback domain.Thank you in advance!
Hi there, I noticed with a newer Strava update the team has provided the ability for users on event creation to add pace groups and the type of event (format) e.g. social but these fields aren’t available yet via the API are there plans to add them or is there a new endpoint that hasn’t been added to the docs that exposes these fields?Thanks, keep up the good work - Calvin
Anyone else having issues trying to view their app in the My API Application Page? I keep getting an error message saying “Something has gone wrong”. Wondering if anyone else is having this issue?
I’m in the middle of building a mobile app and would ideally like to test it with 10-20 athletes. I’ve already submitted a request to increase my number of athletes but it got me wondering if I’m authenticating properly. I’m seeing reports that strava will increase the number up to 999, but that still seems like a low number making me wonder if there is a smarter way to authenticate within the app so that multiple athletes can use the app for testing. Maybe open the connection, get the data, and drop the connection quickly so that multiple athletes can use it?
Since yesterday, site is not loading, having some JS errors in console.
Hi Strava Developer Support Team,I hope you’re doing well.My name is Gustavo, founder and head coach of IgnitRun, a training platform designed to help runners and endurance athletes monitor their progress with evidence-based coaching tools.We currently use the Strava API to sync our athletes’ activities, allowing them to review their training load, volume, and intensity distribution while working closely with their coach. This integration is essential for the value we provide to our community.Our application (Client ID 74947) is currently limited to only one connected athlete, which prevents us from properly launching the platform. We kindly request an increase to at least 200 connected athletes for our initial rollout phase. These slots will be used exclusively for verified club members.For your reference, our platform can be reviewed here:https://app.ignitrun.com/We are fully aligned with Strava’s API policies, and we do not resell or misuse athlete data—our goal is simply to enhance
Hi team,I'm the founder of IgnitRun, a coaching platform that uses the Strava API to help runners track volume and intensity with their trainers. Our app is live here: https://app.ignitrun.com/Right now, our project (Client ID 74947) is limited to only 1 connected athlete, which blocks our launch. We kindly request an increase to 200 athletes for our initial rollout.We comply fully with Strava’s API policies and only use the data to support our athletes’ training—not for resale.Thanks in advance for your help!
It looks like that there is no such option. But I think it may be a great addition for any club to have an option to least events on their website/app and even have a button for people to join their events. Could propel event usage a lot and improve quite a few metrics.Totally separate thing but another missing feature from user's perspective is to join Repeated events. With two options: Join this event and all following events, join only this this event. The same for leaving the events.Both these features will increase Event-related metrics drastically
We are using https://www.strava.com/oauth/authorize?client_id=...&response_type=code&redirect_uri=https://ictrainer.com&approval_prompt=force&scope=activity:write%2Cactivity:readto login the user initially. But if an user was loged in in the browser yet the login for the new user does not force a new login. How can we force this? All other platforms allows in the oauth-authorization process that the complete user login is forced.
I have a functioning webhook but need to update the callback URL as this will be changing. First I tried simply creating a new subscription but found I couldn’t since you can’t have more than 1 active at a time. So then I tried to delete the existing subscription to recreate it - but running into the following error:{ "message": "Resource Not Found", "errors": [ { "resource": "PushSubscription", "field": "", "code": "not found" } ]}I have double checked that it’s the right sub id using the GET request to https://www.strava.com/api/v3/push_subscriptions.This query is successful which also rules out an issue with my client_id and client_secret (I am using postman and leveraging variables so know they are the same).Body is set to None. Here is the query: https://www.strava.com/api/v3/push_subscriptions/[my_id]?client_id={{client_id}}&client_secret={{client_secret}}
How is this STILL not a feature in 2025. JFC of all the features y’all keep developing this would move the needle SO FAR for your power users. Literally every bike shop, club, cycling community in the world would use this feature. How many times do we have to ask for this.
HelloPlease help us checking if everything is correct with our API acces by "data" app.When we call to API for example to List Athlete Activities, returns error: {"message":"Authorization Error","errors":[{"resource":"AccessToken","field":"activity:read_permission","code":"missing"}]}We've try to :- correct access permission by Revoking Acces to "data" app and Allowing again - we gets the same error- Generate New Client Secret - works fine, refreshing token works fine but at the end again the same error
For an url like https://www.strava.com/api/v3/activities/{id}/streams?keys=time,latlng,altitude,heartrate,cadence,distance,moving,wattsI’m currently seeing the following response headers: content-type, content-length, connection, date, server, vary, x-envoy-upstream-service-time, x-cache, via, x-amz-cf-pop, and x-amz-cf-id, but *not* the rate limit headers described at https://developers.strava.com/docs/rate-limits/ What gives? Is the documentation out of date? Have the rate limit headers been deprecated? Am I seeing proxy-cached content that strips the rate limit headers or something like that? If the rate-limit headers are absent, does that mean the request doesn’t count against quotas?
I have created a miniapp in Farcaster, and I am using one API… I am getting issues to get users authorizate Strava via my app, do I need special rights? Thanks in advance!
Hi everyone,I’m experiencing an issue with the Strava OAuth mobile authorization flow.I have a system that automatically updates each Strava activity’s description with a URL to my platform: https://pacerai.vn/.When users click this link inside the Strava activity description (in the mobile app), they are taken to my website. After that, they tap the “Login with Strava” button, which redirects to:https://www.strava.com/oauth/mobile/authorizeProblem:When users come from a Strava activity description → open my link → tap “Login with Strava”, the redirect to Strava’s OAuth page does not work.However, if users manually open Safari → type in https://pacerai.vn/ → tap “Login with Strava”, then the redirect to https://www.strava.com/oauth/mobile/authorize works normally.This means the issue only happens when the initial page is opened from a Strava activity description link.I’m not sure what the root cause is (possible app webview restriction?), so any help or clarification would be greatly a
Hello! I have noticed that if I start an activity on the Strava app on my Pixel watch 2, it times out at 9 minutes Has anyone experienced this? And any ideas on how to fix it?
Hi everyone,I am working on the integration of our Decathlon Coach with Strava. We are uploading activities via FIT files.We are facing a persistent issue regarding how Strava calculates Moving Time versus Elapsed Time, leading to incorrect stats for our users.The Context: Our users record running activities using our app. Often, these are continuous runs with no pauses (the user never hits the pause button). Consequently, our FIT files contain the trackpoints and the total Elapsed Time, but no specific "Pause" or "Resume" events.The Problem: Upon upload, Strava ignores the duration recorded in the file and attempts to recalculate the Moving Time based on the GPS data. Because of GPS drift or slower sections, Strava’s algorithm interprets parts of the run as "resting time" and removes them.The Result: Real Data: 10km run in 1h00 (Pace: 6:00/km). Strava Display: 10km run in 55min (Pace: 5:30/km). The "Moving Time" is significantly shorter than reality, artificially inflating the aver
I noticed that some (not all) user profile pictures from cloudfront.net (DetailedAthlete’s ‘profile’ and ‘profile_medium’ urls) now return an access denied error.Is this a bug or a new privacy feature (that renders the DetailedAthlete profile urls useless)?Many older profile urls from cloudfront.net still work fine...
Dear all, I have noticed a recent change in the “Athlete Stats” API: it is returning partial values for distance and elevation (not the same values that are visible on the profile page on Strava, as this API alway did in the past).Also I’m getting decimal values (see below in red). I believe something went wrong here. stdClass Object( [biggest_ride_distance] => 170760 [biggest_climb_elevation_gain] => 1871 [recent_ride_totals] => stdClass Object ( [count] => 15 [distance] => 991064.08984375 [moving_time] => 135009 [elapsed_time] => 140781 [elevation_gain] => 11017 [achievement_count] => 198 ) [all_ride_totals] => stdClass Object ( [count] => 1581 [distance] => 72496554.40332 [moving_time] => 12023480 [elapsed_time] => 13179871 [elevation_gain] => 1140429.4384117 ) [recent_run_tota
Hi all,I develop a Strava App which aims to show a list of the recent Strava activities and you have the option of merging two or more activities selected from the list.I see it as being very useful, for me of course, as I usually do a morning commute to work, lunch run, evening commute back home - all recorded with my watch. Since I cannot pause my bike activity to start a run, then later resume the bike activity (would be a nice feature btw - to allow multiple paused activities based on type), I want in the evening to be able to merge my 2 commute activities into one.Algorithm I use for merging is plain simple - just aggregate all points from all activities, sorted by date.Everything is in place and working locally, however I have reached a dead lock:my initial plan was to download original activities (as GPX) and delete the activities-to-be merged; however this is not possible as there’s no way of deleting an activity via the Strava API; the the upload of the merged activity will fo
Hi,I’d like to know how Strava handles cases where two activities from the same athlete are uploaded within a short time interval — for example, if both have overlapping timestamps.Does Strava automatically detect and filter one of them as a duplicate?I’m asking just to better understand the logic behind this behavior when explaining it to others.Thanks!
Hello! I wanted to see if there was a way to either filter or check if routes are dog friendly or not. I use the Fi/Strava set up and live in Colorado - some trails/routes are not dog friendly. Right now I end up having to look at other apps to double check but I wanted to make sure I was not missing something on my Strava App. Thanks!!
Hi Strava developer team, First of all, thank you for reviewing our form.However, there seems to be a misunderstanding; I submitted the form requesting 3,000 users instead of the current 999 (as we previously had 999).We are about to launch our mobile platform, and traffic is expected to increase 2-3 times next month (currently, 999 users pose a significant risk). Please reconsider and review this.Best regards,
Yth. Tim Dukungan Strava, Saya menghubungi Anda untuk meminta pembatalan langganan Strava yang terlanjur aktif di akun saya. Saya tidak pernah secara sadar menyetujui langganan ini, dan baru menyadari adanya tagihan setelah transaksi diproses. Saya sudah mengajukan permohonan pengembalian dana melalui Google Play dan saat ini sedang menunggu proses yang disebutkan akan berlangsung selama 1–4 hari kerja. Berikut beberapa detail yang mungkin membantu untuk menelusuri akun saya: Jumlah yang ditagihkan: Rp 609.390,00 Perangkat yang digunakan: Android Saya mohon bantuan tim Strava untuk: 1. Membatalkan langganan yang sedang aktif. 2. Meninjau kasus ini dan mendukung pengembalian dana agar dana saya bisa dikembalikan. Silakan hubungi saya jika dibutuhkan informasi tambahan. Terima kasih atas perhatian dan bantuannya. Hormat saya,Qotru Nada Asyifa
Hello,I am the developer of an Apple Watch workout app which exports data to Strava with FIT files and Strava API.Is there a way to display the Apple Watch device model in Strava like for other watches ?I suppose I have to use some specific Manufacturer and DeviceID in my FIT file, but I don’t know what to use for an Apple Watch app to be recognized by Strava API
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.