Fitbit provides a Web API for accessing data from Fitbit activity trackers, Aria scale, and manually entered logs. Anyone can develop an application to access and modify a Fitbit user's data on their behalf, so long as it complies with Fitbit Platform Terms of Service. These Swagger UI docs do not currently support making Fitbit API requests directly. In order to make a request, construct a request for the appropriate endpoint using this documentation, and then add an Authorization header to each request with an access token obtained using the steps outlined here: https://dev.fitbit.com/build/reference/web-api/developer-guide/authorization/.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 1
- Package version: 1.0.0
- Generator version: 7.14.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://dev.fitbit.com/build/reference/web-api/help/
Python 3.9+
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
(you may need to run pip
with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
)
Then import the package:
import fitbit_web_api
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import fitbit_web_api
Execute pytest
to run the tests.
Please follow the installation procedure and then run the following:
import fitbit_web_api
from fitbit_web_api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.fitbit.com
# See configuration.py for a list of all supported configuration parameters.
configuration = fitbit_web_api.Configuration(
host = "https://api.fitbit.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
configuration.access_token = os.environ["ACCESS_TOKEN"]
# Enter a context with an instance of the API client
async with fitbit_web_api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = fitbit_web_api.ActiveZoneMinutesIntradayTimeSeriesApi(api_client)
var_date = '2013-10-20' # date | The date in the format yyyy-MM-dd or today
detail_level = 'detail_level_example' # str | The detail for which data will be returned. **Supported:** 1min | 5min | 15min
try:
# Get AZM Intraday by Date
await api_instance.get_azmby_date_intraday(var_date, detail_level)
except ApiException as e:
print("Exception when calling ActiveZoneMinutesIntradayTimeSeriesApi->get_azmby_date_intraday: %s\n" % e)
All URIs are relative to https://api.fitbit.com
Class | Method | HTTP request | Description |
---|---|---|---|
ActiveZoneMinutesIntradayTimeSeriesApi | get_azmby_date_intraday | GET /1/user/-/activities/active-zone-minutes/date/{date}/1d/{detail-level}.json | Get AZM Intraday by Date |
ActiveZoneMinutesIntradayTimeSeriesApi | get_azmby_date_time_series_intraday | GET /1/user/-/activities/active-zone-minutes/date/{date}/1d/{detail-level}/time/{start-time}/{end-time}.json | Get AZM Intraday by Date |
ActiveZoneMinutesIntradayTimeSeriesApi | get_azmby_interval_intraday | GET /1/user/-/activities/active-zone-minutes/date/{start-date}/{end-date}/{detail-level}.json | Get AZM Intraday by Interval |
ActiveZoneMinutesIntradayTimeSeriesApi | get_azmby_interval_time_series_intraday | GET /1/user/-/activities/active-zone-minutes/date/{start-date}/{end-date}/time/{start-time}/{end-time}.json | Get AZM Intraday by Interval |
ActiveZoneMinutesTimeSeriesApi | get_azm_time_series_by_date | GET /1/user/-/activities/active-zone-minutes/date/{date}/{period}.json | Get AZM Time Series by Date |
ActiveZoneMinutesTimeSeriesApi | get_azm_time_series_by_interval | GET /1/user/-/activities/active-zone-minutes/date/{start-date}/{end-date}.json | Get AZM Time Series by Interval |
ActivityApi | add_activities_log | POST /1/user/-/activities.json | Log Activity |
ActivityApi | add_favorite_activities | POST /1/user/-/activities/favorite/{activity-id}.json | Add Favorite Activity |
ActivityApi | add_update_activities_goals | POST /1/user/-/activities/goals/{period}.json | Update Activity Goals |
ActivityApi | delete_activities_log | DELETE /1/user/-/activities/{activity-log-id}.json | Delete Activity Log |
ActivityApi | delete_favorite_activities | DELETE /1/user/-/activities/favorite/{activity-id}.json | Delete Favorite Activity |
ActivityApi | get_activities_by_date | GET /1/user/-/activities/date/{date}.json | Get Activity Summary by Date |
ActivityApi | get_activities_goals | GET /1/user/-/activities/goals/{period}.json | Get Activity Goals |
ActivityApi | get_activities_log | GET /1/user/-/activities.json | Get Lifetime Stats |
ActivityApi | get_activities_log_list | GET /1/user/-/activities/list.json | Get Activity Log List |
ActivityApi | get_activities_tcx | GET /1/user/-/activities/{log-id}.tcx | Get Activity TCX |
ActivityApi | get_activities_type_detail | GET /1/activities/{activity-id}.json | Get Activity Type |
ActivityApi | get_activities_types | GET /1/activities.json | Browse Activity Types |
ActivityApi | get_favorite_activities | GET /1/user/-/activities/favorite.json | Get Favorite Activities |
ActivityApi | get_frequent_activities | GET /1/user/-/activities/frequent.json | Get Frequent Activities |
ActivityApi | get_recent_activities | GET /1/user/-/activities/recent.json | Get Recent Activity Types |
ActivityIntradayTimeSeriesApi | get_activities_resource_by_date_intraday | GET /1/user/-/activities/{resource-path}/date/{date}/1d/{detail-level}.json | Get Intraday Time Series |
ActivityIntradayTimeSeriesApi | get_activities_resource_by_date_range_intraday | GET /1/user/-/activities/{resource-path}/date/{base-date}/{end-date}/{detail-level}.json | Get Activity Intraday Time Series |
ActivityIntradayTimeSeriesApi | get_activities_resource_by_date_range_time_series_intraday | GET /1/user/-/activities/{resource-path}/date/{date}/{end-date}/{detail-level}/time/{start-time}/{end-time}.json | Get Activity Intraday Time Series |
ActivityIntradayTimeSeriesApi | get_activities_resource_by_date_time_series_intraday | GET /1/user/-/activities/{resource-path}/date/{date}/1d/{detail-level}/time/{start-time}/{end-time}.json | Get Intraday Time Series |
ActivityTimeSeriesApi | get_activities_resource_by_date_period | GET /1/user/-/activities/{resource-path}/date/{date}/{period}.json | Get Activity Time Series |
ActivityTimeSeriesApi | get_activities_resource_by_date_range | GET /1/user/-/activities/{resource-path}/date/{base-date}/{end-date}.json | Get Activity Resource by Date Range |
ActivityTimeSeriesApi | get_activities_tracker_resource_by_date_period | GET /1/user/-/activities/tracker/{resource-path}/date/{date}/{period}.json | Get Activity Time Series |
ActivityTimeSeriesApi | get_activities_tracker_resource_by_date_range | GET /1/user/-/activities/tracker/{resource-path}/date/{base-date}/{end-date}.json | Get Activity Tracker Resource by Date Range Time Series |
AuthorizationApi | introspect | POST /1.1/oauth2/introspect | Retrieve the active state of an OAuth 2.0 token |
AuthorizationApi | oauth_token | POST /oauth2/token | Get OAuth 2 access token |
AuthorizationApi | revoke | POST /oauth2/revoke | Revokes consent of the access token or refresh token |
BodyApi | add_body_fat_log | POST /1/user/-/body/log/fat.json | Log Body Fat |
BodyApi | add_weight_log | POST /1/user/-/body/log/weight.json | Log Weight |
BodyApi | delete_body_fat_log | DELETE /1/user/-/body/log/fat/{body-fat-log-id}.json | Delete Body Fat Log |
BodyApi | delete_weight_log | DELETE /1/user/-/body/log/weight/{body-weight-log-id}.json | Delete Weight Log |
BodyApi | get_body_fat_by_date | GET /1/user/-/body/log/fat/date/{date}.json | Get Body Fat Logs |
BodyApi | get_body_fat_by_date_period | GET /1/user/-/body/log/fat/date/{date}/{period}.json | Get Body Fat Logs |
BodyApi | get_body_fat_by_date_range | GET /1/user/-/body/log/fat/date/{base-date}/{end-date}.json | Get Body Fat Logs |
BodyApi | get_body_goals | GET /1/user/-/body/log/{goal-type}/goal.json | Get Body Goals |
BodyApi | get_weight_by_date | GET /1/user/-/body/log/weight/date/{date}.json | Get Weight Logs |
BodyApi | get_weight_by_date_period | GET /1/user/-/body/log/weight/date/{date}/{period}.json | Get Body Fat Logs |
BodyApi | get_weight_by_date_range | GET /1/user/-/body/log/weight/date/{base-date}/{end-date}.json | Get Body Fat Logs |
BodyApi | update_body_fat_goal | POST /1/user/-/body/log/fat/goal.json | Update Body Fat Goal |
BodyApi | update_weight_goal | POST /1/user/-/body/log/weight/goal.json | Update Weight Goal |
BodyTimeSeriesApi | get_body_resource_by_date_period | GET /1/user/-/body/{resource-path}/date/{date}/{period}.json | Get Body Time Series |
BodyTimeSeriesApi | get_body_resource_by_date_range | GET /1/user/-/body/{resource-path}/date/{base-date}/{end-date}.json | Get Body Time Series |
BreathingRateApi | get_breathing_rate_summary_by_date | GET /1/user/-/br/date/{date}.json | Get Breathing Rate Summary by Date |
BreathingRateApi | get_breathing_rate_summary_by_interval | GET /1/user/-/br/date/{startDate}/{endDate}.json | Get Breathing Rate Summary by Interval |
BreathingRateIntradayApi | get_breathing_rate_intraday_by_date | GET /1/user/-/br/date/{date}/all.json | Get Breathing Rate Intraday by Date |
BreathingRateIntradayApi | get_breathing_rate_intraday_by_interval | GET /1/user/-/br/date/{startDate}/{endDate}/all.json | Get Breathing Rate Intraday by Interval |
CardioFitnessScoreVO2MaxApi | get_vo2_max_summary_by_date | GET /1/user/-/cardioscore/date/{date}.json | Get VO2 Max Summary by Date |
CardioFitnessScoreVO2MaxApi | get_vo2_max_summary_by_interval | GET /1/user/-/cardioscore/date/{startDate}/{endDate}.json | Get VO2 Max Summary by Interval |
DevicesApi | add_alarms | POST /1/user/-/devices/tracker/{tracker-id}/alarms.json | Add Alarm |
DevicesApi | delete_alarms | DELETE /1/user/-/devices/tracker/{tracker-id}/alarms/{alarm-id}.json | Delete Alarm |
DevicesApi | get_alarms | GET /1/user/-/devices/tracker/{tracker-id}/alarms.json | Get Alarms |
DevicesApi | get_devices | GET /1/user/-/devices.json | Get Devices |
DevicesApi | update_alarms | POST /1/user/-/devices/tracker/{tracker-id}/alarms/{alarm-id}.json | Update Alarm |
ElectrocardiogramApi | get_ecg_log_list | GET /1/user/-/ecg/list.json | Get ECG Log List |
FriendsApi | get_friends | GET /1.1/user/-/friends.json | Get Friends |
FriendsApi | get_friends_leaderboard | GET /1.1/user/-/leaderboard/friends.json | Get Friends Leaderboard |
HeartRateIntradayTimeSeriesApi | get_heart_by_date_intraday | GET /1/user/-/activities/heart/date/{date}/1d/{detail-level}.json | Get Heart Rate Intraday Time Series |
HeartRateIntradayTimeSeriesApi | get_heart_by_date_range_intraday | GET /1/user/-/activities/heart/date/{date}/{end-date}/{detail-level}.json | Get Heart Rate Intraday Time Series |
HeartRateIntradayTimeSeriesApi | get_heart_by_date_range_timestamp_intraday | GET /1/user/-/activities/heart/date/{date}/{end-date}/{detail-level}/time/{start-time}/{end-time}.json | Get Heart Rate Intraday Time Series |
HeartRateIntradayTimeSeriesApi | get_heart_by_date_timestamp_intraday | GET /1/user/-/activities/heart/date/{date}/1d/{detail-level}/time/{start-time}/{end-time}.json | Get Heart Rate Intraday Time Series |
HeartRateTimeSeriesApi | get_heart_by_date_period | GET /1/user/-/activities/heart/date/{date}/{period}.json | Get Heart Rate Time Series |
HeartRateTimeSeriesApi | get_heart_by_date_range | GET /1/user/-/activities/heart/date/{base-date}/{end-date}.json | Get Heart Rate Time Series |
HeartRateVariabilityApi | get_hrv_summary_date | GET /1/user/-/hrv/date/{date}.json | Get HRV Summary by Date |
HeartRateVariabilityApi | get_hrv_summary_interval | GET /1/user/-/hrv/date/{startDate}/{endDate}.json | Get HRV Summary by Interval |
HeartRateVariabilityIntradayApi | get_hrv_intraday_by_date | GET /1/user/-/hrv/date/{date}/all.json | Get HRV Intraday by Date |
HeartRateVariabilityIntradayApi | get_hrv_intraday_by_interval | GET /1/user/-/hrv/date/{startDate}/{endDate}/all.json | Get HRV Intraday by Interval |
IrregularRhythmNotificationsApi | get_irn_alerts_list | GET /1/user/-/irn/alerts/list.json | Get IRN Alerts List |
IrregularRhythmNotificationsApi | get_irn_profile | GET /1/user/-/irn/profile.json | Get IRN Profile |
NutritionApi | add_favorite_food | POST /1/user/-/foods/log/favorite/{food-id}.json | Add Favorite Food |
NutritionApi | add_foods | POST /1/user/-/foods.json | Create Food |
NutritionApi | add_foods_log | POST /1/user/-/foods/log.json | Log Food |
NutritionApi | add_update_foods_goal | POST /1/user/-/foods/log/goal.json | Update Food Goal |
NutritionApi | add_update_water_goal | POST /1/user/-/foods/log/water/goal.json | Update Water Goal |
NutritionApi | add_water_log | POST /1/user/-/foods/log/water.json | Log Water |
NutritionApi | delete_favorite_food | DELETE /1/user/-/foods/log/favorite/{food-id}.json | Delete Favorite Food |
NutritionApi | delete_foods | DELETE /1/user/-/foods/{food-id}.json | Delete Custom Food |
NutritionApi | delete_foods_log | DELETE /1/user/-/foods/log/{food-log-id}.json | Delete Food Log |
NutritionApi | delete_meal | DELETE /1/user/-/meals/{meal-id}.json | Delete Meal |
NutritionApi | delete_water_log | DELETE /1/user/-/foods/log/water/{water-log-id}.json | Delete Water Log |
NutritionApi | edit_foods_log | POST /1/user/-/foods/log/{food-log-id}.json | Edit Food Log |
NutritionApi | get_favorite_foods | GET /1/user/-/foods/log/favorite.json | Get Favorite Foods |
NutritionApi | get_foods_by_date | GET /1/user/-/foods/log/date/{date}.json | Get Food Logs |
NutritionApi | get_foods_goal | GET /1/user/-/foods/log/goal.json | Get Food Goals |
NutritionApi | get_foods_info | GET /1/foods/{food-id}.json | Get Food |
NutritionApi | get_foods_list | GET /1/foods/search.json | Search Foods |
NutritionApi | get_foods_locales | GET /1/foods/locales.json | Get Food Locales |
NutritionApi | get_foods_units | GET /1/foods/units.json | Get Food Units |
NutritionApi | get_frequent_foods | GET /1/user/-/foods/log/frequent.json | Get Frequent Foods |
NutritionApi | get_recent_foods | GET /1/user/-/foods/log/recent.json | Get Recent Foods |
NutritionApi | get_water_by_date | GET /1/user/-/foods/log/water/date/{date}.json | Get Water Logs |
NutritionApi | get_water_goal | GET /1/user/-/foods/log/water/goal.json | Get Water Goal |
NutritionApi | update_meal | POST /1/user/-/meals/{meal-id}.json | Update Meal |
NutritionApi | update_water_log | POST /1/user/-/foods/log/water/{water-log-id}.json | Update Water Log |
NutritionTimeSeriesApi | get_foods_by_date_range | GET /1/user/-/foods/log/{resource-path}/date/{base-date}/{end-date}.json | Get Food or Water Time Series |
NutritionTimeSeriesApi | get_foods_resource_by_date_period | GET /1/user/-/foods/log/{resource-path}/date/{date}/{period}.json | Get Food or Water Time Series |
SleepApi | add_sleep | POST /1.2/user/-/sleep.json | Log Sleep |
SleepApi | delete_sleep | DELETE /1.2/user/-/sleep/{log-id}.json | Delete Sleep Log |
SleepApi | get_sleep_by_date | GET /1.2/user/-/sleep/date/{date}.json | Get Sleep Log |
SleepApi | get_sleep_by_date_range | GET /1.2/user/-/sleep/date/{base-date}/{end-date}.json | Get Sleep Logs by Date Range |
SleepApi | get_sleep_goal | GET /1.2/user/-/sleep/goal.json | Get Sleep Goal |
SleepApi | get_sleep_list | GET /1.2/user/-/sleep/list.json | Get Sleep Logs List |
SleepApi | update_sleep_goal | POST /1.2/user/-/sleep/goal.json | Update Sleep Goal |
SpO2Api | get_sp_o2_summary_by_date | GET /1/user/-/spo2/date/{date}.json | Get SpO2 Summary by Date |
SpO2Api | get_sp_o2_summary_by_interval | GET /1/user/-/spo2/date/{startDate}/{endDate}.json | Get SpO2 Summary by Interval |
SpO2IntradayApi | get_sp_o2_intraday_by_date | GET /1/user/-/spo2/date/{date}/all.json | Get SpO2 Intraday by Date |
SpO2IntradayApi | get_sp_o2_intraday_by_interval | GET /1/user/-/spo2/date/{startDate}/{endDate}/all.json | Get SpO2 Intraday by Interval |
SubscriptionsApi | add_subscriptions | POST /1/user/-/{collection-path}/apiSubscriptions/{subscription-id}.json | Add a Subscription |
SubscriptionsApi | delete_subscriptions | DELETE /1/user/-/{collection-path}/apiSubscriptions/{subscription-id}.json | Delete a Subscription |
SubscriptionsApi | get_subscriptions_list | GET /1/user/-/{collection-path}/apiSubscriptions.json | Get a List of Subscriptions |
TemperatureApi | get_temp_core_summary_by_date | GET /1/user/-/temp/core/date/{date}.json | Get Temperature (Core) Summary by Date |
TemperatureApi | get_temp_core_summary_by_interval | GET /1/user/-/temp/core/date/{startDate}/{endDate}.json | Get Temperature (Core) Summary by Interval |
TemperatureApi | get_temp_skin_summary_by_interval | GET /1/user/-/temp/skin/date/{startDate}/{endDate}.json | Get Temperature (Skin) Summary by Interval |
TemperatureApi | get_temp_skin_summary_date | GET /1/user/-/temp/skin/date/{date}.json | Get Temperature (Skin) Summary by Date |
UserApi | get_badges | GET /1/user/-/badges.json | Get Badges |
UserApi | get_profile | GET /1/user/-/profile.json | Get Profile |
DefaultApi | call_1_user_profile_json_post | POST /1/user/-/profile.json |
- Badge
- CreateSleepGoalResponse
- CreateSleepLogResponse
- FoodItem
- GetBadgesResponse
- GetProfileResponse
- GetSleepGoalResponse
- GetSleepLogByDateRangeResponse
- GetSleepLogByDateResponse
- GetSleepLogListResponse
- GetSleepLogListResponsePagination
- Meal
- SleepGoal
- SleepLog
- SleepLogLevels
- SleepLogLevelsDataInner
- SleepLogLevelsSummaryValue
- SleepMeta
- SleepSummary
- User
- UserFeatures
Authentication schemes defined for the API:
- Type: OAuth
- Flow: implicit
- Authorization URL: https://www.fitbit.com/oauth2/authorize
- Scopes:
- activity: Activity data and exercise log related features, such as steps, distance, calories burned, and active minutes
- cardio_fitness: Maximum or optimum rate at which the user’s heart, lungs, and muscles can effectively use oxygen during exercise
- electrocardiogram: A users on-device ECG readings
- heartrate: Continuous heart rate & HRV data and related analysis
- irregular_rhythm_notifications: Includes the users engagement and list of irregular rhythm notification alerts.
- location: GPS and other location data
- nutrition: Calorie consumption and nutrition related features, such as food/water logging, goals, and plans
- oxygen_saturation: SpO2 (Oxygen Saturation) is a measurement of your blood oxygen level
- profile: Basic user information
- respiratory_rate: Respiratory Rate is a measurement of your breaths at night.
- settings: User account and device settings, such as alarms
- sleep: Sleep logs and related sleep analysis
- social: Friend-related features, such as friend list and leaderboard
- temperature: Core and skin temperature data
- weight: Weight and related information, such as body mass index, body fat percentage, and goals