Skip to main content
Need help with your Strava integration? Pop into our Discord if you have questions or want to discover how Open Wearables can solve your problems.

Overview

Strava provides access to activity/workout data through their API. The integration supports real-time webhook notifications for new activities as well as historical activity data via polling. Each Open Wearables user can connect their own Strava account. Strava’s Standard Tier allows up to 10 connected athletes — upgradeable directly from your API Settings Dashboard without formal review. For more than 10 athletes, apply for Extended Access Tier.
Strava subscription required (as of June 2026). A Strava subscription is now required to access the API as a Standard Tier developer. If you registered before June 1, 2026 you have until June 30, 2026 to subscribe. Extended Access Tier developers are not affected.

Supported data types

Strava is an activity-focused platform — it does not provide continuous health monitoring data like sleep, HRV, or daily summaries.

Data delivery

Developer tiers

Self-upgrade to Standard Tier (up to 10 athletes) directly from your API Settings Dashboard. For Extended Access, submit your app for review through the same dashboard.

What you need by the end

  • App credentials: Client ID + Client Secret
  • OAuth scopes configured
  • Webhook verify token set (a secret string you choose)
  • Webhook subscription created (so Strava sends activity events to your server)

Prerequisites

  • A Strava account (active subscription required for Standard Tier API access; Extended Access Tier is exempt)

Application walkthrough

1

Create a Strava API Application

Log in to your Strava account and go to:Fill in the application form:
  • Application Name: Your app name
  • Category: Choose the category that best describes your app
  • Website: Your app’s website URL
  • Authorization Callback Domain: localhost for local development, or your production domain (e.g. yourdomain.com)
The Authorization Callback Domain is just the domain, not the full URL. For local development, use localhost. Do not include the port or path.
After creating the app, you’ll receive:
  • Client ID
  • Client Secret
Treat the Client Secret like a password. Store it in your secrets manager and rotate if compromised.
2

Configure credentials in Open Wearables

Add the following to your .env file:
Configuration details:
3

Create a webhook subscription

To receive real-time activity notifications, you need to create a webhook subscription with the Strava API. Your server must be publicly accessible for Strava to reach the webhook endpoint.Create the subscription using the Strava API:
When Strava receives this request, it will send a GET request to your callback_url with a hub.verify_token parameter. Open Wearables will validate the token against your STRAVA_WEBHOOK_VERIFY_TOKEN and echo back the challenge to confirm the subscription.
The callback_url must be publicly accessible over HTTPS. For local development, use a tunneling tool like ngrok to expose your local server.
Strava allows only one webhook subscription per application. If you need to change the callback URL, delete the existing subscription first:
4

Verify the integration

Once everything is configured:
  1. Start your Open Wearables instance
  2. Connect a Strava account through the OAuth flow
  3. Create or record an activity on Strava
  4. The webhook should deliver the event and Open Wearables will fetch and store the full activity data
You can check the webhook health endpoint at:

OAuth Scopes Reference

The default scope activity:read_all,profile:read_all is recommended for full activity data access.

Next Steps

API Reference

Explore the Open Wearables API endpoints.

Architecture

Understand the overall system architecture.

Support

Need Help?