A API Google Health rastreia sinais vitais e métricas de saúde fisiológica do usuário, como frequência cardíaca, saturação de oxigênio, glicemia, temperatura corporal e derivações diárias de temperatura do sono.
Entenda como ler e solicitar autorização do usuário para dados de métricas vitais no seu aplicativo e oferecer a melhor experiência possível.
Tipos de dados compatíveis
A API é compatível com os seguintes tipos de dados para rastrear sinais vitais e métricas de saúde:
Tipo de dadosdataType
Parâmetro filter |
Operações disponíveis |
Escopo |
|---|---|---|
|
Glicose no sangue
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Temperatura corporal central
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilidade da frequência cardíaca diária
daily-heart-rate-variabilitydaily_heart_rate_variability
Tipo de registro : diário
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Zonas de frequência cardíaca diárias
daily-heart-rate-zonesdaily_heart_rate_zones
Tipo de registro : diário
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Saturação de oxigênio diária
daily-oxygen-saturationdaily_oxygen_saturation
Tipo de registro : diário
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Frequência respiratória diária
daily-respiratory-ratedaily_respiratory_rate
Tipo de registro : diário
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Frequência cardíaca em repouso diária
daily-resting-heart-ratedaily_resting_heart_rate
Tipo de registro : diário
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Derivações diárias da temperatura do sono
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
Tipo de registro : diário
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Eletrocardiograma (ECG)
electrocardiogramelectrocardiogram
Tipo de registro : sessão
Dispositivos compatíveis
|
list | .ecg.readonly |
Frequência cardíaca
heart-rateheart_rate
Tipo de registro : Exemplo
Dispositivos compatíveis
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilidade da frequência cardíaca
heart-rate-variabilityheart_rate_variability
Tipo de registro : Exemplo
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Notificação de ritmo irregular
irregular-rhythm-notificationirregular_rhythm_notification
Tipo de registro : sessão
|
list | .irn.readonly |
Saturação de oxigênio
oxygen-saturationoxygen_saturation
Tipo de registro : Exemplo
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Resumo do sono com ritmo respiratório
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
Tipo de registro : Exemplo
Dispositivos compatíveis
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Requisitos somente leitura
Os tipos de dados fisiológicos de sinais vitais são preenchidos pela sincronização de dispositivos ou por entradas de registro manual no app Fitbit para dispositivos móveis ou na Web e são somente leitura pela API REST. Não é possível gravar ou modificar esses dados diretamente pelos endpoints da API Google Health.
As seções a seguir fornecem detalhes técnicos e formatos de representação REST para dados de sinais vitais.
Frequência cardíaca e saúde do coração
A API fornece medições intradiárias detalhadas e resumos diários de métricas de frequência cardíaca:
- Frequência cardíaca (
heart-rate): medições de frequência cardíaca em um determinado momento que contêm uma contagem debeatsPerMinute, além domotionContextdo usuário (comoSEDENTARYouACTIVE) esensorLocation(comoWRISTouCHEST). - Frequência cardíaca em repouso diária (
daily-resting-heart-rate): um valor diário de frequência cardíaca em repouso basal. - Variabilidade da frequência cardíaca (
heart-rate-variabilityedaily-heart-rate-variability): registra a raiz quadrada média das diferenças sucessivas (rmssd) em milissegundos para representar a VFC.
Exemplo de representação REST
Para consultar medições de frequência cardíaca, envie uma solicitação GET ao endpoint list.
O exemplo a seguir mostra um único ponto de dados heart-rate da
lista retornada:
Solicitação
GET https://health.googleapis.com/v4/users/me/dataTypes/heart-rate/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T08:05:00Z Authorization: Bearer access-token Accept: application/json
Resposta
{
"dataPoints": [
{
"name": "users/me/dataTypes/heart-rate/dataPoints/hr-123456789",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"heartRate": {
"sampleTime": {
"physicalTime": "2026-04-20T08:00:00Z",
"utcOffset": "0s"
},
"beatsPerMinute": "72",
"metadata": {
"motionContext": "SEDENTARY",
"sensorLocation": "WRIST"
}
}
}
]
}Glicemia
O tipo de dados blood-glucose representa os níveis de açúcar no sangue do usuário. Os pontos de glicose no sangue contêm a concentração em miligramas por decilitro (mg/dL), o contexto da refeição ou do horário e informações da amostra.
Exemplo de representação REST
Para consultar medições de glicemia, envie uma solicitação GET ao endpoint list. O exemplo a seguir mostra um único ponto de dados blood-glucose da
lista retornada:
Solicitação
GET https://health.googleapis.com/v4/users/me/dataTypes/blood-glucose/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T09:00:00Z Authorization: Bearer access-token Accept: application/json
Resposta
{
"dataPoints": [
{
"name": "users/me/dataTypes/blood-glucose/dataPoints/bg-987654321",
"dataSource": {
"recordingMethod": "MANUALLY_ENTERED"
},
"bloodGlucose": {
"sampleTime": {
"physicalTime": "2026-04-20T08:30:00Z",
"utcOffset": "-25200s"
},
"bloodGlucoseMilligramsPerDeciliter": 95.0,
"measurementSource": "SELF_MONITORING_BLOOD_GLUCOSE",
"mealType": "BREAKFAST",
"measurementTiming": "AFTER_MEAL",
"specimen": "CAPILLARY_BLOOD",
"notes": "Post-breakfast fingerstick reading"
}
}
]
}Saturação de oxigênio (SpO₂)
A API rastreia os níveis de oxigênio usando oxygen-saturation (valores de amostra intradiários) e daily-oxygen-saturation (estatísticas de resumo diário). A concentração percentual é expressa como um número de 0 a 100.
Exemplo de representação REST
Para consultar medições de saturação de oxigênio, envie uma solicitação GET ao endpoint list. O exemplo a seguir mostra um único ponto de dados oxygen-saturation da lista retornada:
Solicitação
GET https://health.googleapis.com/v4/users/me/dataTypes/oxygen-saturation/dataPoints?startTime=2026-04-20T03:00:00Z&endTime=2026-04-20T03:05:00Z Authorization: Bearer access-token Accept: application/json
Resposta
{
"dataPoints": [
{
"name": "users/me/dataTypes/oxygen-saturation/dataPoints/spo2-555555",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"oxygenSaturation": {
"sampleTime": {
"physicalTime": "2026-04-20T03:00:00Z",
"utcOffset": "0s"
},
"percentage": 98.2
}
}
]
}Temperatura
O monitoramento de temperatura inclui métricas de temperatura corporal interna e tendências de temperatura da pele durante o sono noturno:
- Temperatura corporal central (
core-body-temperature): registra a temperatura dos órgãos internos em graus Celsius, com o local específico de medição (comoARMPIT,EARouFOREHEAD). - Derivações de temperatura do sono (
daily-sleep-temperature-derivations): variações de alta frequência na temperatura da pele registradas durante a noite.
Exemplo de representação REST
Para consultar as medições de temperatura corporal, envie uma solicitação GET ao endpoint list. O exemplo a seguir mostra um único ponto de dados core-body-temperature da lista retornada:
Solicitação
GET https://health.googleapis.com/v4/users/me/dataTypes/core-body-temperature/dataPoints?startTime=2026-04-20T22:00:00Z&endTime=2026-04-20T23:00:00Z Authorization: Bearer access-token Accept: application/json
Resposta
{
"dataPoints": [
{
"name": "users/me/dataTypes/core-body-temperature/dataPoints/cbt-666666",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"coreBodyTemperature": {
"sampleTime": {
"physicalTime": "2026-04-20T22:30:00Z",
"utcOffset": "-18000s"
},
"temperatureCelsius": 36.8,
"measurementLocation": "FOREHEAD"
}
}
]
}Eletrocardiograma e notificações
Para dispositivos com sensores de nível médico, a API expõe tipos de dados avançados de saúde cardíaca:
- Eletrocardiograma (
electrocardiogram): resultados de uma sessão de eletrocardiograma de uma derivação, contendo uma classificação (SINUS_RHYTHM,ATRIAL_FIBRILLATION,INCONCLUSIVE), frequência cardíaca média, frequência de amostragem e amostras de tensão de forma de onda bruta. - Notificação de ritmo irregular (
irregular-rhythm-notification): eventos de alerta contextual que indicam sinais de possível FA detectados durante o monitoramento passivo.
Exemplo de representação REST
Para consultar dados de sessões de eletrocardiograma, envie uma solicitação GET ao endpoint list. O exemplo a seguir mostra um único ponto de dados electrocardiogram da lista retornada:
Solicitação
GET https://health.googleapis.com/v4/users/me/dataTypes/electrocardiogram/dataPoints?startTime=2026-04-20T10:00:00Z&endTime=2026-04-20T10:05:00Z Authorization: Bearer access-token Accept: application/json
Resposta
{
"dataPoints": [
{
"name": "users/me/dataTypes/electrocardiogram/dataPoints/ecg-777777",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"electrocardiogram": {
"interval": {
"startTime": "2026-04-20T10:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-04-20T10:00:30Z",
"endUtcOffset": "0s"
},
"resultClassification": "SINUS_RHYTHM",
"beatsPerMinuteAvg": "70",
"samplingFrequencyHertz": 250,
"millivoltsScalingFactor": 1000,
"leadNumber": 1,
"waveformSamples": [
-12, -8, 4, 18, 30, 42, 50, 48, 32, 10
]
}
}
]
}Escopos e autorização
Para usar o recurso dados de sinais vitais e saúde cardíaca, seu app precisa solicitar os seguintes escopos do OAuth:
- Leia:
https://www.googleapis.com/auth/googlehealth.ecg.readonly - Leia:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly - Escrever:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly - Leia:
https://www.googleapis.com/auth/googlehealth.irn.readonly
Diretrizes
Use estas diretrizes ao criar recursos com métricas de saúde e sinais vitais:
- Processar conversões de unidades: os valores de temperatura são fornecidos em Celsius. Converta para Fahrenheit no código do front-end com base nas preferências localizadas do usuário.
- Gerenciar notificações de webhook: inscreva-se em alertas de webhook para métricas vitais e acionar a análise de back-end imediatamente após a sincronização de novas leituras pelo usuário (como frequência cardíaca ou glicemia).
- Respeite a sensibilidade dos dados: verifique se o produto explica claramente aos usuários os contextos clínicos ou de bem-estar para leitura de sinais vitais fisiológicos de alta frequência. Explique por que escopos como
health_metrics_and_measurementsouecgsão necessários antes de chamar solicitações de autorização.