Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Hi,I'm building a free Android app that tracks bike component wear, and I'd like to import cycling activities from Strava to count kilometers per bike.The getting started page says a Strava subscription is a prerequisite for creating an app, and I have a few questions before I create mine:Does an account covered by a Strava Family plan, as the plan owner or as a member, meet the subscription requirement? Or must the account that owns the app hold its own individual subscription? Does the subscription need to stay active for the app to keep working once created? What happens to connected athletes if it lapses? Can the app be owned by a dedicated account for the project rather than my personal one, and can ownership be transferred later? For the review beyond 10 athletes, what capacity is granted and how long does it usually take?Thanks!
is there anyway to take a weight lifting tcx file from a third party source upload it to strava and have it show the exercises and the muscle group image without then having to manually add everything after it uploads?
You probably have received THE EMAIL. Little summary:Good news everyone: Strava just sent an official update and it looks like they were listening.Here's what's changing and what it means for those of us stuck on the athlete limit:The immediate fix: Standard Tier developers can now self-upgrade to 10 athletes directly from the API settings dashboard, no form, no queue, no waiting for a response from developers@strava.com, I have emailed them 10 times in the last 2 weeks, so they will be happy as well I think. Go do it now, I would.The new tier structure:Standard Tier: up to 10 athletes, self-managed, no formal review Extended Access Tier: higher rate limits, greater user capacity, prioritized developer support, access to Partner APIs, and no Strava subscription requiredGo to strava.com/settings/api to see what TIER you’re in.Key dates to have on your radar:June 1, 2026: changes are live. New tiers active, self-upgrade available now June 30, 2026: Standard Tier developers will need a St
Hello Strava Team & Riders,For several years I've run a small personal app on the Strava API. It syncs only my own activities to my own tools: it builds a statistics site, nothing else. It makes a few requests a week and has one user, me. This week it stopped working with "Application" / "Status" / "Inactive", and the API settings page now says API access is subscriber-only.I'd like to share why I think this change is a mistake, for developers and for Strava.1. It goes against what we were told in 2024. When the API agreement was updated in November 2024, Strava said users "will continue to have access to their personal Strava data across apps connected to the platform," and that fewer than 0.1% of applications would be affected. Personal, single-user apps were exactly the case we were told would keep working. A year later, they are the ones being cut off.2. It does nothing against AI scrapers. The 2024 rule that data may only be shown to the athlete it belongs to already makes the
Hi everyone,I'm the developer of WOLF, an iOS/Android training log app with around 560connected athletes.I'd like to add an opt-in leaderboard and want to make sure it complies withthe API Agreement before building it:- Users sign in to our app and explicitly opt in. It is off by default.- Only weekly / monthly / yearly totals per sport (distance, elevation gain, moving time) are used. No individual activities, routes, locations or timestamps are shared.- Users appear under a nickname only, and can opt out and delete their data at any time.- The screen shows the top 5 users and the viewer's own rank.Section 2.3 says Strava Data may be displayed only to the user it belongs to.But Section 6.1 starts with "Unless your Developer Application has an athletecapacity of 9,999 or less...", which reads as if smaller apps may displayother users' data.1. Does the 6.1 exception allow a leaderboard like this for apps with a capacity of 9,999 or less?2. If not, is it acceptable to show each user
Hello everyone,I'm developing a university project in Python using the Strava API directly through requests.For some activities, the request to GET /api/v3/activities/{activity_id}/streams returns HTTP 200, but the heartrate stream is missing.For one affected activity, the results are: has_heartrate: false average_heartrate: null Requested stream: heartrate Returned streams: distance The athlete has confirmed that they used a heart-rate monitor during the activity. Our OAuth authorization requests the activity:read_all scope, and token refresh works correctly.Other activities from other athletes do return heart-rate data through the same code.My questions are: Can the heart-rate stream be unavailable through the API even when an athlete used a heart-rate monitor? Does has_heartrate: false mean that Strava has no heart-rate data available for that activity, or could this indicate an API access issue? Are there any additional permissions or conditions that could explain this be
Hi, I submitted the Developer Program form for Cadevia (Client ID 208389) on October 1st, after a first request was declined on September 30. We changed the integration in response: Cadevia now only uploads workouts to Strava (activity:write) and reads nothing. We're at 10/10 athletes and new users can't connect. Is there anything else the review team needs from us? Ticket #18817.
Hi all,I'm building a running app and rethinking how it uses Strava. I'd like to check one design before building it, ideally with input from Strava staff.The design:Strava is used only as a read-only viewer: an athlete connects their own account and sees their own activities, in a separate screen. Strava Data is not used for AI/ML, analytics, training load, predictions or plan adjustment, and is not combined with any other source. Cache of at most 7 days (6.2), deletions reflected within 48 hours (6.3), deletion on revocation or request (7.4). Everything else in the app (analysis, coaching, AI) would run on other sources the athlete connects, such as Apple Health or their watch maker.Questions:Is an isolated viewer like this allowed when the same app uses AI on non-Strava data (5.3, "directly or indirectly")? Where is the line for deterministic, rule-based calculations on Strava Data under 5.4 ("analytics, analyses")? Is there a way to get a written answer on questions like this? Deve
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 everyone,I’m an independent developer building Kadence, a weekly sports planner for Android (not yet published). It uses the Strava API to import a user’s activity history and mark their planned sessions as done. 1. Inactive status: Since the Standard Tier subscription change, my app (Client ID 258385) returns 403 {"resource":"Application","field":"Status","code":"Inactive"} on /athlete/activities. OAuth itself works. I understand the owning account needs a subscription. Is there any trial or voucher option for developers who are still building and testing before launch? 2. Data storage: Kadence has no backend. Imported activities (date, type, name, duration) are stored only on the user’s own phone and shown only to that user. Does the 7-day caching rule in the API Agreement apply to data kept locally on the athlete’s own device? Or should the app re-fetch from the API instead of keeping history?Thanks!
Hello Strava Developer Community,We are preparing an Android app for the Salem Randonneurs cycling club and would appreciate guidance on whether our proposed Strava integration complies with the API Agreement and API Policy effective June 1, 2026. We have not launched publicly or begun multi-rider testing.Riders authorize their own Strava accounts. The app imports outdoor rides during a monthly club challenge and calculates mileage and/or elevation standings. Our current implementation requests read and activity:read_all. It stores the Strava athlete ID and encrypted OAuth tokens, plus each imported ride’s ID, date, type, distance, elevation, and eligibility/review status. It does not intentionally store route/GPS, heart-rate, or power data. Club administrators can review ride records. Published results show participant names, totals, and rankings to app users.Could a Strava representative please clarify: Whether club administrators may review a rider’s activity-level data for challen
Hello Strava Developer Community,I’m exploring a fitness app concept and would appreciate clarification from the Strava team about whether it would be permitted under the current API Agreement and API Policy.The concept turns an athlete’s walking, running, cycling and hiking into progress through a persistent virtual world. Each athlete would authorize access to their own activities through OAuth. Supported activity distances would be converted into game movement points that advance a virtual traveler. The traveler’s virtual location would be independent of the athlete’s actual GPS location.Persistent personal worldThe athlete’s journey would continue across months and years, with visited destinations, passport stamps, levels and earned cosmetic rewards.May an application retain this derived game state beyond the seven-day activity cache period, while deleting the underlying activity records? Which parts would need to be removed or recalculated when an activity is deleted or the athlet
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
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.