Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Hello,I'm developing TERAYA (https://teraya.run), an outdoor territory-conquest game currently in beta.The game processes authorized Strava GPS activities into H3 geographic cells. Players accumulate presence in these cells, and the player with the highest presence becomes the territory owner.Other registered players can see territory ownership, TERAYA nicknames and game rankings, but not the original Strava GPS tracks or activity details.Before expanding beyond our current 10-athlete capacity, I would like to clarify: Is it permitted to display multiplayer territory ownership derived from authorized Strava activities? Can H3 presence scores and territorial ownership be stored persistently? Does the seven-day caching restriction apply to these derived game data? What derived data must be removed when an athlete revokes access or deletes an activity? I have reviewed the Strava API Agreement and API Policy, but I would appreciate guidance on how these restrictions apply to this spe
Hi everyone,We are computer science students from Adam Mickiewicz University in Poznań, Poland working on our graduation engineering project – a non-profit, academic sports event for about 500 participants.We applied for increased rate limits and athlete capacity, but our request has been rejected twice with the generic automated response. The automated message listed these four common reasons for rejection:The app does not offer a complementary experience for Strava users API usage is not optimized for the requests being made There are security or privacy concerns with the app The app is not compliant with our API Agreement or API Policy We believe we have thoroughly addressed and covered all of these points in our submission:Complementary Experience: We built a gamified academic environment with inter-faculty rivalries and live leaderboards that standard Strava does not provide. API Optimization: We rely strictly on Strava Webhooks for real-time activity triggers and cache aggrega
Hi all,I have a production API app on my personal Strava account. I want to move it to a new shared team account so a group of people can manage it, instead of it being tied to my personal login.Is there an official way to transfer an app (same Client ID/Secret) to another account? If not, and I re-create it on the new account, do I lose Extended Access or my tier, and do all connected athletes have to re-authorize? Has anyone done this before? What worked?The new account will have a Strava subscription. I’ve also emailed developers@strava.com but wanted to check here too.Thanks!
The new Exercises tab for strength training is great, but right now it can only be filled in manually in the app (or through a handful of privileged partner integrations). My Garmin can't auto-detect lifts, so every strength session needs manual exercise entry.Please expose exercises through the public API — reading and writing sets, reps, and weight per exercise. That would let any training app, not just the big partners, populate the Exercises tab automatically, the same way runs and rides already sync with full data. For those of us following coached strength programs and log their lifts in other platforms, this would make Strava a real strength training log instead of a free-text workaround. If anyone has solutions for this, I am open to all suggestions. How I'm working around it today: My gym programs workouts in PushPress and my Garmin can't auto-detect lifts, so I have an assistant read my workout screenshots and write the full breakdown — exercises, sets, reps, weights — into
Hello Strava developers,We are building AxonFit, a running coaching SaaS platform in Brazil, and we have a question about the current Strava API Policy.Our flow is:1. An athlete creates an account in AxonFit.2. The athlete connects their own Strava account through OAuth.3. The athlete explicitly authorizes AxonFit to access their Strava activities.4. The athlete is linked to a running coach in AxonFit.5. We would like to display that athlete's Strava activity data to their own coach inside the coaching platform.The purpose is to compare prescribed training sessions with completed activities, for example:- distance- duration- pace- elevation- average heart rateThe athlete is the person who authorizes the Strava connection.Our question is:Under the current 2026 API Policy, is this use case permitted if the athlete provides explicit consent for AxonFit to share/display their Strava activity data with their own running coach?We are particularly trying to understand the interaction between
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
Hello,I’m building a community run/walk application where members can voluntarily connect their own Strava account. Before implementing the Strava integration, I’m trying to understand whether the proposed competition model is compatible with the API Policy effective June 1, 2026.The application has fewer than 9,999 connected athletes. Members explicitly opt into monthly and annual mileage challenges.The proposed flow is:each athlete authorizes access only to their own Strava activities; qualifying Run/Walk activities contribute distance toward that athlete’s competition total; other participating members would see the athlete’s cumulative mileage and rank, not their routes, GPS, heart rate, pace, or individual Strava activity details; the application could delete underlying activity records after the permitted cache period and retain only derived competition totals/results if that is allowed.I’m trying to reconcile a few sections of the current policy:1. Cross-user displaySection 2.3
Hello Strava Developer Community,I am developing a private, non-commercial Strava API integration for an employee fitness challenge organized by our company director.Each participating employee has an individual goal of reaching 50,000 active calories over a period of six months.The purpose of the challenge is to encourage employees to stay physically active and maintain regular exercise.There is no financial prize, winner, official race, or performance-based award. Each participant simply works toward their own individual goal.Each participant independently authorizes our application through Strava OAuth.Our application uses the "calories" value from the participant's authorized Strava activities to calculate their personal progress.For example:32,450 / 50,000 kcal64.9% completed17,550 kcal remainingThe application is private and non-commercial and is intended only for employees of our company. We do not sell Strava data, use it for advertising, or provide it to third parties.The user
Hi everyone,We’re developing Savills Run for Impact 2026, a non-commercial internal running challenge for approximately 1,000 employees.The challenge runs for one month. Each participant would voluntarily connect their Strava account via OAuth, and our web app would retrieve their running distance to:Track individual and cumulative monthly KM Display name, cumulative KM and ranking on an internal leaderboard visible only to participants Convert the total KM into a company charity donationBefore moving forward, I’d really appreciate some clarification from anyone familiar with the current Strava API Policy:1. Leaderboard:Does the Data Display policy allow cumulative distance and rankings to be shown to other challenge participants if everyone explicitly consents?2. 7-day caching/data retention:Since the challenge lasts one month, can we store cumulative/derived KM in our database for the full challenge, or would the 7-day caching restriction also apply to this data?3. ~1,000 participant
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
Hey Guys, I want to create a database related to runners, but since it’s my first big project I need some ideas and guiding…Any advice is well welcomed!!!!
Hi all,I run a cycling nutrition app. When an athlete opens one of their own activities, we read its power/heart-rate stream and compute metrics that Strava doesn't provide (estimated carbohydrate burned per hour, fluid and sodium estimates, and a comparison with the athlete's nutrition plan). We only show these to the same athlete.Section 5.5 of the API Agreement in force since 1 June 2026 restricts storing "any data derived from Strava Data" in a store "configured to enable subsequent retrieval, query, or use". How are other developers handling this?- Do you store derived summary metrics (not raw streams, coordinates or Strava fields) for the athlete's history, with a retention limit, or recompute them on demand?- Has anyone had official guidance from Strava on this?Thanks!
Hello,I am planning to build a small private web application for a local running club called PALUKASAMOK RUNNING CLUB.I would like to confirm whether our intended use case is permitted under the current Strava API policies.The planned workflow is: Club members voluntarily connect their own Strava accounts to our application using OAuth. The application retrieves their running activities through the Strava API. We calculate each member's accumulated running distance. We display monthly and yearly distance statistics. We would like to display a ranking among members based on their accumulated running distance. The club may give small prizes to members with the highest distance each month and at the end of the year. This is a private, non-commercial running club. It is intended only for our club members and is not intended to replace or compete with Strava. My main question is:Is it permitted to display one member's accumulated running distance and ranking to other members of
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.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.