Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
I'm building a read-only Strava application (Standard Tier, activity:read_all only, no write scope). It groups an athlete's own activities by distance, every half marathon, every century ride, and shows them side by side so the athlete can see how their performance has changed over time.That comparison is only meaningful across months and years, so the application caches each authenticated athlete's own activity data locally. Querying live per interaction isn't feasible within the rate limits.API Policy 6.2 states that Strava Data may not be retained in cache longer than seven days, and 6.4 limits retention to what is necessary for the original purpose. I can't find a carve-out for retaining an athlete's own data for the life of their account with a third-party application.Two questions:May an application retain an authenticated athlete's own activity data for as long as that athlete remains an active user of the application, where the sole purpose is presenting that athlete's own hist
Hi all,I'm building a read-only app that shows each athlete long-term trends in their own activity history. Each athlete only sees their own data, and nothing is shown to anyone else. We use webhooks for activity changes and deauthorisation, and delete an athlete's data when they disconnect.The feature only makes sense across years of activities, so the 7-day cache rule in API Policy 6.2 is a real problem for us. I've read the similar thread from September and I'm hoping to get a bit further on three points:1. Is there any approved way to retain an athlete's own activity data for as long as they're an active user, when the only purpose is showing their own history back to them?2. If not, does aggregated data derived from their activities still count as Strava Data under 6.2? I mean summary counts, with no individual activities, names or IDs kept.3. If an athlete downloads their own data with Strava's bulk export tool and uploads it to an app, is that covered by the API Agreement and th
Hi Strava API team,Unlock Earth (iOS/Android, approved for 999 athletes) is in its launch onboarding phase. 121 athletes are connected and 76 are waiting for their first history sync, which needs one read per activity (about 470 activities per athlete on average). Our current limits (3,000 reads/day]) are exhausted early each day, which leaves new athletes waiting days for their first sync.We're asking for a temporary increase to [30,000] reads/day (and [3,000] per 15 minutes) for 7 days to clear the launch backlog. This is a one-time spike: we've just deployed an optimisation that cuts reads per activity by roughly 90% (we use the activity list's summary polyline and fetch the full stream only when an activity could unlock something new), so after this period our steady-state needs are small and the current limits will be enough for normal use. Syncs are throttled to 2 at a time and we honour all 429 responses.We only use athletes' data to show them their own unlocked places; it's nev
Hi Strava team,I submitted my app for Developer Program review around 6 months ago and have not received a decision or a request for more information since. The FAQ mentions 7 to 10 business days, so I would like to check whether the submission is still in the queue.Details:App name: Pacemind Client ID: 231429 Current status: Standard Tier, 10 athletes allowed, 5 connected Scope: read onlyCould someone from Strava confirm:Whether the submission was received and is still under review Whether anything is missing or needs to change for approval When I can expect a decision
Hello Strava Developer Support,I’m developing PerformanceLAB, an endurance training and performance platform using the Strava API.Client ID: 190585Developer level: StandardAthlete capacity: 10Connected athletes: 1We are consistently receiving HTTP 429 Too Many Requests when calling:GET /api/v3/athlete/activitiesWe have instrumented the API response and captured the following rate-limit headers from a real request:X-RateLimit-Limit: -1,-1X-RateLimit-Usage: 3,9X-ReadRateLimit-Limit: -1,-1X-ReadRateLimit-Usage: 3,9Retry-After: not presentThe application dashboard also displays:Overall Rate Limits: -1 requests every 15 minutes, -1 dailyRead Rate Limits: -1 requests every 15 minutes, -1 dailyThe API usage shown in the dashboard is very low, yet /athlete/activities consistently returns HTTP 429.According to the current Strava API documentation, expanded access with an athlete capacity of 10 should provide read limits of 200 requests / 15 min and 2,000 / day, and overall limits of 400 request
Hi Strava Developer Community,We are developing EZ Engage, a corporate employee wellness and engagement platform.Employees may voluntarily connect their own Strava accounts to participate in a company wellness programme, typically lasting 30 days.Our intended flow is:Employee authorizes Strava. Eligible activities such as walking, running and hiking are received automatically via the Strava API/webhook. EZ Engage converts the eligible activity into programme points. The points are accumulated toward the employee's programme progress. Raw Strava activity data can be deleted according to Strava's required retention period.We would appreciate clarification on two points:1. After the underlying Strava activity data is deleted, may we retain the accumulated programme points derived from that activity, provided the points do not expose the original Strava activity details?For example, instead of retaining distance, route, pace or activity details, EZ Engage would retain only something such a
Hi Strava Developer Team,I’m building a mobile app called RunPass, a rewards program designed to encourage people to run more.The concept is simple:Users connect their Strava account to RunPass. When a user completes a qualifying run, RunPass uses the Strava API to confirm that the run was completed and automatically unlocks a reward for that user.For example:A user connects their Strava account to RunPass. The user completes a run using Strava as they normally would. RunPass receives the activity notification through Strava’s API/webhooks. RunPass verifies that the activity meets the qualifying criteria. RunPass unlocks a reward for the user. The user chooses which participating business reward they want to redeem. The business only receives a RunPass reward/QR code and redemption status. Strava activity data is not provided to the business.Strava would be used as the verification layer to confirm that a qualifying run has been completed.We would not provide businesses with users’ rou
Hello Strava Developer Community,I am developing HHR, a web app for a community running group in Vietnam.Members connect their own Strava accounts through OAuth. The app displays personal running activities and monthly summaries. Its current design also includes a shared leaderboard showing each member’s name, monthly distance, activity count, and average pace.Before submitting an athlete capacity increase request, I would like to clarify: Is this shared leaderboard permitted under the current API Agreement and API Policy, particularly Section 2.3 on displaying data only to the authenticated user and Section 5.4 on aggregation? Does explicit consent from all participating members change these restrictions? If this design is not permitted, what changes or approval process would be required? We are not assuming that OAuth authorization alone permits sharing activity data between members.Thank you for your guidance.
Hello Strava developers,I’m trying to build a small ecommerce site for running shirts. Each design represents a running distance and time category, such as a marathon finished under a particular time.I’d like to let a runner connect their Strava account, verify that one of their activities meets the criteria for a design, and then show them that shirt as an item they can choose to buy.The intended flow is about the individual runner and their own activity. It isn’t designed to rank runners or show activity details to other users. I’m trying to understand whether this use is permitted under the current API Agreement and Policy—particularly whether checking an activity to determine eligibility for a product offer could count as enabling a virtual race or competition.I’m asking for policy guidance, not increased API access. Could someone point me to the relevant rule or clarify whether this use case is allowed? If this needs to go through the formal review process, please let me know whic
Hey! I have reached the 999 users in my app, I have requested an increase via email (developers) but I have not received any answer, how shall I do it? Thanks.
This is what the specification says for the ActivityType within SummarySegment: "activity_type": {"type": "string","enum": ["Ride","Run"]} And this is wrong. Currently my app is getting VirtualRide as a candidate here. This is breaking my app (and probably any other Java app which uses autogenerated clients and objects out of the specification).I don’t know why would you host a specification and the whole developer portal if you just don’t meet the contract. If one cannot trust the contract, nothing is reliable on top of it.Hope you can fix this any time soon. Even more now that I have to pay for this service.
Since today we have received a surge of user reports about failed uploads to Strava. We have traced this to the endpoint https://www.strava.com/api/v3/uploads, which is consistently responding with an internal server error (HTTP 500).Is anyone else seeing 500 Internal Server Error on POST to /api/v3/uploads today?
Hi!I read the docs and noticed that the /athlete method returns data that doesn't match the class or the example for it.The example shows follower and friends fields, but they aren't declared in the DetailedAthlete class. Is there maybe a separate endpoint for getting followers and friends? And a second question: when fetching who liked or commented, we receive a truncated response — the full first name, only the initial of the last name, and no id. Is there any way to enrich this data, at least to obtain the id?
Hi.I have been developing an App which has now been approved by Strava 🙌🏻My question is regarding the extended access tier and how segment exploration could be made available within my app? This was available within my app until the API restrictions put in place from the 1st September ‘26. How does someone move from the standard developer tier to the extended access tier? Thank you.
Hi Strava Developer Community,We are facing an urgent issue with our Strava API app.Our app has reached the Standard Tier connected athlete limit:Client ID: 277886Connected athletes: 10 / 10Error shown to new users: Error 403 - Limit of connected athletes exceededWe are running a virtual fitness event called HELLO X by NIMIR Movement Platform. The event starts on 02 October 2026 and uses Strava for official walk, run, and ride activity tracking.Many participants are new Strava users who are installing Strava and creating accounts only for this event. But now they cannot connect because the connected athlete limit is reached.We already submitted the Strava Developer Review Form for additional connected athlete capacity, but the issue is still not resolved and the event starts in 3 days.Can anyone from Strava or the community guide us on:1. How to urgently request connected athlete capacity increase?2. How long the review usually takes after reaching 10 / 10 athletes?3. Is there any addi
Hello - i’m struggling to grow beyond the 10 athlete limit for my online print store:www.lifes-tile.com I’ve submitted two requests and each time been asked to provide more information. I have submitted really comprehensive screenshot evidence for all the Strava data usage, so i’m not sure what else to add. Is there something i’m missing? Anyone who might be able to help?thanks in advance 🏃
Hello everyone,I'm writing on behalf of an Italian bike brand.I know from Giant bikes ios app you can directly add your bike to Strava gears.I haven't found a way to manage (add/remove) gears using public v3 apis, you can only read gears.Is there a way to access those kind of apis? Must we setup a partnership between Strava and the brand?
Hi Strava team,Our iOS app, “Staka Ski for SkiErg,” is live on the App Store. All 10 Strava connection slots are filled, and the cap is preventing additional users from uploading their sessions.We submitted the Developer Program form on September 24 with integration screenshots. Our integration lets users upload their own completed sessions to Strava.Client ID: 231266Could you review our request or provide an expected timeline? We have active users ready to connect.Thanks,Staka, LLC
The page is empty basically since I have to pay for this…Can someone help as E-Mail response I got doesn't help at all.
Hi all — hoping someone from the team or community can help. I'm struggling to grow beyond the 10 athlete limit for my app: App: GFN Coach (https://app.getfitwithnats.com)Client ID: 277244 GFN Coach is a training-plan platform for runners. Athletes connect their own Strava account via OAuth so their activity data (distance, duration, pace, heart rate, elevation, training-load signals) feeds into our readiness and training-load calculations — this removes the need for manual workout entry. Scopes: read, activity:read_all (read-only, no write access) Endpoints used: GET /athlete/activitiesGET /activities/{id}GET /activities/{id}/streams (time, distance, heart-rate streams) Webhooks: Not currently used for Strava — we poll the activities endpoint when an athlete syncs. (We do use webhooks for a separate, unrelated Garmin integration via a third-party aggregator.) Data retention: We retain compact activity-summary metrics (date, sport, distance, duration, pace, heart rate, elevation, train
Hi everyone,My app "Desafiar" (Client ID 273562, Standard Tier) went through the Developer Program review and got approved for an increased athlete limit (999 athletes). This was confirmed by email.However, a few days later the increase still isn't reflected: I tried connecting an additional athlete and got the same "athlete limit reached" message as before the approval, and the API Settings dashboard still shows the old cap.I've already emailed developers@strava.com (cc api-rate-limits@strava.com) but haven't heard back yet.Has anyone else run into a gap between getting the approval email and the limit actually being applied? Roughly how long did it take to resolve for you? Any tips on getting a faster response are welcome.Thanks!
Hello Strava Developer Team,We have submitted KASATI Running for Developer Program review and would greatly appreciate your assistance with an expedited review due to an upcoming internal employee wellness program.Application: KASATI RunningCompany: KASATIClient ID: 276655Current Athlete Capacity: 10Current Connected Athletes: 10Requested / Intended Users: approximately 400 employeesProgram Start Date: September 15, 2026Company Anniversary: October 10, 2026 – KASATI’s 41st AnniversaryWebsite: https://erp.kasati.com.vn/running/Privacy Policy: https://erp.kasati.com.vn/running/privacy.phpSupport: https://erp.kasati.com.vn/running/contact.phpKASATI Running is a private internal corporate wellness application for KASATI employees in Vietnam. Employees voluntarily connect their individual Strava accounts through OAuth 2.0 to access their authorized activity information.We have reached our current athlete capacity of 10, and approximately 400 employees are expected to participate in our upco
Some of you have seen me around here asking about this, I have participated in many threads about the athletes limit. My app sat at the 10 athlete cap for months. Five applications, five rejections, never a reason (Maybe more than 5 actually) I totally understand that the STRAVA team is busy with so many apps, so never hard feelings.Then I audited my own integration properly, looking for anything wrong on my side whether or not it was the blocker. Reapplied. The increase came through in 7 days.I cannot tell you these three things were the reason, because Strava never told me what the reason was. They were wrong, I fixed them, and the sixth application went through.Context: I built MoguWind Plan, a free route planner that shows cyclists the wind along their route. The Strava connection pulls in saved routes and activities and shows the wind in the activity after. Very basic, but still you need to connect your account etc.1. The deauthorization webhook, which I was not handling at allFix
Hi, I’m working on a bicycle maintenance application. An authenticated athlete's Strava activities are used to increment usage counters for components installed on that athlete's own bicycles — for example distance, elevation and hours used for a chain, tyre or suspension component.I understand that the underlying Strava activity records cannot be retained beyond the permitted caching period, and we are happy to delete those records within seven days.Our question is specifically about the resulting maintenance state. For example, if Strava activities establish that a chain has accumulated 1,250 km since installation, may Ridgeline Workshop retain the value 1,250 km for the lifetime of that component after the underlying activity records have been deleted?The value is retained solely to provide bicycle maintenance functionality to the authenticated athlete. It is not used for cross-user analytics, advertising, benchmarking, AI/ML, resale or disclosure to other users or third parties.We
I was recently approved for the higher tier of Strava users for my app. What is the approximate timeline for this to take effect? thank you.
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.