Platform Overview

Google Fit is an open ecosystem. It lets developers upload health and wellness data to a central repository where users can access their data from different devices and apps in one location. They can still access their data if they upgrade to a new device.

Your health and wellness app can store data from any wearable or sensor, and access data created by other apps.

Read the Google Fit Developer and User Data Policy thoroughly and make sure your app complies with it. Carefully review the Google Fit Terms and Conditions before using Google Fit. By using the API, you agree to the Google Fit Terms and Conditions.

Components

Google Fit consists of the following components:

Figure 1: Platform overview.
The fitness store
A central repository that stores data from a variety of devices and apps. The fitness store is a cloud service that is transparent to clients.
The sensor framework
A set of high-level representations that make it easy to work with the fitness store. You use these representations with the Google Fit APIs.
Permissions and user controls
A set of authorization scopes to request user permission to work with health and wellness data. Google Fit requires user consent to access health and wellness data.
Google Fit APIs
Android and REST APIs to access the fitness store. You can create apps that support Google Fit on multiple platforms and devices, such as Android, iOS, and Web apps.

The fitness store

The fitness store is a cloud service that persists health and wellness data using Google's infrastructure. Apps on different platforms and devices can store data and access data created by other apps. Google Fit provides a set of APIs that make it easy to insert data and query the fitness store.

The sensor framework

The sensor framework defines high-level representations for sensors, data types, data points, and sessions. These representations make it easy to work with the fitness store on any platform.

Data Sources
Data sources represent sensors and consist of a name, the type of data collected, and other sensor details. A data source may represent a hardware sensor or a software sensor. You can define software sensors in your apps.
Data Types
Data types represent different kinds of health and wellness data, like step count or heart rate. Data types establish a schema through which different apps can understand each other's data. A data type consists of a name and an ordered list of fields, where each field represents a dimension. For example, a data type for location contains three fields (latitude, longitude, and accuracy), whereas a data type for weight contains only one field.
Data Points
Data points consist of a timestamped array of values for a data type, read from a data source. You use data points to record and insert health and wellness data in the fitness store, and to read raw data from a data source. Points that contain a start time represent a time range instead of an instantaneous reading.
Datasets
Datasets represent a set of data points of the same type from a particular data source covering some time interval. You use datasets to insert data into the fitness store. Queries to read data from the fitness store also return datasets.
Sessions
Sessions represent a time interval during which users perform a fitness activity, such as a run, a bike ride, and so on. Sessions help organize data and perform detailed or aggregate queries on the fitness store for a fitness activity.

Permissions and user controls

Google Fit requires user consent before apps can read or store health and wellness data. Google Fit defines OAuth scopes that map to a number of permission groups with separate read and write privileges: activity, body, location, nutrition and health-related data types (health-related data types are grouped with finer granularity). Each permission group grants apps access to a set of data types. Apps specify one or more of these scopes to work with health and wellness data, and Google Fit requests the corresponding permissions from the user.

Google Fit APIs

Google Fit provides the following APIs: