Fitbit website screenshot

Fitbit

Fitbit is a wearable health and fitness platform — devices (trackers, smartwatches, smart scales) plus a companion mobile app and cloud data services. Founded in 2007 and acquired by Google in January 2021, Fitbit is now operated as part of Google's hardware portfolio alongside the Pixel Watch. The Fitbit Web API exposes user activity, exercise, heart rate (including intraday and HRV), sleep with stage breakdowns, body and weight, nutrition and water, devices, friends and leaderboards, and advanced sensor metrics — SpO2, breathing rate, skin and core temperature, ECG, Irregular Rhythm Notifications, and Cardio Fitness Score (VO2 Max). Authentication is OAuth 2.0 Authorization Code Grant with PKCE; default quota is 150 requests per hour per authorized user per app. A webhook subscription system streams sync notifications for the activities, body, foods, sleep, and userRevokedAccess collections. The Fitbit OS SDK lets developers ship apps and clock faces directly to Versa, Sense, and other Fitbit devices using JavaScript/CSS/SVG. The legacy Fitbit Web API is scheduled for deprecation in September 2026; new and migrated integrations should target the successor Google Health API at developers.google.com/health, which uses Google OAuth 2.0 and Google's modern infrastructure.

12 APIs 18 Features
WearableHealthFitnessActivity TrackingHeart RateSleepGoogleIoT

APIs

Fitbit Activity API

Read and write user activity, exercise logs, daily activity summaries (steps, distance, calories, floors, elevation), activity goals, the Fitbit exercise catalog, and Active Zon...

Fitbit Heart Rate API

Retrieve heart rate time series including resting heart rate, custom and default heart rate zones, and zone-minute breakdowns. Intraday endpoints expose 1-second, 1-minute, 5-mi...

Fitbit Sleep API

Read, log, and delete sleep records with stage breakdowns (light, deep, REM, wake), sleep efficiency, time in bed, minutes asleep, minutes awake, and minutes to fall asleep. Sup...

Fitbit Body API

Read and write weight and body fat log entries, BMI time series, and body weight / body fat goals. Aria scales and manual logs both flow into this surface.

Fitbit Nutrition API

Read and write food, water, and meal logs; access the Fitbit foods database (search, get by ID, create custom foods); manage meal goals, favorites, and frequent foods; and read ...

Fitbit User API

Read and update the authorized Fitbit user's profile including display name, gender, birthday, height, weight, locale, timezone, and unit preferences (distance, weight, water, g...

Fitbit Devices API

List paired Fitbit devices, retrieve battery level and last sync timestamps, identify the device model (deviceVersion), and create, update, and delete tracker alarms.

Fitbit Subscriptions API

Webhook-based notification system. Subscribe per user to the activities, body, foods, sleep, or userRevokedAccess collections; Fitbit POSTs to your registered Subscriber endpoin...

Fitbit Friends API

Read the authorized user's Fitbit friends list and weekly friends leaderboard rankings.

Fitbit SpO2, Breathing Rate, Temperature, HRV, and Cardio Fitness API

Advanced sensor readings from supported Fitbit devices — SpO2 (blood oxygen saturation), Breathing Rate, Skin Temperature and Core Temperature variation, Heart Rate Variability ...

Fitbit ECG and Irregular Rhythm Notifications API

Access Electrocardiogram (ECG) readings recorded on Fitbit Sense, Sense 2, and Charge 5/6 devices, and access Irregular Rhythm Notifications (IRN) including alerts and feature e...

Fitbit Authorization API

OAuth 2.0 authorization endpoints. Supports Authorization Code Grant with PKCE (recommended), Authorization Code Grant, Implicit Grant, and Client Credentials (for Fitbit Commer...

Collections

GraphQL

Fitbit GraphQL Schema

Conceptual GraphQL schema for the Fitbit Web API — a wearable health and fitness platform acquired by Google in January 2021 and now part of Google's hardware portfolio alongsid...

GRAPHQL

Pricing Plans

Fitbit Plans Pricing

6 plans

PLANS

Rate Limits

Fitbit Rate Limits

2 limits

RATE LIMITS

FinOps

Fitbit Finops

FINOPS

Features

Wearable-native API surface covering activity, exercise, heart rate, sleep, body, nutrition, devices, and social
Advanced sensor data — SpO2, breathing rate, skin and core temperature, heart rate variability (RMSSD), VO2 Max
Electrocardiogram (ECG) readings and Irregular Rhythm Notifications (IRN) on supported devices
Active Zone Minutes (AZM) as Fitbit's modern engagement metric
Time-series endpoints with day, week, month, quarter, half-year, and year periods
Intraday endpoints (1-second / 1-minute / 5-minute / 15-minute resolution) on case-by-case approval
Webhook subscriptions for activities, body, foods, sleep, and userRevokedAccess — eliminates polling
OAuth 2.0 Authorization Code Grant with PKCE, plus Implicit Grant and Client Credentials (Commerce only)
Fine-grained scopes — activity, heartrate, location, nutrition, profile, settings, sleep, social, weight, oxygen_saturation, respiratory_rate, temperature, electrocardiogram, irregular_rhythm_notifications, cardio_fitness
Three application types — Personal (developer's own data), Client (mobile/single-page), Server (multi-user backend)
Default 150 requests-per-hour-per-user quota; 429 + Retry-After on overage
Fitbit OS SDK (JavaScript/CSS/SVG) for on-device apps and clock faces on Versa/Sense/Inspire/Charge devices
Fitbit SDK toolchain (TypeScript) and create-fitbit-app scaffolder published on GitHub
Fitbit Premium consumer tier ($9.99/month, $79.99/year) adds Daily Readiness, advanced sleep, mindfulness, workouts
Cross-platform mobile apps (iOS, Android) and Fitbit web dashboard
Acquired by Google in January 2021; now part of Google's hardware portfolio alongside Pixel Watch
Successor platform — Google Health API — launched on Google's modern infrastructure with Google OAuth 2.0
Legacy Fitbit Web API scheduled for turndown in September 2026; migration guides published on developers.google.com/health

Event Specifications

Fitbit Subscriptions Webhooks

Fitbit's Subscription API streams sync notifications to a registered Subscriber endpoint each time a user has new data available for a subscribed collection. Five collections ar...

ASYNCAPI

Semantic Vocabularies

Fitbit Context

0 classes · 10 properties

JSON-LD

Resources

🌐
Portal
Portal
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
💬
Support
Support
💻
ErrorCodes
ErrorCodes
💻
ErrorCodes
ErrorCodes
🔗
RateLimits
RateLimits
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📝
Signup
Signup
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
🔧
Tools
Tools
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔧
Tools
Tools
🔧
Tools
Tools
🔗
Plans
Plans
💰
Pricing
Pricing
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
👥
YouTube
YouTube
💬
Support
Support
🔗
Forums
Forums
🔗
Forums
Forums
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📄
ChangeLog
ChangeLog
📰
Blog
Blog
🌐
Portal
Portal
📰
Blog
Blog
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Fitbit User API
  version: '1'
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: https://www.fitbit.com/oauth2/authorize
    accessTokenUrl: https://api.fitbit.com/oauth2/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Get Profile
    type: http
  http:
    method: GET
    url: https://api.fitbit.com/1/user/:user-id/profile.json
    params:
    - name: user-id
      value: ''
      type: path
  docs: Retrieves the user's profile data.
- info:
    name: Update Profile
    type: http
  http:
    method: POST
    url: https://api.fitbit.com/1/user/:user-id/profile.json
    params:
    - name: user-id
      value: ''
      type: path
    - name: gender
      value: ''
      type: query
    - name: birthday
      value: ''
      type: query
    - name: height
      value: ''
      type: query
    - name: aboutMe
      value: ''
      type: query
    - name: fullname
      value: ''
      type: query
    - name: country
      value: ''
      type: query
    - name: state
      value: ''
      type: query
    - name: city
      value: ''
      type: query
    - name: timezone
      value: ''
      type: query
    - name: foodsLocale
      value: ''
      type: query
    - name: locale
      value: ''
      type: query
    - name: localeLang
      value: ''
      type: query
    - name: localeCountry
      value: ''
      type: query
    - name: startDayOfWeek
      value: ''
      type: query
  docs: Updates a user's profile using a form.
bundled: true