Welcome to the Fitbit API
The Fitbit API is a set of protocols that can be used to read and write data for a user's tracker collections, profile data, social resources, fetch status of devices and statistical data. We are working every day on extending this list to cover more features and use cases of the Fitbit platform. The Fitbit API takes advantage of several protocols, but at the core it is the REST API. In order to fully integrate, you will need to log in or sign up with the Fitbit platform, register for an API key for your application and use that key to drive interaction on behalf of an authenticated user.
The Fitbit API, currently in BETA and under construction, allows 3rd-party applications to get and modify a Fitbit user's data. For API calls applications must first be authenticated using OAuth Authentication as described in The OAuth 1.0 Protocol. Applications can also subscribe to any changes in a user's data. This allows on the one hand to be updated in near real-time and proceed with best workflow for the user, on the other hand subscriptions are good method to avoid hitting API rate limits.
For instance, Website A wants to integrate with Fitbit.com so that Website A's users can integrate their Fitbit data into Website A. There is a user Joe, who has an account on both Website A and Fitbit.com. First, Joe allows Website A to access and modify his Fitbit data. Once this authentication occurs, Website A can freely make HTTP calls to get and to modify Joe's data. Website A can also subscribe to any changes in Joe's data. For instance, when Joe updates his daily step count or syncs the tracker device, Fitbit.com automatically notifies Website A of this change via an HTTP callback, thus Website A can fetch updated resources only when necessary.
Quick Start Guide
- Register a new application and get an API consumer key and secret:
- You will register and manage your application as a Fitbit user. You need to create an account if you don't have one.
- The API consumer key and secret will give your application access to Fitbit API.
- Go through the Anatomy of a Fitbit Client Application.
- Read about the details of the Fitbit REST API:
- OAuth Authentication API shows you how to authenticate your application to access a user's data,
- Resource Access API explains each of the API calls to get or retrieve a user's data,
- Subscriptions API explains how to subscribe to changes in a user's data and how to implement a callback that handles update notifications.
- Start with our reference application or complete Java client library, one of the available API example clients, use the 3d party client library or start from scratch with the OAuth library for your language:
The Fitbit API is currently rate limited to ensure that we can provide stable and consistent access for all client applications. The current rate limiting quota is set at 150 calls per hour, based on either CLIENT+VIEWER (unique quota for each of the application's authorized users) or CLIENT (one for each application) as the determinant for the count of calls.