Skip to content

Cloud OAuth

Strava API integration

Connectable nowYour end-users can connect this provider today through the hosted flow.Webhook subscription registered (id 342762)

Strava device illustration

Strava is the best-instrumented activity API in the consumer space and the only provider in the WearLink catalogue with a true push model — an activity upload triggers a webhook within seconds, not on a poll cycle. If your product cares about workouts rather than sleep or recovery, Strava is usually the fastest path to a working demo.

It is also the provider with the strictest rules about what you may do with the data. Strava's API agreement restricts displaying another athlete's data, prohibits certain kinds of aggregation and analysis, and requires attribution. Read the agreement before you design the feature, not after.

WearLink runs one webhook subscription per application and fans events out to your endpoint, so you get activity-level push delivery without operating the callback verification handshake yourself.

Connect a Strava user

Two calls. The first mints a hosted connect URL for your end-user; the second reads the normalised summaries once they have authorised with Strava. Subscribe a webhook to receive the same objects as they land.

connect + read — strava
# 1. Create a connect session for your end-user
#    The API key goes in X-WearLink-API-Key, not in Authorization.
curl -X POST https://wearlink.io/api/v1/connections/session \
  -H "X-WearLink-API-Key: $WEARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id": "'"$USER_ID"'", "provider": "strava", "redirect_uri": "https://yourapp.com/connected"}'

# → { "connect_url": "https://wearlink.io/widget/connect?token=...", "expires_in": 3600 }
# Redirect the user there; they authorise strava and land back on your redirect_uri.
# The token is scoped to that one user — it is safe to put in a browser URL.

# 2. Pull normalised data whenever you want
curl -H "X-WearLink-API-Key: $WEARLINK_API_KEY" \
  "https://wearlink.io/api/v1/users/$USER_ID/summaries?provider=strava&days=7"

Strava data available through WearLink

  • Activities & workouts
  • GPS routes
  • Heart rate streams
  • Power & cadence
  • Elevation
  • Calories

Webhook events you can subscribe to

  • workout.created
  • workout_metrics.created
  • activity_timeseries.created

Normalised families this provider feeds: Heart Rate, Workouts, Calories & Energy, VO2 Max & Fitness Metrics.

What makes the Strava API hard to integrate directly

These are the things that turn an estimated one-week integration into a one-month one.

The API agreement is unusually restrictive

Strava limits aggregate analysis, cross-athlete display, and use of the data to train models. Several products have been cut off retroactively. Confirm your use case is permitted before building on it.

Rate limits are low and shared

Limits apply per application, not per user, so a large user base hits them together. Streams are especially expensive — fetch them only when you actually need the trace.

Activities are editable and deletable

A user can change an activity's type, privacy or title after upload, or delete it entirely. If you never process update and delete events your copy drifts out of sync with what the athlete sees.

FAQ

Strava API — frequently asked questions

Does Strava provide sleep or recovery data?
No. Strava is activity-only. If you need sleep or recovery alongside workouts, pair it with Oura, WHOOP, Garmin or Fitbit — WearLink merges them into one timeline per user.
How fast are Strava webhooks?
Typically within seconds of the activity being uploaded to Strava. This is the lowest-latency provider in the catalogue.
Can I use Strava data commercially?
Only within the terms of Strava's API agreement, which restricts several commercial and analytical uses. This is a legal question about your specific product, not a technical limit of the API.

Related

Other cloud integrations

Oura Ring API

Connectable now

The Oura Ring API (v2) is one of the cleaner wearable APIs to work with — the documentation is accurate and the daily-summary endpoints are stable. The complexity is not in reading it, it is in keeping it read: Oura backfills and revises data after the fact, so a sleep record you fetched this morning can legitimately change by this evening.

WHOOP API

Connectable now

WHOOP's developer API exposes the four objects the product is built around — cycles, recovery, sleep and workouts. The data is high quality and the model is coherent, which makes WHOOP a favourite for recovery and readiness products.

Fitbit API

Connectable now

Fitbit has the largest installed base of any dedicated wearable, which makes it the provider most consumer health products need first. It is also the API with the most historical baggage — the surface has accreted since 2011 and it shows in inconsistent date handling and endpoint shapes.

Withings API

Connectable now

Withings is the connected-scale and blood-pressure provider, which makes it the one that matters most for clinical-adjacent products — weight management, hypertension programmes, GLP-1 follow-up and remote patient monitoring. Its data is measurement-shaped rather than continuous: discrete readings taken when a user steps on a scale or straps on a cuff.

Garmin API

Provider onboarding

Garmin has the broadest data surface of any provider in the catalogue — if a metric exists in consumer wearables, a Garmin device probably measures it. For endurance, military, occupational-health and research use cases it is frequently non-negotiable.

Polar AccessLink API

Provider onboarding

Polar's AccessLink API serves a smaller but committed base — endurance athletes, coaching platforms and sports-science teams. Heart rate quality is the reason people choose it; Polar's chest straps remain a reference standard.

Start with Strava — free for up to 3 users

No credit card. Your API key is issued at sign-up, and the hosted connect flow works from the first request.