← All tools

veerendra2/fitbit-cli

AI Agent
Popularity 75 Updated AI & Agents

Fitbit CLI - Access your Fitbit ⌚️ data at your terminal 💻 (Supports JSON output for AI agents 🤖)

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

Fitbit CLI

](https://pypi.org/project/fitbit-cli/)

This is not an official Fitbit CLI

Deprecation notice: Fitbit is deprecating the legacy Fitbit Web API in favor of the Google Health API. Legacy Fitbit Web API endpoints are expected to be decommissioned in September 2026, and new integrations should use Google Health API instead. This CLI currently uses the legacy Fitbit Web API. There are no plans to migrate this project to the Google Health API. Until the Fitbit Web API is decommissioned, this project will be maintained in maintenance mode only and may be archived soon.

Access your Fitbit data directly from your terminal 💻. View 💤 sleep logs, ❤️ heart rate, 🏋️‍♂️ activity levels, 🩸 SpO2, and more, all presented in a simple, easy-to-read table format!

AI agent-friendly 🤖 — since v1.6.0, use --json for minimized, token-efficient JSON output or --raw-json for the full Fitbit API response. No spinners, pure JSON.

<p align="center" <img alt="Fitbit logo", width="350" src="https://raw.githubusercontent.com/veerendra2/fitbit-cli/refs/heads/main/assets/FitbitLogoWhiteRGB.jpg" </p

Supported Web APIs

Only GET APIs are supported!

| API | Status | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | | Get Profile | ✅ | | Get Devices | ✅ | | Get Sleep Log by Date Range | ✅ | | Get SpO2 Summary by Interval | ✅ | | Get Heart Rate Time Series by Date Range | ✅ | | Get AZM Time Series by Interval | ✅ | | Get Breathing Rate Summary by Interval | ✅ | | Get Daily Activity Summary | ✅ | | Get Body Time Series by Date Range | ✅ | | Get HRV Summary by Interval | ✅ |

Usage Guide

  • Install the Fitbit CLI
python -m pip install fitbit-cli
  • See Help
fitbit-cli -h
usage: fitbit-cli [-h] [-i] [-j] [-r] [-s [DATE[,DATE]|RELATIVE]] [-o [DATE[,DATE]|RELATIVE]] [-e [DATE[,DATE]|RELATIVE]] [-a [DATE[,DATE]|RELATIVE]]
                  [-b [DATE[,DATE]|RELATIVE]] [-H [DATE[,DATE]|RELATIVE]] [-B [DATE[,DATE]|RELATIVE]]
                  [-t [DATE[,DATE]|RELATIVE]] [-u] [-d] [-v]

Fitbit CLI -- Access your Fitbit data at your terminal.

options:
  -h, --help            show this help message and exit
  -i, --init-auth       Initialize Fitbit iterative authentication setup
  -j, --json            Output table data as JSON.
  -r, --raw-json        Output raw JSON from the Fitbit API.

APIs: Specify a date, date range (YYYY-MM-DD[,YYYY-MM-DD]), or relative date. Relative dates: yesterday, last-week, last-month, last-N-days/weeks/months (e.g., last-2-days). If not provided, defaults to today's date.

-s, --sleep [DATE[,DATE]|RELATIVE] Show Sleep Log by Date Range. -o, --spo2 [DATE[,DATE]|RELATIVE] Show SpO2 Summary by Interval. -e, --heart [DATE[,DATE]|RELATIVE] Show Heart Rate Time Series by Date Range. -a, --active-zone [DATE[,DATE]|RELATIVE] Show AZM Time Series by Interval. -b, --breathing-rate [DATE[,DATE]|RELATIVE] Show Breathing Rate Summary by Interval. -H, --hrv [DATE[,DATE]|RELATIVE] Show HRV Summary by Interval. -B, --body [DATE[,DATE]|RELATIVE] Show Body Time Series for Weight, BMI, and Body Fat. -t, --activities [DATE[,DATE]|RELATIVE] Show Daily Activity Summary. -u, --user-profile Show Profile. -d, --devices Show Devices.


3. Register Fitbit App

   1. Go to [https://dev.fitbit.com/apps](https://dev.fitbit.com/apps)
   2. Click on "REGISTER AN APP" tab
   3. Follow below example and register an app

     <p align="left">
       <img alt="Fitbit logo", width="700" src="https://raw.githubusercontent.com/veerendra2/fitbit-cli/refs/heads/main/assets/fitbit-app-registration.png">
     </p>

4. Run the following command to set up interactive authentication and store the Fitbit token locally