List historic measurements
warning
Please read the note on the calculation of grades for measurements here.
GET
https://dev.breeze-technologies.de/api/v3/sensors/:sensorId/measurements/historic
Returns a list of measurements for an existing sensor for the given period.
note
Measurements can only be retrieved for dates within the same calendar year. It is not possible to download measurements spanning multiple years in a single API call. If you need data that spans the end of one year and the beginning of the next, you must split the request into two separate API calls. For example:
- First call:
start=2024-12-25T12:14:46andend=2024-12-31T23:59:59
- Second call:
start=2025-01-01T00:00:00andend=2025-01-05T12:14:46
The response includes limitations for each aggregation type:
- the default is limited to a one-day time range
houraggregation is limited to a one-month time rangedayaggregation is limited to a one-year time range.
- cURL
- Python
- Javascript
GET /api/v3/sensors/<SENSOR_ID>/measurements/historic
curl -X GET \
'https://dev.breeze-technologies.de/api/v3/sensors/<SENSOR_ID>/measurements/historic' \
-d api_token=<YOUR_API_TOKEN> \
-d start=2023-12-28T12%3A14%3A46 \
-d end=2023-12-29T12%3A14%3A46
-d timezone=Europe/Berlin
GET /api/v3/sensors/<SENSOR_ID>/measurements/historic
import requests
url = "https://dev.breeze-technologies.de/api/v3/sensors/<SENSOR_ID>/measurements/historic"
params = {
"api_token": "<YOUR_API_TOKEN>",
"start": "2023-12-28T12:14:46",
"end": "2023-12-29T12:14:46"
}
response = requests.request("GET", url, params=params)
print(response.text)
GET /api/v3/sensors/<SENSOR_ID>/measurements/historic
const axios = require("axios");
let config = {
method: "get",
maxBodyLength: Infinity,
url: "https://dev.breeze-technologies.de/api/v3/sensors/<SENSOR_ID>/measurements/historic",
params: {
api_token: "<YOUR_API_TOKEN>",
start: "2023-12-28T12:14:46",
end: "2023-12-29T12:14:46",
},
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Parameters
| Name | Description | Type | Data type | |
|---|---|---|---|---|
| api_token | The current user's API token | query | string | Required |
| sensor_id | Identifies the sensor from which measurement data will be obtained | path | string | Required |
| start | The beginning of the time range in ISO 8601 format (e.g. 2023-12-28T12:14:46) | query | string | Required |
| end | The end of the time range in ISO 8601 format (e.g. 2024-02-06T15:15:43) | query | string | Required |
| aggregation | If the input specifies "hour" or "day" aggregation, the function will return the latest available hourly or daily average data, respectively. | query | string | |
| key | A string containing an air quality indicator (e.g. pm25_ug_m3). The list will be filtered to only include data for the specified air quality indicator. If the query parameter is not set, the list will include all air quality indicators. | query | string | |
| timezone | string | IANA timezone identifier (e.g., "Europe/Berlin", "Asia/Tokyo", "America/Los_Angeles"). Default to "UTC". Only affects daily aggregation. |
Returns
A dictionary with a results property that contains an array of measurements.
{
"meta": {
"grades": [
{
"value": 1,
"labels": {
"de": "sehr gut",
"en": "excellent"
}
},
{
"value": 2,
"labels": {
"de": "gut",
"en": "fine"
}
},
{
"value": 3,
"labels": {
"de": "befriedigend",
"en": "moderate"
}
},
{
"value": 4,
"labels": {
"de": "unbefriedigend",
"en": "poor"
}
},
{
"value": 5,
"labels": {
"de": "schlecht",
"en": "very poor"
}
},
{
"value": 6,
"labels": {
"de": "sehr schlecht",
"en": "severe"
}
}
],
"indicators": [
{
"key": "aqi",
"abbreviation": "AQI",
"labels": {
"en": "Air Quality Index",
"de": "Luftqualitätsindex"
}
},
{
"key": "pm25_ug_m3",
"abbreviation": "PM2.5",
"label": {
"en": "Particulate Matter (2.5 μm)",
"de": "Feinstaub (2.5 μm)"
}
},
{
"key": "pm10_ug_m3",
"abbreviation": "PM10",
"label": {
"en": "Particulate Matter (10 μm)",
"de": "Feinstaub (10 μm)"
}
},
{
"key": "t",
"abbreviation": "T",
"label": {
"en": "Temperature",
"de": "Temperatur"
}
},
{
"key": "rh",
"abbreviation": "RH",
"label": {
"en": "Humidity",
"de": "Luftfeuchtigkeit"
}
},
{
"key": "o3_ug_m3",
"abbreviation": "O3",
"label": {
"en": "Ozone",
"de": "Ozon"
}
},
{
"key": "co_mg_m3",
"abbreviation": "CO",
"label": {
"en": "Carbon Monoxide",
"de": "Kohlenstoffmonoxid"
}
},
{
"key": "nh3_ug_m3",
"abbreviation": "NH3",
"label": {
"en": "Ammonia",
"de": "Ammoniak"
}
},
{
"key": "co2_ppm",
"abbreviation": "CO2",
"label": {
"en": "Carbon Dioxide",
"de": "Kohlenstoffdioxid"
}
},
{
"key": "so2_ug_m3",
"abbreviation": "SO2",
"label": {
"en": "Sulfur Dioxide",
"de": "Schwefeldioxid"
}
},
{
"key": "no2_ug_m3",
"abbreviation": "NO2",
"label": {
"en": "Nitrogen Dioxide",
"de": "Stickstoffdioxid"
}
},
{
"key": "no_ug_m3",
"abbreviation": "NO",
"label": {
"en": "Nitrogen Monoxide",
"de": "Stickstoffmonoxid"
}
},
{
"key": "voc_index",
"abbreviation": "VOC",
"label": {
"en": "Volatile Organic Compounds",
"de": "Flüchtige organische Verbindungen"
}
},
{
"key": "voc_ppb",
"abbreviation": "VOC",
"label": {
"en": "Volatile Organic Compounds",
"de": "Flüchtige organische Verbindungen"
}
},
{
"key": "p_hPa",
"abbreviation": "P",
"label": {
"en": "Atmospheric Pressure",
"de": "Luftdruck"
}
},
{
"key": "sl_dBm",
"abbreviation": "SL",
"label": {
"en": "Sound Level",
"de": "Lautstärke"
}
}
]
},
"results": [
{
"date": "2023-12-28T12:15:04.000Z",
"values": [
{
"key": "aqi",
"value": null,
"grade": null
},
{
"key": "t",
"value": 10.5,
"grade": null
},
{
"key": "rh",
"value": 52.8,
"grade": null
},
{
"key": "o3_ug_m3",
"value": 10.58,
"grade": null
},
{
"key": "pm25_ug_m3",
"value": 0.84,
"grade": null
},
{
"key": "pm10_ug_m3",
"value": 127.19,
"grade": null
},
{
"key": "no_ug_m3",
"value": 43.83,
"grade": null
},
{
"key": "no2_ug_m3",
"value": 59.89,
"grade": null
},
{
"key": "co_mg_m3",
"value": 0.07,
"grade": null
},
{
"key": "co2_ppm",
"value": null,
"grade": null
},
{
"key": "nh3_ug_m3",
"value": 5.26,
"grade": null
},
{
"key": "voc_index",
"value": 1,
"grade": null
},
{
"key": "so2_ug_m3",
"value": null,
"grade": null
}
]
},
...
]
}