We're making some changes to the Google Fit APIs. Learn about how these changes might affect your app. Read our new policy.

Write Blood Pressure Data

Your app can record blood pressure data by writing to the com.google.blood_pressure data type. In this data type, each data point represents a single instantaneous blood pressure reading. The data point contains fields for the systolic and diastolic pressure, body position during the reading, and location on the body where the measurement was performed.

  • The systolic and diastolic fields are required, all others are optional.
  • Pressures for systolic (upper number) and diastolic (lower number) are measured in mmHg.
  • If specified, body position must have one of the following values:
    • 1 - standing up
    • 2 - sitting down
    • 3 - lying down
    • 4 - semi-reclined
  • If specified, measurement location must have one of the following values:

    • 1 - left wrist
    • 2 - right wrist
    • 3 - left upper arm
    • 4 - right upper arm


To write a blood pressure data point, create a new DataSource of TYPE_BLOOD_PRESSURE, as shown in the following example.

DataSource bloodPressureSource =
    new DataSource.Builder()

DataPoint bloodPressure =
        .setTimestamp(now.getMillis(), MILLISECONDS)
        .setField(FIELD_BLOOD_PRESSURE_SYSTOLIC, 120.0f)
        .setField(FIELD_BLOOD_PRESSURE_DIASTOLIC, 80.0f)


Create a data source

To write a blood pressure data point, create a new data data source

HTTP method


Request URL


Request body

  "dataStreamName": "BloodPressure",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  "dataType": {
    "name": "com.google.blood_pressure"


If your data source was created successfully, you'll get a 200 OK HTTP response status code. The response body contains a JSON representation of the data source, including a datasource.dataStreamId property. Use this ID as the dataSourceId to add data.

Add blood pressure data

Add data by creating a data point of type com.google.blood_pressure.

HTTP method


Request URL


Request body

For clarity the JSON body shown below is annotated with comments, to show the use of health field constants.

    "dataSourceId": "datasource.dataStreamId",
    "maxEndTimeNs": 1574159699023000000,
    "minStartTimeNs": 1574159699023000000,
    "point": [
        "dataTypeName": "com.google.blood_pressure",
        "endTimeNanos": 1574159699023000000,
        "startTimeNanos": 1574159699023000000,
        "value": [
            "fpVal": 120.0  // systolic
            "fpVal": 80.0  // diastolic
            "intVal": 2  // Body position enum value for sitting
            "intVal": 3  // Location enum value for left upper arm