Skip to main content
Time Series
curl --request GET \
  --url https://app-api.spikeapi.com/v3/queries/timeseries \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://app-api.spikeapi.com/v3/queries/timeseries"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://app-api.spikeapi.com/v3/queries/timeseries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://app-api.spikeapi.com/v3/queries/timeseries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://app-api.spikeapi.com/v3/queries/timeseries"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://app-api.spikeapi.com/v3/queries/timeseries")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app-api.spikeapi.com/v3/queries/timeseries")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "device_types": [],
  "durations": [
    123
  ],
  "from_timestamp": "2023-11-07T05:31:56Z",
  "offsets": [
    123
  ],
  "provider_sources": [],
  "providers": [
    "<string>"
  ],
  "record_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "to_timestamp": "2023-11-07T05:31:56Z",
  "values": [
    {}
  ]
}
{
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}
{
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}
{
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}
{
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}
{
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

from_timestamp
string<date-time>

Start time of the query range in UTC, inclusive

Examples:

"2006-01-02T15:04:05"

"2006-01-02T15:04:05Z"

to_timestamp
string<date-time>

End time of the query range in UTC, non-inclusive

Examples:

"2006-01-02T15:04:05"

"2006-01-02T15:04:05Z"

metric
enum<string>
required

The metric you want to query

Available options:
heartrate_max,
heartrate_min,
heartrate_zone0_duration,
heartrate_zone1_duration,
heartrate_zone2_duration,
heartrate_zone3_duration,
heartrate_zone4_duration,
heartrate_zone5_duration,
heartrate,
heartrate_resting,
heartrate_resting_min,
heartrate_resting_max,
hrv_rmssd,
hrv_sdnn,
elevation_max,
elevation_min,
elevation_gain,
elevation_loss,
ascent,
descent,
calories_burned_active,
calories_burned_basal,
calories_burned,
calories_intake,
steps,
floors_climbed,
distance,
distance_walking,
distance_cycling,
distance_running,
distance_wheelchair,
distance_swimming,
speed,
speed_max,
speed_min,
air_temperature_max,
air_temperature,
air_temperature_min,
spo2,
spo2_max,
spo2_min,
breathing_rate,
breathing_rate_min,
breathing_rate_max,
longitude,
latitude,
elevation,
duration_active,
swimming_lengths,
swimming_distance_per_stroke,
sleep_efficiency,
sleep_duration,
sleep_duration_deep,
sleep_duration_light,
sleep_duration_rem,
sleep_duration_awake,
bedtime_duration,
sleep_interruptions,
sleep_duration_nap,
sleep_score,
sleep_breathing_rate,
sleep_breathing_rate_min,
sleep_breathing_rate_max,
sleep_latency,
wakeup_latency,
cadence,
cadence_min,
cadence_max,
pace,
body_mass_index,
weight,
height,
vo2max,
body_temperature,
body_temperature_max,
body_temperature_min,
basal_body_temperature,
basal_body_temperature_max,
basal_body_temperature_min,
skin_temperature,
skin_temperature_max,
skin_temperature_min,
sleep_skin_temperature_deviation,
ecg_voltage,
ecg_rri,
body_fat,
body_fat_min,
body_fat_max,
blood_pressure_systolic,
blood_pressure_systolic_min,
blood_pressure_systolic_max,
blood_pressure_diastolic,
blood_pressure_diastolic_min,
blood_pressure_diastolic_max,
body_bone_mass,
glucose,
power,
power_max,
duration_low_intensity,
duration_moderate_intensity,
duration_high_intensity
providers
enum<string>[]
Available options:
strava,
health_connect,
fitbit,
garmin,
huawei,
dexcom,
whoop,
withings,
suunto,
google_health,
apple,
freestyle_libre,
oura,
polar,
coros,
ultrahuman,
samsung_health_data,
luna,
map_my_fitness,
application
include_record_ids
boolean

Whether to include the record IDs in the response

merge_method
enum<string>

Method to merge data

Available options:
select_best_weighted_source,
select_highest_coverage_source,
select_most_granular_source,
select_highest_priority_source_type,
merge_maximize_coverage,
merge_maximize_granularity,
merge_maximize_weighted_coverage,
merge_all_samples
device_types
enum<string>[]

Device types to include

Available options:
unknown,
phone,
watch,
scale,
ring,
head_mounted,
fitness_band,
chest_strap,
smart_display,
accessory

Response

OK

metric
enum<string>
required

The metric type for these timeseries

Available options:
heartrate_max,
heartrate_min,
heartrate_zone0_duration,
heartrate_zone1_duration,
heartrate_zone2_duration,
heartrate_zone3_duration,
heartrate_zone4_duration,
heartrate_zone5_duration,
heartrate,
heartrate_resting,
heartrate_resting_min,
heartrate_resting_max,
hrv_rmssd,
hrv_sdnn,
elevation_max,
elevation_min,
elevation_gain,
elevation_loss,
ascent,
descent,
calories_burned_active,
calories_burned_basal,
calories_burned,
calories_intake,
steps,
floors_climbed,
distance,
distance_walking,
distance_cycling,
distance_running,
distance_wheelchair,
distance_swimming,
speed,
speed_max,
speed_min,
air_temperature_max,
air_temperature,
air_temperature_min,
spo2,
spo2_max,
spo2_min,
breathing_rate,
breathing_rate_min,
breathing_rate_max,
longitude,
latitude,
elevation,
duration_active,
swimming_lengths,
swimming_distance_per_stroke,
sleep_efficiency,
sleep_duration,
sleep_duration_deep,
sleep_duration_light,
sleep_duration_rem,
sleep_duration_awake,
bedtime_duration,
sleep_interruptions,
sleep_duration_nap,
sleep_score,
sleep_breathing_rate,
sleep_breathing_rate_min,
sleep_breathing_rate_max,
sleep_latency,
wakeup_latency,
cadence,
cadence_min,
cadence_max,
pace,
body_mass_index,
weight,
height,
vo2max,
body_temperature,
body_temperature_max,
body_temperature_min,
basal_body_temperature,
basal_body_temperature_max,
basal_body_temperature_min,
skin_temperature,
skin_temperature_max,
skin_temperature_min,
sleep_skin_temperature_deviation,
ecg_voltage,
ecg_rri,
body_fat,
body_fat_min,
body_fat_max,
blood_pressure_systolic,
blood_pressure_systolic_min,
blood_pressure_systolic_max,
blood_pressure_diastolic,
blood_pressure_diastolic_min,
blood_pressure_diastolic_max,
body_bone_mass,
glucose,
power,
power_max,
duration_low_intensity,
duration_moderate_intensity,
duration_high_intensity
device_types
enum<string>[]

Device types involved for these timeseries

Available options:
unknown,
phone,
watch,
scale,
ring,
head_mounted,
fitness_band,
chest_strap,
smart_display,
accessory
durations
integer<int64>[] | null

Duration of each timeseries entry in milliseconds

from_timestamp
string<date-time>
Example:

"2006-01-02T00:00:00Z"

offsets
integer<int64>[] | null

Millisecond offsets from the start_at timestamp

provider_sources
enum<string>[]

Provider sources involved for these timeseries

Available options:
apple_healthkit_sample,
apple_healthkit_activity,
apple_healthkit_sample_category,
apple_healthkit_sleep_aggregation,
apple_healthkit_dietary_item,
apple_healthkit_statistics,
apple_healthkit_characteristics,
apple_healthkit_ecgs,
apple_healthkit_mindfulness,
health_connect_record,
health_connect_activity,
health_connect_mindfulness_session,
health_connect_aggregation,
fitbit_activities_list,
fitbit_activities_daily_summary,
fitbit_activities_daily_summary_activity,
fitbit_activity_heart_intraday,
fitbit_activity_steps_intraday,
fitbit_activity_distance_intraday,
fitbit_activity_calories_intraday,
fitbit_hrv_summary,
fitbit_hrv_intraday,
fitbit_vo2max_summary,
fitbit_sleep_summary,
fitbit_activity_tcx,
fitbit_br_summary,
fitbit_br_intraday,
fitbit_spo2_summary,
fitbit_spo2_intraday,
fitbit_core_temperature_summary,
fitbit_skin_temperature_summary,
fitbit_ecg,
fitbit_body_log_fat,
fitbit_body_log_weight,
garmin_wellness_epochs,
garmin_wellness_dailies,
garmin_wellness_activities,
garmin_wellness_activity_details,
garmin_wellness_sleep,
garmin_wellness_activity_file,
garmin_wellness_hrv,
garmin_wellness_user_metrics,
garmin_wellness_body_comps,
garmin_wellness_blood_pressures,
garmin_wellness_stress_details,
garmin_wellness_skin_temperature,
oura_user_collection_daily_activity_document,
oura_user_collection_sleep_document,
oura_user_collection_workout_document,
oura_user_collection_daily_spo2_document,
oura_user_collection_vo2_max,
oura_user_collection_hr_document,
oura_user_collection_session_document,
oura_personal_info,
oura_user_collection_daily_sleep,
polar_continuous_heart_rate_by_date,
polar_exercise,
polar_exercise_fit_file,
polar_sleep_available,
polar_activity_transaction,
polar_activity_transaction_steps,
polar_sleep_by_date,
polar_nightly_recharge,
polar_biosensing_spo2,
polar_biosensing_body_temperature,
polar_biosensing_skin_temperature,
polar_physical_information,
polar_biosensing_ecg,
polar_user_info,
strava_activity,
suunto_workout_summary,
suunto_workout_fit_file,
suunto_activity_samples,
suunto_activity_daily_summary,
suunto_sleep_samples,
whoop_cycle,
whoop_cycle_recovery,
whoop_activity_sleep,
whoop_activity_workout,
whoop_user_body_measurement,
withings_sleep_summary,
withings_sleep_get,
withings_measure_workouts,
withings_measure_activity,
withings_measure_meas,
withings_measure_activity_intraday,
withings_heart_list,
withings_heart_get,
withings_sleep_combined,
wahoo_workout_summary,
wahoo_workout_fit_file,
huawei_activity_record,
huawei_sampling_data_daily_activity_summary,
huawei_sampling_data_details,
huawei_sampling_data_statistics,
huawei_sampling_data_daily,
huawei_health_record,
huawei_sampling_data_latest,
ultrahuman_heartrate_metrics,
ultrahuman_hrv_metrics,
ultrahuman_temp_metrics,
ultrahuman_heartrate_resting_metrics,
ultrahuman_steps_metrics,
ultrahuman_vo2max_metrics,
ultrahuman_glucose_metrics,
ultrahuman_sleep_metrics,
coros_workout,
coros_workout_fit_file,
coros_daily_record,
coros_daily_record_sleep,
samsung_health_data_aggregation,
samsung_health_data_samples,
samsung_health_data_user_profile,
samsung_health_data_exercise,
samsung_health_data_sleep,
dexcom_egvs,
freestyle_libre_glucose,
luna_sleep,
luna_heart_rate,
omron_us_blood_pressure,
omron_us_hourly_activity,
omron_us_weight,
omron_us_temperature,
omron_us_oxygen,
omron_eu_blood_pressure,
omron_eu_hourly_activity,
omron_eu_weight,
omron_eu_temperature,
omron_eu_oxygen,
map_my_fitness_workout,
google_health_data_point_interval,
google_health_data_point_session,
google_health_data_point_sample,
google_health_data_point_daily,
google_health_rollup,
google_health_rollup_daily,
google_health_exercise_tcx,
compat_apple_healthkit_entry,
compat_health_connect_entry
providers
string[]

Providers involved for these timeseries

Provider slugs

record_ids
string<uuid>[] | null

IDs of the records containing these timeseries

Unique identifier for a record.

to_timestamp
string<date-time>
Example:

"2006-01-02T00:00:00Z"

values
object[] | null

The actual metric values for each timeseries entry