• Unified API
  • Mobile SDK
  • Connection Widget
  • Streaming
  • Lab Reports API
  • Graph API
  • Health Scores
  • Health Rewards
  • Planned Workouts
  • Lab Testing
  • AI Interface
  • Enterprise
  • Insurance
  • Integrations
  • Research
  • Podcast
  • Blog
  • Reports
  • Events
  • Documentation
  • Community
  • Example apps
  • Wearable Data
  • About
  • Customers
  • Partners
  • Careers
  • Support
  • Pricing
Terra
Pricing
Become an integrationGet started

Zwift API Integration

Terra's Zwift API integration will allow your app to collect data from the Zwift platform, and gain insights into the number of calories burned for a user, the power they generate on their rides, and more. Through the Zwift API integration, your app can use these data keep users active, and pull detailed workout metrics for analysis.

Start Receiving Data From Zwift In 5 Minutes

Zwift

Zwift

Enable Zwift through your Terra dashboard

Select a Wearable

Zwift

Zwift

Connect users to your app

0. "active_durations_data":{...}
1. "calories_data": {...}
2. "device_data": {...}
3. "distance_data": {...}
4. "heart_rate_data": {...}
5. "movement_data": {...}
6. "position_data": {...}

Start receiving data from Zwift on your app or website

How the Zwift API integration works

Data delivery
Terra polls Zwift
Expected latency
Up to 5–10 minutes after the provider syncs
Data types
Activity
Credentials
No provider credentials required

Two ways to receive Zwift data

When data is available from a Zwift device, Terra sends it straight to your webhook. During your Terra account setup you'll be prompted for a callback URL, and that is where Terra POSTs each payload.

Zwift does not notify Terra when data changes, so Terra polls it every 5–10 minutes for each connected user and POSTs the normalized payload to your webhook.

Zwift's Activity
Payload Preview

Terra API preserves the raw data from the wearable, it just standardizes the units and the json format. It doesn’t augment or change the raw data in any way.

Data is organized into one of 6 data types.

Learn More

Zwift's Available Data Types

Activity Payload (JSON)

{

active_durations_data: { ... }

calories_data: { ... }

data_enrichment: { ... }

distance_data: { ... }

heart_rate_data: { ... }

metadata: { ... }

movement_data: { ... }

}

Data can also be sent as a FIT File or with the FHIR Format.

Send Zwift data to your backend

Terra forwards every normalized payload to the destination you already use.
WebhookWebhook
FirestoreFirestore
SQLSQL
Mongo DBMongo DB
Google Cloud Storage BucketGoogle Cloud Storage Bucket
WebhookWebhook
FirestoreFirestore
SQLSQL
Mongo DBMongo DB
Google Cloud Storage BucketGoogle Cloud Storage Bucket
AWS S3 BucketAWS S3 Bucket
AWS Simple Queue ServiceAWS Simple Queue Service
KafkaKafka
SupabaseSupabase
Azure BlobAzure Blob
AWS S3 BucketAWS S3 Bucket
AWS Simple Queue ServiceAWS Simple Queue Service
KafkaKafka
SupabaseSupabase
Azure BlobAzure Blob

People Often Ask Us...

How do I get Zwift ride data through an API?

Terra's Zwift integration handles the connection for you: your user links their Zwift account through the Terra widget, and Terra collects the rides and runs recorded on the Zwift platform, normalizes them into standard Activity payloads, and POSTs each one to your webhook.

How quickly does Zwift data reach my app?

Terra polls Zwift every 5–10 minutes for each connected user, so new data reaches your webhook within that window of a device sync.

What data is available from Zwift through Terra?

Through Terra's Zwift integration, you can access activity data.

What does a Zwift activity payload contain?

The metrics a virtual session is judged on — power generated across the ride, calories burned, distance and duration. Because Terra normalizes them, a Zwift ride lands in the same Activity shape as a ride recorded on a bike computer, so your analytics code stays one code path.

Do I need a Zwift developer account?

No provider credentials are required. Users authenticate with their own Zwift login through the Terra widget, and there is nothing to register with Zwift on your side.

Can't Find Your Question?

What devices are supported?

Terra API integrates with any Zwift device currently supported by Zwift.

Zwift

Connect with our Zwift Integration

Zwift API alternatives

These integrations also offer Activity data.

Strava

Strava

Catapult One

Catapult One

Concept2

Concept2

Decathlon

Decathlon

FinalSurge

FinalSurge

Hammerhead

Hammerhead

iFit

iFit

Insiders

Insiders

Ask, Learn, and Connect

Explore the community forum and connect to Terra API with ease.

Ask a Question

The world's best health apps run on Terra data

Get started
ProductsIntegrations AI Interface Authentication Mobile Development Documentation GraphAPI
DocumentationAPI SDK Quickstart
CommunityBlog Research Community Podcast Github
CompanyAboutCareersCustomersBecome an IntegrationCookies PolicyGDPRPrivacy PolicyTerms of Purchase
© Terra API. 2026 — All rights reserved.

Cookie Preferences

Essential CookiesAlways On
Advertisement Cookies
Analytics Cookies

Crunch Time: Embrace the Cookie Monster Within!

We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.

Cookies Policy