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.

Fitbit publishes 12 APIs on the APIs.io network, including Activity API, Heart Rate API, Sleep API, and 9 more. Tagged areas include Wearable, Health, Fitness, Activity Tracking, and Heart Rate.

The Fitbit catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 2 Spectral governance rulesets.

Fitbit’s developer surface includes authentication, developer portal, documentation, getting-started guide, support, signup flow, tooling, and 39 more developer resources.

61.2/100 strong ▬ flat Agent 68/100 agent native Full breakdown ↓
scored 2026-07-21 · rubric v0.4
12 APIs 18 Features
WearableHealthFitnessActivity TrackingHeart RateSleepGoogleIoT

API Rating

API Evangelist API Evangelist Rating How this is scored →
scored 2026-07-21 · rubric v0.4
Composite quality — 61.2/100 · strong
Contract Quality 17.0 / 25
Developer Ergonomics 10.4 / 20
Commercial Clarity 14.2 / 20
Operational Transparency 5.5 / 13
Governance 7.3 / 12
Discoverability 6.8 / 10
Agent readiness — 68/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/fitbit: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

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

Scroll for all 12

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

API Governance Rules

Fitbit API Rules

6 rules · 1 errors 4 warnings 1 info

SPECTRAL

Fitbit API Rules

5 rules · 3 warnings 2 info

SPECTRAL

Resources

Get Started 5

Portal, sign-up, and the first successful call

Documentation 7

Reference material describing how the API behaves

Scroll for all 7

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 9

SDKs, sample code, and the tooling you integrate with

Scroll for all 9

Access & Security 3

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Operate 7

Status, limits, changes, and where to get help

Scroll for all 7

Commercial 7

Pricing, plans, and the legal terms of use

Scroll for all 7

Company 4

The organization behind the API

Source (apis.yml)

apis.yml 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