Fitbit integrationFitbit logo

Fitbit integration for AI agents.

Fitbit integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Fitbit tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Fitbit actions, managed and audited.

Your user connects Fitbit once; your agent can then secure AI-agent actions — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Fitbit access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Fitbit tools.

122 tools are generated from the published Fitbit catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 122 tools. All published catalog entries are included in this page's server-rendered HTML.

Log Activity
The Log Activity endpoint creates log entry for an activity or user's private custom activity using units in the unit system which corresponds to the Accept-Language header provided (or using optional custom distanceUnit) and get a response in the format requested.
Activity
Add Alarm
Adds the alarm settings to a given ID for a given device.
Devices
Log Body Fat
Creates a log entry for body fat and returns a response in the format requested.
Body
Add Favorite Activity
Adds the activity with the given ID to user's list of favorite activities.
Activity
Add Favorite Food
Updates a user's daily activity goals and returns a response using units in the unit system which corresponds to the Accept-Language header provided.
Nutrition
Create Food
Creates a new private food for a user and returns a response in the format requested. The created food is found via the Search Foods call.
Nutrition
Log Food
Creates food log entries for users with or without foodId value.
Nutrition
Create Meal
Creates a meal with the given food contained in the post body.
Nutrition
Log Sleep
Creates a log entry for a sleep event and returns a response in the format requested.
Sleep
Add a Subscription
Adds a subscription in your application so that users can get notifications and return a response in the format requested. The subscription-id value provides a way to associate an update with a particular user stream in your application.
Subscriptions
Update Activity Goals
Updates a user's daily or weekly activity goals and returns a response using units in the unit system which corresponds to the Accept-Language header provided.
Activity
Update Food Goal
Updates a user's daily calories consumption goal or food plan and returns a response in the format requested.
Nutrition
Update Water Goal
Updates a user's daily calories consumption goal or food plan and returns a response in the format requested.
Nutrition
Log Water
Creates a log entry for water using units in the unit systems that corresponds to the Accept-Language header provided.
Nutrition
Log Weight
Creates log entry for a body weight using units in the unit systems that corresponds to the Accept-Language header provided and gets a response in the format requested.
Body
Delete Activity Log
Deletes a user's activity log entry with the given ID.
Activity
Delete Alarm
Deletes the user's device alarm entry with the given ID for a given device.
Devices
Delete Body Fat Log
Deletes a user's body fat log entry with the given ID.
Body
Delete Favorite Activity
Removes the activity with the given ID from a user's list of favorite activities.
Activity
Delete Favorite Food
Deletes a food with the given ID to the user's list of favorite foods.
Nutrition
Delete Custom Food
Deletes custom food for a user and returns a response in the format requested.
Nutrition
Delete Food Log
Deletes a user's food log entry with the given ID.
Nutrition
Delete Meal
Deletes a user's meal with the given meal id.
Nutrition
Delete Sleep Log
Deletes a user's sleep log entry with the given ID.
Sleep
Delete a Subscription
Deletes a subscription for a user..
Subscriptions
Delete Water Log
Deletes a user's water log entry with the given ID.
Nutrition
Delete Weight Log
Deletes a user's body weight log entrywith the given ID.
Body
Edit Food Log
The Edit Food Log endpoint changes the quantity or calories consumed for a user's food log entry with the given Food Log ID.
Nutrition
Get Activity Summary by Date
Retrieves a summary and list of a user's activities and activity log entries for a given day.
Activity
Get Activity Goals
Retreives a user's current daily or weekly activity goals using measurement units as defined in the unit system, which corresponds to the Accept-Language header provided.
Activity
Get Lifetime Stats
Updates a user's daily activity goals and returns a response using units in the unit system which corresponds to the Accept-Language header provided.
Activity
Get Activity Log List
Retreives a list of user's activity log entries before or after a given day with offset and limit using units in the unit system which corresponds to the Accept-Language header provided.
Activity
Get Intraday Time Series
Returns the Intraday Time Series for a given resource in the format requested.
Activity Intraday Time Series
Get Activity Time Series
Returns time series data in the specified range for a given resource in the format requested using units in the unit system that corresponds to the Accept-Language header provided.
Activity Time Series
Get Activity Resource by Date Range
Returns activities time series data in the specified range for a given resource.
Activity Time Series
Get Activity Intraday Time Series
Returns the Activity Intraday Time Series for a given resource in the format requested.
Activity Intraday Time Series
Get Activity Intraday Time Series
Returns the Intraday Time Series for a given resource in the format requested.
Activity Intraday Time Series
Get Intraday Time Series
Returns the Intraday Time Series for a given resource in the format requested.
Activity Intraday Time Series
Get Activity TCX
Retreives the details of a user's location and heart rate data during a logged exercise activity.
Activity
Get Activity Time Series
Returns time series data in the specified range for a given resource in the format requested using units in the unit system that corresponds to the Accept-Language header provided.
Activity Time Series
Get Activity Tracker Resource by Date Range Time Series
Returns time series data in the specified range for a given resource.
Activity Time Series
Get Activity Type
Returns the detail of a specific activity in the Fitbit activities database in the format requested. If activity has levels, it also returns a list of activity level details.
Activity
Browse Activity Types
Retreives a tree of all valid Fitbit public activities from the activities catelog as well as private custom activities the user created in the format requested.
Activity
Get Alarms
Returns alarms for a device
Devices
Get AZM Intraday by Date
Returns the active zone minutes intraday data for a 24 hour period by specifying a date and/or time range.
Active Zone Minutes Intraday Time Series
Get AZM Intraday by Date
Returns the active zone minutes intraday data for a 24 hour period by specifying a date and/or time range.
Active Zone Minutes Intraday Time Series
Get AZM Intraday by Interval
Returns the active zone minutes intraday data for a 24 hour period by specifying a date range and/or time range.
Active Zone Minutes Intraday Time Series
Get AZM Intraday by Interval
Returns the active zone minutes intraday data for a 24 hour period by specifying a date range and/or time range.
Active Zone Minutes Intraday Time Series
Get AZM Time Series by Date
Returns the daily summary values over a period of time by specifying a date and time period.
Active Zone Minutes Time Series
Get AZM Time Series by Interval
Returns the daily summary values over an interval by specifying a date range.
Active Zone Minutes Time Series
Get Badges
Retrieves the user's badges in the format requested. Response includes all badges for the user as seen on the Fitbit website badge locker (both activity and weight related.) The endpoint returns weight and distance badges based on the user's unit profile preference as on the website.
User
Get Body Fat Logs
Retreives a list of all user's body fat log entries for a given day in the format requested.
Body
Get Body Fat Logs
Retreives a list of all user's body fat log entries for a given day in the format requested.
Body
Get Body Fat Logs
Retreives a list of all user's body fat log entries for a given day in the format requested.
Body
Get Body Goals
Retreives a user's current body fat percentage or weight goal using units in the unit systems that corresponds to the Accept-Language header providedin the format requested.
Body
Get Body Time Series
Returns time series data in the specified range for a given resource in the format requested using units in the unit system that corresponds to the Accept-Language header provided.
Body Time Series
Get Body Time Series
Returns time series data in the specified range for a given resource in the format requested using units in the unit system that corresponds to the Accept-Language header provided.
Body Time Series
Get Breathing Rate Intraday by Date
This endpoint returns intraday breathing rate data for a single date. It measures the average breathing rate throughout the day and categories your breathing rate by sleep stage. Sleep stages vary between light sleep, deep sleep, REM sleep, and full sleep.
Breathing Rate Intraday
Get Breathing Rate Intraday by Interval
This endpoint returns intraday breathing rate data for a date range. It measures the average breathing rate throughout the day and categories your breathing rate by sleep stage. Sleep stages vary between light sleep, deep sleep, REM sleep, and full sleep.
Breathing Rate Intraday
Get Breathing Rate Summary by Date
This endpoint returns average breathing rate data for a single date. Breathing Rate data applies specifically to a user’s “main sleep,” which is the longest single period of time during which they were asleep on a given date.
Breathing Rate
Get Breathing Rate Summary by Interval
This endpoint returns average breathing rate data for a date range. Breathing Rate data applies specifically to a user’s “main sleep,” which is the longest single period of time during which they were asleep on a given date.
Breathing Rate
Get Devices
Returns a list of the Fitbit devices connected to a user's account.
Devices
Get ECG Log List
This endpoint is used for querying the user's on-device ECG readings.
Electrocardiogram
Get Favorite Activities
Returns a list of a user's favorite activities.
Activity
Get Favorite Foods
Returns a list of a user's favorite foods in the format requested. A favorite food in the list provides a quick way to log the food via the Log Food endpoint.
Nutrition
Get Food Logs
Retreives a summary and list of a user's food log entries for a given day in the format requested.
Nutrition
Get Food or Water Time Series
Updates a user's daily activity goals and returns a response using units in the unit system which corresponds to the Accept-Language header provided.
Nutrition Time Series
Get Food Goals
Returns a user's current daily calorie consumption goal and/or foodPlan value in the format requested.
Nutrition
Get Food
Returns the details of a specific food in the Fitbit food databases or a private food that an authorized user has entered in the format requested.
Nutrition
Search Foods
Returns a list of public foods from the Fitbit food database and private food the user created in the format requested.
Nutrition
Get Food Locales
Returns the food locales that the user may choose to search, log, and create food in.
Nutrition
Get Food or Water Time Series
Updates a user's daily activity goals and returns a response using units in the unit system which corresponds to the Accept-Language header provided.
Nutrition Time Series
Get Food Units
Returns a list of all valid Fitbit food units in the format requested.
Nutrition
Get Frequent Activities
Retreives a list of a user's frequent activities in the format requested using units in the unit system which corresponds to the Accept-Language header provided.
Activity
Get Frequent Foods
Returns a list of a user's frequent foods in the format requested. A frequent food in the list provides a quick way to log the food via the Log Food endpoint.
Nutrition
Get Friends
Returns data of a user's friends in the format requested using units in the unit system which corresponds to the Accept-Language header provided.
Friends
Get Friends Leaderboard
Returns data of a user's friends in the format requested using units in the unit system which corresponds to the Accept-Language header provided.
Friends
Get Heart Rate Intraday Time Series
Returns the intraday time series for a given resource in the format requested. If your application has the appropriate access, your calls to a time series endpoint for a specific day (by using start and end dates on the same day or a period of 1d), the response will include extended intraday values with a one-minute detail level for that day. Unlike other time series calls that allow fetching data of other users, intraday data is available only for and to the authorized user.
Heart Rate Intraday Time Series
Get Heart Rate Time Series
Returns the time series data in the specified range for a given resource in the format requested using units in the unit systems that corresponds to the Accept-Language header provided.
Heart Rate Time Series
Get Heart Rate Time Series
Returns the time series data in the specified range for a given resource in the format requested using units in the unit systems that corresponds to the Accept-Language header provided.
Heart Rate Time Series
Get Heart Rate Intraday Time Series
Returns the intraday time series for a given resource in the format requested. If your application has the appropriate access, your calls to a time series endpoint for a specific day (by using start and end dates on the same day or a period of 1d), the response will include extended intraday values with a one-minute detail level for that day. Unlike other time series calls that allow fetching data of other users, intraday data is available only for and to the authorized user.
Heart Rate Intraday Time Series
Get Heart Rate Intraday Time Series
Returns the intraday time series for a given resource in the format requested. If your application has the appropriate access, your calls to a time series endpoint for a specific day (by using start and end dates on the same day or a period of 1d), the response will include extended intraday values with a one-minute detail level for that day. Unlike other time series calls that allow fetching data of other users, intraday data is available only for and to the authorized user.
Heart Rate Intraday Time Series
Get Heart Rate Intraday Time Series
Returns the intraday time series for a given resource in the format requested. If your application has the appropriate access, your calls to a time series endpoint for a specific day (by using start and end dates on the same day or a period of 1d), the response will include extended intraday values with a one-minute detail level for that day. Unlike other time series calls that allow fetching data of other users, intraday data is available only for and to the authorized user.
Heart Rate Intraday Time Series
Get HRV Intraday by Date
This endpoint returns the Heart Rate Variability (HRV) intraday data for a single date. HRV data applies specifically to a user’s “main sleep,” which is the longest single period of time asleep on a given date.
Heart Rate Variability Intraday
Get HRV Intraday by Interval
This endpoint returns the Heart Rate Variability (HRV) intraday data for a single date. HRV data applies specifically to a user’s “main sleep,” which is the longest single period of time asleep on a given date.
Heart Rate Variability Intraday
Get HRV Summary by Date
This endpoint returns the Heart Rate Variability (HRV) data for a single date. HRV data applies specifically to a user’s “main sleep,” which is the longest single period of time asleep on a given date.
Heart Rate Variability
Get HRV Summary by Interval
This endpoint returns the Heart Rate Variability (HRV) data for a date range. HRV data applies specifically to a user’s “main sleep,” which is the longest single period of time asleep on a given date.
Heart Rate Variability
Get IRN Alerts List
This endpoint returns a paginated list of Irregular Rhythm Notifications (IRN) alerts, as well as all of the alert tachograms. This endpoint will only return alerts that the user has read in the Fitbit app already, as that is meant as the primary entrypoint for viewing notifications.
Irregular Rhythm Notifications
Get IRN Profile
This endpoint returns the user state for Irregular Rhythm Notifications (IRN). The user state contains most information about the user’s current engagement with the feature, including onboarding progress and algorithm processing state.
Irregular Rhythm Notifications
Get Meals
Returns a list of meals created by user in the user's food log in the format requested. User creates and manages meals on the Food Log tab on the website.
Nutrition
Get Profile
Returns a user's profile. The authenticated owner receives all values. However, the authenticated user's access to other users' data is subject to those users' privacy settings. Numerical values are returned in the unit system specified in the Accept-Language header.
User
Get Recent Activity Types
Retreives a list of a user's recent activities types logged with some details of the last activity log of that type using units in the unit system which corresponds to the Accept-Language header provided.
Activity
Get Recent Foods
Returns a list of a user's frequent foods in the format requested. A frequent food in the list provides a quick way to log the food via the Log Food endpoint.
Nutrition
Get Sleep Log
The Get Sleep Logs by Date endpoint returns a summary and list of a user's sleep log entries (including naps) as well as detailed sleep entry data for a given day.
Sleep
Get Sleep Logs by Date Range
The Get Sleep Logs by Date Range endpoint returns a list of a user's sleep log entries (including naps) as well as detailed sleep entry data for a given date range (inclusive of start and end dates).
Sleep
Get Sleep Goal
Returns the user's sleep goal.
Sleep
Get Sleep Logs List
The Get Sleep Logs List endpoint returns a list of a user's sleep logs (including naps) before or after a given day with offset, limit, and sort order.
Sleep
Get SpO2 Intraday by Date
This endpoint returns the SpO2 intraday data for a single date. SpO2 applies specifically to a user’s “main sleep”, which is the longest single period of time asleep on a given date.
SpO2 Intraday
Get SpO2 Intraday by Interval
This endpoint returns the SpO2 intraday data for a specified date range. SpO2 applies specifically to a user’s “main sleep”, which is the longest single period of time asleep on a given date.
SpO2 Intraday
Get SpO2 Summary by Date
This endpoint returns the SpO2 summary data for a single date. SpO2 applies specifically to a user’s “main sleep”, which is the longest single period of time asleep on a given date.
SpO2
Get SpO2 Summary by Interval
This endpoint returns the SpO2 summary data for a date range. SpO2 applies specifically to a user’s “main sleep”, which is the longest single period of time asleep on a given date.
SpO2
Get a List of Subscriptions
Retreives a list of a user's subscriptions for your application in the format requested. You can either fetch subscriptions for a specific collection or the entire list of subscriptions for the user. For best practice, make sure that your application maintains this list on your side and use this endpoint only to periodically ensure data consistency.
Subscriptions
Get Temperature (Core) Summary by Date
Returns the Temperature (Core) data for a single date. Temperature (Core) data applies specifically to data logged manually by the user throughout the day.
Temperature
Get Temperature (Core) Summary by Interval
Returns Temperature (Core) data for a date range. Temperature (Core) data applies specifically to data logged manually by the user throughout the day and the maximum date range cannot exceed 30 days.
Temperature
Get Temperature (Skin) Summary by Interval
Returns Temperature (Skin) data for a date range. It only returns a value for dates on which the Fitbit device was able to record Temperature (skin) data and the maximum date range cannot exceed 30 days.
Temperature
Get Temperature (Skin) Summary by Date
Returns the Temperature (Skin) data for a single date. Temperature (Skin) data applies specifically to a user’s “main sleep”, which is the longest single period of time asleep on a given date.
Temperature
Get VO2 Max Summary by Date
This endpoint returns the Cardio Fitness Score (VO2 Max) data for a single date. VO2 Max values will be shown as a range if no run data is available or a single numeric value if the user uses a GPS for runs.
Cardio Fitness Score (VO2 Max)
Get VO2 Max Summary by Interval
This endpoint returns the Cardio Fitness Score (VO2 Max) data for a date range. VO2 Max values will be shown as a range if no run data is available or a single numeric value if the user uses a GPS for runs.
Cardio Fitness Score (VO2 Max)
Get Water Logs
Retreives a summary and list of a user's water log entries for a given day in the requested using units in the unit system that corresponds to the Accept-Language header provided.
Nutrition
Get Water Goal
Retreives a summary and list of a user's water goal entries for a given day in the requested using units in the unit system that corresponds to the Accept-Language header provided.
Nutrition
Get Weight Logs
Retreives a list of all user's body weight log entries for a given day using units in the unit systems which corresponds to the Accept-Language header provided.
Body
Get Body Fat Logs
Retreives a list of all user's body weight log entries for a given day in the format requested.
Body
Get Body Fat Logs
Retreives a list of all user's body fat log entries for a given day in the format requested.
Body
Retrieve the active state of an OAuth 2.0 token
Retrieves the active state of an OAuth 2.0 token. It follows https://tools.ietf.org/html/rfc7662.
Authorization
Get OAuth 2 access token
Retrieves an OAuth 2 access token.
Authorization
Revokes consent of the access token or refresh token
Revokes consent of the access token or refresh token
Authorization
Update Alarm
Updates the alarm entry with a given ID for a given device. It also gets a response in the format requested.
Devices
Update Body Fat Goal
Updates user's fat percentage goal.
Body
Update Meal
Replaces an existing meal with the contents of the request. The response contains the updated meal.
Nutrition
Update Sleep Goal
Create or update the user's sleep goal and get a response in the JSON format.
Sleep
Update Water Log
Updates a user's water log entry with the given ID.
Nutrition
Update Weight Goal
Updates user's fat percentage goal.
Body
FAQ

Fitbit integration, answered

How do AI agents use Fitbit through Open Connector?
Your user connects Fitbit once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Fitbit tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Fitbit MCP server?
Yes. Open Connector can serve Fitbit as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Fitbit actions with credentials injected server-side.
Where do Fitbit credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Fitbit — keep the keys.

Open source, self-hostable, with Fitbit credentials that never leave your infrastructure. Run it from source today.