• 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

Intervals.icu API Integration

With Terra's Intervals.icu web API integration, your app receives the rides, runs and swims athletes analyze in Intervals.icu, together with the wellness they log each morning. Terra normalizes every session down to power, heart rate, cadence, GPS and training load, and POSTs it to your webhook.

Start Receiving Data From Intervals.icu In 5 Minutes

Intervals.icu

Intervals.icu

Enable Intervals.icu through your Terra dashboard

Select a Wearable

Intervals.icu

Intervals.icu

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 Intervals.icu on your app or website

How the Intervals.icu API integration works

Data delivery
Terra polls Intervals.icu
Expected latency
Up to 5–10 minutes after the provider syncs
Data types
Activity, Body, Daily, Menstruation, Nutrition and Sleep
Credentials
No provider credentials required

Two ways to receive Intervals.icu data

When data is available from an Intervals.icu 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.

Intervals.icu 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.

Intervals.icu'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

Intervals.icu's Available Data Types

Activity Payload (JSON)

{

MET_data: { ... }

active_durations_data: { ... }

calories_data: { ... }

data_enrichment: { ... }

distance_data: { ... }

energy_data: { ... }

heart_rate_data: { ... }

metadata: { ... }

oxygen_data: { ... }

work_data: { ... }

}

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

Send Intervals.icu 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 access Intervals.icu data through an API?

Your athlete connects their Intervals.icu account through the Terra widget by pasting the API key from their Intervals.icu developer settings. Terra then reads their activities and wellness records, normalizes both into standard payloads and POSTs them to your webhook.

How quickly does Intervals.icu data reach my app?

Terra polls Intervals.icu 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 Intervals.icu through Terra?

Through Terra's Intervals.icu integration, you can access activity, body, daily, menstruation, nutrition and sleep data. Activities carry the recorded time series for power, heart rate, cadence, speed, elevation and position, plus Intervals.icu's own training load and heart-rate zone breakdown. The daily wellness record covers resting heart rate, HRV, sleep duration and score, weight, body fat, blood pressure, SpO2, VO2 max, steps and logged macros.

What does an Intervals.icu activity payload contain?

The summary Intervals.icu computes — distance, moving time, average and maximum power and heart rate, cadence, elevation gain, calories and training load — alongside the full time series for power, heart rate, cadence, speed, elevation and GPS position, and the interval breakdown Intervals.icu detects for the session.

Can I read planned workouts from Intervals.icu?

Yes. Sessions on an athlete's Intervals.icu calendar come through as structured planned workouts, with each step's duration, distance and power, heart rate or cadence target resolved against that athlete's own thresholds where Intervals.icu has them.

Do I need Intervals.icu API credentials?

No provider credentials are required. Each athlete authenticates with their own Intervals.icu API key through the Terra widget.

Can't Find Your Question?

What devices are supported?

Terra API integrates with any Intervals.icu device currently supported by Intervals.icu.

Intervals.icu

Connect with our Intervals.icu Integration

Intervals.icu API alternatives

These integrations also offer Activity, Body and Sleep data.

Apple Health

Apple Health

Google Fit

Google Fit

Runkeeper

Runkeeper

Fitbit

Fitbit

TrainingPeaks

TrainingPeaks

Clue

Clue

Garmin

Garmin

Oura

Oura

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