Wahoo Fitness logo

Wahoo Fitness

Wahoo Fitness is an Atlanta, Georgia endurance-training hardware and software company building cycling and run-training products: the ELEMNT family of GPS bike computers (ACE, ROAM, BOLT), the KICKR family of smart trainers and bikes (KICKR BIKE PRO/SHIFT, KICKR MOVE, KICKR CORE, KICKR ROLLR, KICKR RUN treadmill), TICKR and TRACKR heart-rate monitors and sensors (including TRACKR RADAR rear-facing radar), and SPEEDPLAY road and power pedals. Wahoo publishes a public Cloud API at api.wahooligan.com that allows third-party applications to authenticate Wahoo users via OAuth 2.0 and read/write user profiles, workouts, workout summaries, FIT-file uploads, structured workout plans, GPS routes, and cycling power zones. The Cloud API delivers workout_summary webhook events when the offline_data scope is granted. Companion AppleHealth / native iOS and Android APIs round out the developer surface; access is gated by the Wahoo API Agreement and an app-approval workflow that promotes integrations from sandbox to production.

3 APIs 0 Features
FitnessCyclingEndurance TrainingBike ComputersSmart TrainersIndoor CyclingHeart RatePower MetersGPSWearablesHardwareFIT FilesWebhooksOAuth

APIs

Wahoo Cloud API

OAuth 2.0 REST API that connects Wahoo users to third-party mobile and web applications. Manages user profiles, workouts, workout summaries, FIT-file uploads, structured workout...

Wahoo iOS API

Native iOS SDK for interacting with Wahoo devices directly over BLE/ANT+ and integrating with the Wahoo Cloud. Documented at the Wahoo developer portal under the iOS product. Ac...

Wahoo Android API

Native Android SDK for interacting with Wahoo devices over BLE/ANT+ and integrating with the Wahoo Cloud. Documented at the Wahoo developer portal under the Android product. Acc...

Event Specifications

Wahoo Cloud Webhooks

Wahoo Cloud delivers `workout_summary` webhook events to a callback URL registered against a developer application. Webhooks require the `offline_data` OAuth scope. Failed deliv...

ASYNCAPI

Semantic Vocabularies

Wahoo Context

0 classes · 6 properties

JSON-LD

Resources

🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
APIReference
APIReference
🔗
APIAgreement
APIAgreement
👥
GitHub
GitHub
💬
Support
Support
🎓
TrainingApp
TrainingApp
🔗
WahooX
WahooX
📰
Blog
Blog
🔗
Twitter
Twitter
🔗
Instagram
Instagram
👥
YouTube
YouTube
🔗
LinkedIn
LinkedIn

Sources

Raw ↑
aid: wahoo
name: Wahoo Fitness
description: >-
  Wahoo Fitness is an Atlanta, Georgia endurance-training hardware and software company building cycling and
  run-training products: the ELEMNT family of GPS bike computers (ACE, ROAM, BOLT), the KICKR family of smart trainers
  and bikes (KICKR BIKE PRO/SHIFT, KICKR MOVE, KICKR CORE, KICKR ROLLR, KICKR RUN treadmill), TICKR and TRACKR
  heart-rate monitors and sensors (including TRACKR RADAR rear-facing radar), and SPEEDPLAY road and power pedals. Wahoo
  publishes a public Cloud API at api.wahooligan.com that allows third-party applications to authenticate Wahoo users
  via OAuth 2.0 and read/write user profiles, workouts, workout summaries, FIT-file uploads, structured workout plans,
  GPS routes, and cycling power zones. The Cloud API delivers workout_summary webhook events when the offline_data scope
  is granted. Companion AppleHealth / native iOS and Android APIs round out the developer surface; access is gated by
  the Wahoo API Agreement and an app-approval workflow that promotes integrations from sandbox to production.
type: Index
position: Provider
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
  - Fitness
  - Cycling
  - Endurance Training
  - Bike Computers
  - Smart Trainers
  - Indoor Cycling
  - Heart Rate
  - Power Meters
  - GPS
  - Wearables
  - Hardware
  - FIT Files
  - Webhooks
  - OAuth
url: https://raw.githubusercontent.com/api-evangelist/wahoo/refs/heads/main/apis.yml
created: '2026-05-25'
modified: '2026-05-25'
specificationVersion: '0.20'
apis:
  - aid: wahoo:wahoo-cloud-api
    name: Wahoo Cloud API
    tags:
      - Fitness
      - Cycling
      - Workouts
      - OAuth
    humanURL: https://cloud-api.wahooligan.com/
    baseURL: https://api.wahooligan.com
    description: >-
      OAuth 2.0 REST API that connects Wahoo users to third-party mobile and web applications. Manages user profiles,
      workouts, workout summaries, FIT-file uploads, structured workout plans, GPS routes, and cycling power zones.
      Delivers workout_summary webhook events when offline_data scope is granted. Sandbox apps are promoted to
      production after Wahoo review.
    properties:
      - type: Documentation
        url: https://cloud-api.wahooligan.com/
      - type: Documentation
        url: https://developers.wahooligan.com/cloud
      - type: SignUp
        url: https://developers.wahooligan.com/
      - type: TermsOfService
        url: https://www.wahoofitness.com/wahoo-api-agreement
      - type: OpenAPI
        url: openapi/wahoo-cloud-api-openapi.yml
      - type: AsyncAPI
        url: asyncapi/wahoo-webhooks-asyncapi.yml
      - type: JSONSchema
        url: json-schema/wahoo-workout-schema.json
      - type: JSONSchema
        url: json-schema/wahoo-workout-summary-schema.json
      - type: JSONLD
        url: json-ld/wahoo-context.jsonld
      - type: Plans
        url: plans/wahoo-plans-pricing.yml
      - type: RateLimits
        url: rate-limits/wahoo-rate-limits.yml
      - type: Vocabulary
        url: vocabulary/wahoo-vocabulary.yml
      - type: Example
        url: examples/wahoo-workout-summary-event-example.json
      - type: Example
        url: examples/wahoo-power-zones-example.json
      - type: Webhook
        url: https://cloud-api.wahooligan.com/#webhooks
      - type: Authentication
        url: https://cloud-api.wahooligan.com/#authentication
    contact:
      - FN: Wahoo Developer Support
        email: wahooapi@wahoofitness.com
        url: https://developers.wahooligan.com
  - aid: wahoo:wahoo-ios-api
    name: Wahoo iOS API
    tags:
      - Fitness
      - Cycling
      - iOS
      - SDK
    humanURL: https://developers.wahooligan.com/
    description: >-
      Native iOS SDK for interacting with Wahoo devices directly over BLE/ANT+ and integrating with the Wahoo Cloud.
      Documented at the Wahoo developer portal under the iOS product. Access is gated by the Wahoo API Agreement and an
      app-approval workflow.
    properties:
      - type: Documentation
        url: https://developers.wahooligan.com/
      - type: SignUp
        url: https://developers.wahooligan.com/
  - aid: wahoo:wahoo-android-api
    name: Wahoo Android API
    tags:
      - Fitness
      - Cycling
      - Android
      - SDK
    humanURL: https://developers.wahooligan.com/
    description: >-
      Native Android SDK for interacting with Wahoo devices over BLE/ANT+ and integrating with the Wahoo Cloud.
      Documented at the Wahoo developer portal under the Android product. Access is gated by the Wahoo API Agreement and
      an app-approval workflow.
    properties:
      - type: Documentation
        url: https://developers.wahooligan.com/
      - type: SignUp
        url: https://developers.wahooligan.com/
common:
  - type: Website
    url: https://www.wahoofitness.com/
  - type: DeveloperPortal
    url: https://developers.wahooligan.com/
  - type: APIReference
    url: https://cloud-api.wahooligan.com/
  - type: APIAgreement
    url: https://www.wahoofitness.com/wahoo-api-agreement
  - type: GitHub
    url: https://github.com/wahoofitness
  - type: Support
    url: https://support.wahoofitness.com/
  - type: TrainingApp
    url: https://www.wahoofitness.com/devices/training-app
  - type: WahooX
    url: https://wahooxsystm.com/
  - type: Blog
    url: https://www.wahoofitness.com/blog
  - type: Twitter
    url: https://twitter.com/wahoofitness
  - type: Instagram
    url: https://www.instagram.com/wahoofitness/
  - type: YouTube
    url: https://www.youtube.com/user/WahooFitness
  - type: LinkedIn
    url: https://www.linkedin.com/company/wahoo-fitness/
properties:
  - type: PrimaryDomain
    value: Fitness
  - type: SecondaryDomain
    value: Cycling
  - type: AuthenticationStandard
    value: OAuth 2.0 (Authorization Code + PKCE)
  - type: WebhookStandard
    value: Custom JSON POST (workout_summary)
  - type: DataFormat
    value: JSON
  - type: DeviceDataFormat
    value: FIT
  - type: PrimaryAudience
    value: Endurance Athletes
  - type: SecondaryAudience
    value: Coaches And Training Platforms
solutions:
  - Sync Wahoo workouts into a third-party training platform.
  - Push structured workout plans from a coaching service into a user's ELEMNT bike computer.
  - Push GPS routes from a route-planning service into a user's ELEMNT bike computer for turn-by-turn navigation.
  - Maintain cycling power zones synced to FTP test results.
  - Stream workout_summary webhook events into an analytics, coaching, or social-fitness platform.
  - Upload raw FIT files captured by non-Wahoo devices into a user's Wahoo workout history.
useCases:
  - Coaching platforms (TrainingPeaks, intervals.icu-style, custom).
  - Social fitness platforms ingesting completed rides/runs.
  - Route-planning services pushing courses to ELEMNT computers.
  - Indoor-training applications synchronizing power zones and FTP.
  - Health platforms aggregating workouts across vendors.
integrations:
  - aid: garmin
    name: Garmin (FIT-file format interoperability)
  - aid: strava
    name: Strava (workout sync via third-party bridges)
  - aid: trainingpeaks
    name: TrainingPeaks (plan and workout interoperability)
  - aid: zwift
    name: Zwift (KICKR trainer control over BLE/ANT+ FE-C; outside the Cloud API)
  - aid: apple-health
    name: Apple Health (via iOS app)
features:
  - OAuth 2.0 with PKCE for public apps.
  - Sandbox-to-production app approval workflow.
  - Webhooks with exponential-backoff retry (30m / 4h / 24h / 72h).
  - Pagination via page and per_page query parameters.
  - Asynchronous FIT-file ingestion with polling token.
  - Per-user active-token cap (10 unrevoked tokens per user as of 2026-01-01).
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com