# Fitness API API

> Fitness API API on Apizie: 13 endpoints (Lists all data sources that are visible to the developer, using the OAuth scopes provided. The list is not…, Creates a new data source that is unique across all data sources belonging to this user. A data source is a…, Returns the specified data source., Updates the specified data source. The dataStreamId, dataType, type, dataStreamName, and device properties…, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/analytics:googleapis-fitness/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-fitness`
- Category: Analytics
- Status: byok
- Source: https://developers.google.com/fit/rest/v1/get-started
- Page: https://apizie.tech/api/analytics/googleapis-fitness
- OpenAPI: https://apizie.tech/api/analytics/googleapis-fitness/openapi.json

The Fitness API for managing users' fitness tracking data.

## Endpoints

### Lists all data sources that are visible to the developer, using the OAuth scopes provided. The list is not…
`GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataTypeName | string | no | The names of data types to include in the list. If not specified, all data sources will be returned. |
| userId | string | yes | List data sources for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Creates a new data source that is unique across all data sources belonging to this user. A data source is a…
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | string | yes | Create the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |
| body | object | yes | JSON request body |

### Returns the specified data source.
`GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source to retrieve. |
| userId | string | yes | Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Updates the specified data source. The dataStreamId, dataType, type, dataStreamName, and device properties…
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source to update. |
| userId | string | yes | Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |
| body | object | yes | JSON request body |

### Deletes the specified data source. The request will fail if the data source contains any data points.
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source to delete. |
| userId | string | yes | Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Queries for user's data point changes for a particular data source.
`GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-data-point-changes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source that created the dataset. |
| limit | integer | no | If specified, no more than this many data point changes will be included in the response. |
| pageToken | string | no | The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value… |
| userId | string | yes | List data points for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Returns a dataset containing all data points whose start and end times overlap with the specified range of…
`GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-datasets-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source that created the dataset. |
| datasetId | string | yes | Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds… |
| limit | integer | no | If specified, no more than this many data points will be included in the dataset. If there are more data points in the dataset,… |
| pageToken | string | no | The continuation token, which is used to page through large datasets. To get the next page of a dataset, set this parameter to the value… |
| userId | string | yes | Retrieve a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Adds data points to a dataset. The dataset need not be previously created. All points within the given…
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-datasets-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source that created the dataset. |
| datasetId | string | yes | This field is not used, and can be safely omitted. |
| userId | string | yes | Patch a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |
| body | object | yes | JSON request body |

### Performs an inclusive delete of all data points whose start and end times have any overlap with the time…
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-datasets-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dataSourceId | string | yes | The data stream ID of the data source that created the dataset. |
| datasetId | string | yes | Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds… |
| userId | string | yes | Delete a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Aggregates data of a certain type or stream into buckets divided by a given type of boundary. Multiple data…
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-dataset-aggregate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | string | yes | Aggregate data for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |
| body | object | yes | JSON request body |

### Updates or insert a given session.
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-sessions-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | The ID of the session to be created. |
| userId | string | yes | Create sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |
| body | object | yes | JSON request body |

### Deletes a session specified by the given session ID.
`POST https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-sessions-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | The ID of the session to be deleted. |
| userId | string | yes | Delete a session for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

### Lists sessions previously created.
`GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-sessions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| activityType | integer | no | If non-empty, only sessions with these activity types should be returned. |
| endTime | string | no | An RFC3339 timestamp. Only sessions starting before endTime and ending after startTime up to (endTime + 1 day) will be included in the… |
| includeDeleted | boolean | no | If true, and if both startTime and endTime are omitted, session deletions will be returned. |
| pageToken | string | no | The continuation token, which is used for incremental syncing. To get the next batch of changes, set this parameter to the value of… |
| startTime | string | no | An RFC3339 timestamp. Only sessions starting before endTime and ending after startTime up to (endTime + 1 day) will be included in the… |
| userId | string | yes | List sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. |

## Example
```
curl "https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Fitness API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/analytics:googleapis-fitness/fitness-users-data-sources-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Fitness API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Fitness API itself also needs your own key from googleapis.com.

### Can AI agents use the Fitness API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-fitness.

### What is the status of the Fitness API API?
Needs your own provider key (bring your own key)
