ΑQ Data Hub
In-situ data hub is a collection of various free to use data APIs
- In every API request you are expected to pass the following headers parameters.
- key: You can obtain this authentication key from draxis
- X-Consumer-Groups: standard
-
Base URL: https://data.envi4all.com/v2/
-
Sandbox URL: https://sandbox.data.envi4all.com/
Air Quality: Sensors ¶
Air Quality is a simple API allowing consumers to view various Air Quality measurements from different sources
Sensors ¶
Sensors is a collection of low cost sensors around the world. This API retrieves the basic info of them. We have added various query URI template parameters
Get the collectionGET/sensors{?limit_records,sensor_state,access_key,bbox}
Example URI
- limit_records
number
(optional) Default: unlimitedThe maximum number of results to return.
- sensor_state
text
(optional) Default: "active"Select active / inactive or all sensors.
- access_key
string
(optional) Default: noneunique string with identifier of a sensor.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 2,
"access_key": "3133443bea0d7f71171706ceb7541a97",
"name": "DriveIt Sensor 1",
"project": "driveit-sensor",
"created_at": "2019-07-26 13:10:57",
"updated_at": "2019-07-26 13:10:57",
"deleted_at": null,
"lng": "22.894333",
"lat": "40.655102"
},
{
"id": 10,
"access_key": "test-1002",
"name": "Test sensor",
"project": "sympnia-sensor",
"created_at": "2019-08-30 11:32:22",
"updated_at": "2019-08-30 11:35:48",
"deleted_at": "2019-08-30 11:35:48",
"lng": "23.727539",
"lat": "37.98381"
},
{
"id": 13,
"access_key": "83ee72848e5be03a9c78cdfa91b5aa9e",
"name": "Aek",
"project": "sympnia-sensor",
"created_at": "2019-08-30 14:09:37",
"updated_at": "2019-08-30 14:09:54",
"deleted_at": "2019-08-30 14:09:54",
"lng": "18.798452489848",
"lat": "25.968551630399"
}
]
}
Last measurements ¶
Gets the last measurements of the low cost sensors. We have added various query URI template parameters
Get the last measurementsGET/sensors/last_measurements{?limit_records,sensor_state,limit_days_old,measurement_types,access_key,bbox,summarize,measurement_types_required}
Example URI
- limit_records
number
(optional) Default: "unlimited"The maximum number of results to return.
- sensor_state
text
(optional) Default: "active"Select active / inactive or all sensors
- limit_days_old
number
(optional) Default: noneDo not show measurements older than that many days
- measurement_types
string
(optional) Default: noneType of measurements from the sensor eg. NO2, PM10 etc.
- access_key
string
(optional) Default: noneunique string with identifier of a sensor.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
- summarize
string
(optional) Default: noneSummarize hourly and daily the sensor measurements.
- measurement_types_required
number
(optional) Default: noneIt will return only the measurements that has all the (requested) measurement_types. Otherwise it will return null values
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 15424,
"access_key": "LUF30010-14-SDS011",
"name": "SDS011 - Nova Fitness",
"project": "luftdaten-sensor",
"last_measurement_at": "2020-02-27 09:34:15",
"lng": "8.112",
"lat": "53.564",
"aq_index": "30",
"euro_aq_index": "19.97",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": null,
"PM1": null,
"PM10": "19.97",
"PM25": "9.29",
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
},
{
"id": 11303,
"access_key": "LUF22250-14-SDS011",
"name": "SDS011 - Nova Fitness",
"project": "luftdaten-sensor",
"last_measurement_at": "2020-02-27 09:33:15",
"lng": "5.772",
"lat": "52.184",
"aq_index": "41",
"euro_aq_index": "26.71",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": null,
"PM1": null,
"PM10": "26.71",
"PM25": "12.5",
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
},
{
"id": 3488,
"access_key": "LUF7545-14-SDS011",
"name": "SDS011 - Nova Fitness",
"project": "luftdaten-sensor",
"last_measurement_at": "2020-02-27 09:34:26",
"lng": "12.616",
"lat": "51.454",
"aq_index": "131",
"euro_aq_index": "25.98",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": null,
"PM1": null,
"PM10": "25.98",
"PM25": "24.64",
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
}
]
}
Sensor Details ¶
Gets all details for a specific sensor.
Get sensor detailsGET/sensors/{id}{?sensor_state,access_key,bbox}
Example URI
- id
number
(required) Example: 1A unique identifier of the sensor.
- sensor_state
text
(optional) Default: "active"Select active / inactive or all sensors
- access_key
string
(optional) Default: noneunique string with identifier of a sensor.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 1,
"access_key": "SYMDC4F2266CC34_OLD34",
"name": "Sympnia sensor",
"project": "sympnia-sensor",
"created_at": "2019-07-26 13:09:30",
"updated_at": "2020-01-20 10:06:22",
"deleted_at": "2020-01-27 14:58:00",
"lng": "23.6782178",
"lat": "37.9431788"
}
]
}
Last Measurements of a Sensor ¶
Gets last measurements for a specific sensor.
Get last measurements of a sensorGET/sensors/{id}/last_measurements{?sensor_state,access_key,limit_records,bbox}
Example URI
- id
number
(required) Example: 44A unique identifier of the sensor.
- sensor_state
text
(optional) Default: "active"Select active / inactive or all sensors
- access_key
string
(optional) Default: noneunique string with identifier of a sensor.
- limit_records
number
(optional) Default: "unlimited"The maximum number of results to return.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 44,
"access_key": "PUR84F3EB7BC99F",
"name": "Δημαρχείο",
"project": "purpleair-sensor",
"last_measurement_at": "2020-03-05 07:38:38",
"lng": "21.7664616",
"lat": "39.5530845",
"aq_index": "13",
"euro_aq_index": "4.17",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": null,
"PM1": "2.53",
"PM10": "4.17",
"PM25": "4",
"SO2": null,
"TEMP": "16.666666666667",
"HUM": "42",
"envi_index": 1
}
]
}
Historical measurements ¶
Gets all measurements for a specific sensor.
Get the historical measurements of a sensorGET/sensors/{id}/measurements{?sensor_state,measurement_types,start_date,end_date,summarize,measurement_types_required}
Example URI
- id
number
(required) Example: 44A unique identifier of the sensor.
- sensor_state
text
(optional) Default: "active"Select active / inactive or all sensors
- measurement_types
string
(optional) Default: noneType of measurements from the sensor eg. NO2, PM10 etc.
- start_date
date
(optional) Default: noneStart date for a sensor which measurements are available. Also combine with end date for range results.
- end_date
date
(optional) Default: noneEnd date for a sensor which measurements are available. Also combine with start date for range results.
- summarize
string
(optional) Default: noneSummarize hourly and daily the sensor measurements.
- measurement_types_required
number
(optional) Default: noneIt will return only the measurements that has all the (requested) measurement_types. Otherwise it will return null values
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"t": "2019-11-06 09:01:13",
"PM1": "18.94",
"PM10": "29.96",
"PM25": "28.16",
"TEMP": null,
"HUM": null
},
{
"t": "2019-11-06 10:01:15",
"PM1": "15.17",
"PM10": "24.58",
"PM25": "22.91",
"TEMP": null,
"HUM": null
},
{
"t": "2019-11-06 11:01:12",
"PM1": "13.74",
"PM10": "21.97",
"PM25": "20.68",
"TEMP": null,
"HUM": null
}
]
}
Capabilities ¶
Gets the capabilities of a certain sensor based on the known measurements
Get the capabilities of a sensorGET/sensors/{id}/capabilities
Example URI
- id
number
(required) Example: 44A unique identifier of the sensor.
Sensors
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"capability": "HUM"
},
{
"capability": "PM1"
},
{
"capability": "PM10"
},
{
"capability": "PM25"
},
{
"capability": "TEMP"
}
]
}
Air Quality: Stations ¶
Stations ¶
Stations is a collection of accurate sensors around the world. This API retrieves the basic info of them. We have added various query URI template parameters
Get the stations collectionGET/stations{?limit_records,bbox,name}
Example URI
- limit_records
number
(optional) Default: unlimitedThe maximum number of results to return.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
- name
string
(optional) Default: noneThe name of the station where the sesnor located.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 10674,
"key": "68f48170-5e42-11ea-8c09-03510b3f7710",
"is_forecast": true,
"lng": "-80.03071",
"lat": "33.183018",
"region_name": "BERKELEY",
"name": "Moncks Corner",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 18:03:10",
"updated_at": "2020-03-04 18:03:10"
},
{
"id": 10673,
"key": "4943e4d0-5e42-11ea-8530-25e77f503311",
"is_forecast": true,
"lng": "-82.81067",
"lat": "34.63596",
"region_name": "ANDERSON",
"name": "Garrison Arena",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 18:02:17",
"updated_at": "2020-03-04 21:02:21"
},
{
"id": 10672,
"key": "ff363070-5dcc-11ea-b185-9d87bfa90fbd",
"is_forecast": true,
"lng": "-123.19847",
"lat": "39.11239",
"region_name": "CA8 - ARB",
"name": "MMCA81037",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 04:02:42",
"updated_at": "2020-03-04 22:03:35"
}
]
}
station details ¶
Gets all details for a specific station.
Get the details of a stationGET/stations/{id}
Example URI
- id
number
(required) Example: 1A unique identifier of the station.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 1,
"key": "915a6ef0-a8d9-4bfb-b719-78e31249d962",
"is_forecast": true,
"lng": "22.954063",
"lat": "40.623742",
"region_name": "Thessaloniki",
"name": "New City Hall",
"refresh_interval": "daily",
"country": "Greece",
"station_source": null,
"created_at": null,
"updated_at": "2020-02-07 10:30:02"
}
]
}
Last measurements of stations ¶
Gets the last measurements of the stations. We have added various query URI template parameters
Get the last measurements of stationsGET/stations/last_measurements{?limit_records,bbox,name,measurement_types_required,measurement_types,limit_days_old}
Example URI
- limit_records
number
(optional) Default: noneThe maximum number of results to return.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
- name
string
(optional) Default: noneThe name of the station where the sesnor located.
- measurement_types_required
number
(optional) Default: noneIt will return only the measurements that has all the (requested) measurement_types. Otherwise it will return null values
- measurement_types
string
(optional) Default: noneType of measurements from the sensor eg. NO2, PM10 etc.
- limit_days_old
number
(optional) Default: noneDo not show measurements older than that many days
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 10674,
"key": "68f48170-5e42-11ea-8c09-03510b3f7710",
"is_forecast": true,
"lng": "-80.03071",
"lat": "33.183018",
"region_name": "BERKELEY",
"name": "Moncks Corner",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 18:03:10",
"last_measurement_at": "2020-03-05 08:07:16",
"aq_index": null,
"euro_aq_index": "52.92",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": "52.92",
"PM1": null,
"PM10": null,
"PM25": null,
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
},
{
"id": 10673,
"key": "4943e4d0-5e42-11ea-8530-25e77f503311",
"is_forecast": true,
"lng": "-82.81067",
"lat": "34.63596",
"region_name": "ANDERSON",
"name": "Garrison Arena",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 18:02:17",
"last_measurement_at": "2020-03-05 08:07:01",
"aq_index": null,
"euro_aq_index": "37.24",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": "37.24",
"PM1": null,
"PM10": null,
"PM25": null,
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
},
{
"id": 10672,
"key": "ff363070-5dcc-11ea-b185-9d87bfa90fbd",
"is_forecast": true,
"lng": "-123.19847",
"lat": "39.11239",
"region_name": "CA8 - ARB",
"name": "MMCA81037",
"refresh_interval": "daily",
"country": "",
"station_source": "test",
"created_at": "2020-03-04 04:02:42",
"last_measurement_at": "2020-03-05 08:07:13",
"aq_index": "13",
"euro_aq_index": "4.2",
"CO": null,
"CO2": null,
"NO": null,
"NO2": null,
"O3": null,
"PM1": null,
"PM10": null,
"PM25": "4.2",
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
}
]
}
Last measurements of a station ¶
Gets the last measurements of a station.
Get the last measurements of a stationGET/stations/{id}/last_measurements{?limit_records,bbox,name}
Gets the last measurements of a station.
Example URI
- id
number
(required) Example: 1A unique identifier of the station.
- limit_records
number
(optional) Default: noneThe maximum number of results to return.
- bbox
array
(optional) Default: "No bounding box"bounding box in left,bottom,right,top defines the area where the sensors are located.
- name
string
(optional) Default: noneThe name of the station where the sesnor located.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"id": 1,
"key": "915a6ef0-a8d9-4bfb-b719-78e31249d962",
"is_forecast": true,
"lng": "22.954063",
"lat": "40.623742",
"region_name": "Thessaloniki",
"name": "New City Hall",
"refresh_interval": "daily",
"country": "Greece",
"station_source": null,
"created_at": null,
"last_measurement_at": "2020-03-05 10:30:03",
"aq_index": "11",
"euro_aq_index": "45",
"CO": null,
"CO2": null,
"NO": null,
"NO2": "28",
"O3": "45",
"PM1": null,
"PM10": "12",
"PM25": null,
"SO2": null,
"TEMP": null,
"HUM": null,
"envi_index": 1
}
]
}
Historical measurements ¶
Gets all historical measurements of a station.
Get the historical measurements of a stationGET/stations/{id}/measurements{?limit_records,measurement_types,start_date,end_date,summarize,measurement_types_required}
Example URI
- id
number
(required) Example: 44A unique identifier of the station.
- limit_records
number
(optional) Default: noneThe maximum number of results to return.
- measurement_types
string
(optional) Default: noneType of measurements from the sensor eg. NO2, PM10 etc.
- start_date
date
(optional) Default: noneStart date for a station which measurements are available. Also combine with end date for range results.
- end_date
date
(optional) Default: noneEnd date for a station which measurements are available. Also combine with start date for range results.
- summarize
string
(optional) Default: noneSummarize hourly and daily the sensor measurements.
- measurement_types_required
number
(optional) Default: noneIt will return only the measurements that has all the (requested) measurement_types. Otherwise it will return null values
measurements
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"t": "2019-08-02 09:30:02",
"CO": null,
"NO2": "45.8344",
"O3": "50.9796",
"PM10": "42",
"PM25": null,
"SO2": null
},
{
"t": "2019-09-09 09:30:20",
"CO": null,
"NO2": "47.8272",
"O3": "72.9708",
"PM10": null,
"PM25": null,
"SO2": null
},
{
"t": "2019-09-30 09:30:03",
"CO": null,
"NO2": "51.8128",
"O3": "9.996",
"PM10": null,
"PM25": null,
"SO2": null
}
]
}
Capabilities ¶
Gets the capabilities of a certain station based on the known measurements
Get the capabilities of a stationGET/stations/{id}/capabilities
Example URI
- id
number
(required) Example: 1A unique identifier of the station.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"status": "success",
"message": "",
"data": [
{
"capability": "CO"
},
{
"capability": "NO2"
},
{
"capability": "O3"
},
{
"capability": "PM10"
},
{
"capability": "PM25"
},
{
"capability": "SO2"
}
]
}
Air Quality: CAMS Forecast ¶
CAMS stand for Copernicus Atmosphere Monitoring Service. Provides current, historical and forecast measurements.
Get the latest CAMS current measurements ¶
Gets the current measurement from CAMS.
Get the latest CAMS current measurementsGET/cams/current{?lat,lon,vars}
Example URI
- lat
number
(required) Example: 22.9594982Latitude coordinates.
- lon
number
(required) Example: 40.57Longitudes coordinates.
- vars
string
(required) Example: pm25,no2,pm10,so2,o3Variables for air quality.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"current": {
"pm25": {
"value": "12.08",
"measured_at": "2020-03-06",
"unit": "µg/m³"
},
"no2": {
"value": "0.15",
"measured_at": "2020-03-06",
"unit": "µg/m³"
},
"pm10": {
"value": "34.22",
"measured_at": "2020-03-06",
"unit": "µg/m³"
},
"so2": {
"value": "0.61",
"measured_at": "2020-03-06",
"unit": "µg/m³"
},
"o3": {
"value": "83.95",
"measured_at": "2020-03-06",
"unit": "µg/m³"
}
},
"unit": "µg/m³"
}
Get the latest CAMS historical measurements ¶
Gets the historical measurements from CAMS.
Get the latest CAMS history measurementsGET/cams/history{?lat,lon,vars}
Example URI
- lat
number
(required) Example: 22.9594982Latitude coordinates.
- lon
number
(required) Example: 40.57Longitudes coordinates.
- vars
string
(required) Example: pm25,no2,pm10,so2,o3Variables for air quality.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"history": {
"pm25": [
{
"value": "9.25467524837131",
"measured_at": "2020-03-04"
},
{
"value": "21.4013020638504",
"measured_at": "2020-03-05"
}
],
"no2": [
{
"value": "0.125466304012889",
"measured_at": "2020-03-04"
},
{
"value": "0.194009697196407",
"measured_at": "2020-03-05"
}
],
"pm10": [
{
"value": "55.5666161972113",
"measured_at": "2020-03-04"
},
{
"value": "112.387965600647",
"measured_at": "2020-03-05"
}
],
"so2": [
{
"value": "0.887887097178464",
"measured_at": "2020-03-04"
},
{
"value": "1.52807899667096",
"measured_at": "2020-03-05"
}
],
"o3": [
{
"value": "97.3002016735336",
"measured_at": "2020-03-04"
},
{
"value": "95.8062571498886",
"measured_at": "2020-03-05"
}
]
},
"unit": "µg/m³"
}
Get the latest CAMS forecast measurements ¶
Gets the next three days forecast measurements from CAMS.
Get the latest CAMS forecast measurementsGET/cams/forecast{?lat,lon,vars}
Example URI
- lat
number
(required) Example: 22.9594982Latitude coordinates.
- lon
number
(required) Example: 40.57Longitudes coordinates.
- vars
string
(required) Example: pm25,no2,pm10,so2,o3Variables for air quality.
GET
Headers
Accept: application/json
200
Headers
Content-Type: application/json
X-My-Message-Header: 42
Body
{
"forecast": {
"pm25": [
{
"value": "24.81",
"measured_at": "2020-03-07"
},
{
"value": "39.78",
"measured_at": "2020-03-08"
},
{
"value": "26.56",
"measured_at": "2020-03-09"
}
],
"no2": [
{
"value": "0.22",
"measured_at": "2020-03-07"
},
{
"value": "0.15",
"measured_at": "2020-03-08"
},
{
"value": "0.16",
"measured_at": "2020-03-09"
}
],
"pm10": [
{
"value": "150.58",
"measured_at": "2020-03-07"
},
{
"value": "103.91",
"measured_at": "2020-03-08"
},
{
"value": "97.14",
"measured_at": "2020-03-09"
}
],
"so2": [
{
"value": "1.47",
"measured_at": "2020-03-07"
},
{
"value": "2.06",
"measured_at": "2020-03-08"
},
{
"value": "1.96",
"measured_at": "2020-03-09"
}
],
"o3": [
{
"value": "100.67",
"measured_at": "2020-03-07"
},
{
"value": "114.02",
"measured_at": "2020-03-08"
},
{
"value": "113.73",
"measured_at": "2020-03-09"
}
]
},
"unit": "µg/m³"
}
Weather
- In every API request you are expected to pass the following headers parameters.
- key: You can obtain this authentication key from draxis
- apikey: You can obtain this authentication key from draxis
- X-Consumer-Groups: standard
-
Base URL: https://data.envi4all.com/
-
Sandbox URL: https://sandbox.data.envi4all.com/
Weather ¶
Resources to weather forecast and observations.
Resolutions ¶
ResolutionsGET/weather/meteo/resolutions
Get the available resolutions of the weather datasets.
Example URI
200
Headers
Content-Type: application/json
Body
[
"6km",
"6kmobserved",
"2km",
"18km",
"18kmobserved",
"2kmobserved"
]
Variables ¶
VariablesGET/weather/meteo/variables
Get the available variables for a given resolution.
Example URI
- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If the resolution is not provided then the API will return the union of all available variables from all available resolutions.
200
Headers
Content-Type: application/json
Body
[
"precipitation",
"rh2m",
"surfacepressure",
"surfacesolarradiation",
"temperature2m",
"windspeed10m",
"totalcloudines",
"reference_et",
"temperature2m_min",
"temperature2m_max"
]
Hourly Data ¶
Hourly DataGET/weather/meteo/hourly
Get hourly data at a given location and a specified period.
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- to_date
string
(required)The period end. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- variables
string
(optional)The required variables as retrieved from the
/variables
endpoint in comma separated form (e.g. temperature2m,rh2m).- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone and the returned timestamps will also include the timezone offset. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
{
"temperature2m": {
"data": {
"2019-10-02T10:00:00+0000": 27.7229375,
"2019-10-02T11:00:00+0000": 28.5099375,
"2019-10-02T12:00:00+0000": 28.4596875
},
"unit": "C",
"description": "Temperature [C]"
},
"rh2m": {
"data": {
"2019-10-02T10:00:00+0000": 40.4184521484375,
"2019-10-02T11:00:00+0000": 36.6426025390625,
"2019-10-02T12:00:00+0000": 38.4315234375
},
"unit": "%",
"description": "Relative humidity [%]"
}
}
Hourly Events ¶
Hourly EventsGET/weather/meteo/hourly/events
Get the severe weather events identified in the datasets for a given period.
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- to_date
string
(required)The period end. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone and the returned timestamps will also include the timezone offset. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
{
"events": {
"data": {
"2019-10-05T00:00:00+0300": [
{
"frost": 1
}
],
"2019-10-05T01:00:00+0300": [
{
"frost": 1
}
],
"2019-10-05T02:00:00+0300": [
{
"frost": 1
}
]
},
"description": "Severe weather events"
}
}
Hourly Icon Class ¶
Hourly Icon ClassGET/weather/meteo/hourly/icon_class
Get icon classes for a specified period and location. There are 15 classes available:
-
sun
-
sun_clouds
-
sun_clouds_rain_light
-
sun_clouds_rain_moderate
-
sun_clouds_rain_heavy
-
sun_clouds_snow_light
-
sun_clouds_snow_moderate
-
sun_clouds_snow_heavy
-
clouds_rain_light
-
clouds_rain_moderate
-
clouds_rain_heavy
-
clouds_snow_light
-
clouds_snow_moderate
-
clouds_snow_heavy
-
clouds
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- to_date
string
(required)The period end. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- extended
boolean
(optional)If true then the API returns details about the icon class.
- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone and the returned timestamps will also include the timezone offset. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
-- COMPACT VERSION --
{
"icon_class": {
"data": {
"2019-10-02T13:00:00+0000": "sun",
"2019-10-02T14:00:00+0000": "sun_clouds",
"2019-10-02T15:00:00+0000": "sun_clouds",
"2019-10-02T16:00:00+0000": "sun_clouds_rain_light"
},
"description": "Weather icon class"
}
}
-- EXTENDED VERSION --
{
"icon_class": {
"data": {
"2019-10-02T14:00:00+0000": {
"class": "sun_clouds",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 0,
"has_snow": false
}
},
"2019-10-02T15:00:00+0000": {
"class": "sun_clouds",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 0,
"has_snow": false
}
},
"2019-10-02T16:00:00+0000": {
"class": "sun_clouds_rain_light",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 1,
"has_snow": false
}
}
},
"description": "Weather icon class"
}
}
Daily Data ¶
Daily DataGET/weather/meteo/daily
Get daily data at a given location and a specified period. Daily data derive from hourly data so in order to get calculated the request must include the appropriate aggregation functions.
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
(e.g. 2019-01-18).- to_date
string
(required)The period end. Format
yyyy-mm-dd
(e.g. 2019-01-18).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- variables
string
(required)The required variables as retrieved from the
/variables
endpoint in comma separated form (e.g. temperature2m,rh2m).- aggregations
string
(required)Every variable must have a corresponding aggregation function. The available functions are:
mean
,min
,max
,sum
. The aggregation functions must be comma separated and must match the order and the number of the requested variables.- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
{
"temperature2m": {
"data": {
"2019-10-02": 29.942,
"2019-10-03": 29.0924375
},
"unit": "C",
"description": "Temperature [C]"
},
"rh2m": {
"data": {
"2019-10-02": 68.57758371988932,
"2019-10-03": 67.90789296468101
},
"unit": "%",
"description": "Relative humidity [%]"
}
}
Daily Events ¶
Daily EventsGET/weather/meteo/hourly/events
Get the severe weather events identified in the datasets for a given period in a daily manner. The API returns the maximum severity for each type of event through the day.
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- to_date
string
(required)The period end. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone and the returned timestamps will also include the timezone offset. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
{
"events": {
"data": {
"2019-11-08T00:00:00+0300": [
{
"frost": 2
}
]
},
"description": "Severe weather events"
}
}
Daily Icon Class ¶
Daily Icon ClassGET/weather/meteo/daily/icon_class
Get icon classes for a specified period and location in a daily manner. There are 15 classes available:
-
sun
-
sun_clouds
-
sun_clouds_rain_light
-
sun_clouds_rain_moderate
-
sun_clouds_rain_heavy
-
sun_clouds_snow_light
-
sun_clouds_snow_moderate
-
sun_clouds_snow_heavy
-
clouds_rain_light
-
clouds_rain_moderate
-
clouds_rain_heavy
-
clouds_snow_light
-
clouds_snow_moderate
-
clouds_snow_heavy
-
clouds
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- to_date
string
(required)The period end. Format
yyyy-mm-dd
oryyyy-mm-ddThh
(e.g. 2019-01-25T05).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- extended
boolean
(optional)If true then the API returns details about the icon class.
- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone and the returned timestamps will also include the timezone offset. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
-- COMPACT VERSION --
{
"icon_class": {
"data": {
"2019-10-02T13:00:00+0000": "sun",
"2019-10-02T14:00:00+0000": "sun_clouds",
"2019-10-02T15:00:00+0000": "sun_clouds",
"2019-10-02T16:00:00+0000": "sun_clouds_rain_light"
},
"description": "Weather icon class"
}
}
-- EXTENDED VERSION --
{
"icon_class": {
"data": {
"2019-10-02T14:00:00+0000": {
"class": "sun_clouds",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 0,
"has_snow": false
}
},
"2019-10-02T15:00:00+0000": {
"class": "sun_clouds",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 0,
"has_snow": false
}
},
"2019-10-02T16:00:00+0000": {
"class": "sun_clouds_rain_light",
"analysis": {
"has_sun": true,
"has_clouds": true,
"precipitation_severity": 1,
"has_snow": false
}
}
},
"description": "Weather icon class"
}
}
GDD Crop Types ¶
GDD Crop TypesGET/weather/gdd/crop-types
Get a list of the available crop types that can ben used in the GDD calculation.
Example URI
200
Headers
Content-Type: application/json
Body
[
"sunflower",
"wheat",
"cotton",
"maize",
"corn",
"soybean"
]
GDD ¶
GDDGET/weather/gdd/calculate
Calculate the Growing Degree Days (GDD) for a crop type at a given location and a given period.
Example URI
- lat
number
(required)The location latitude (-90 to 90).
- lon
number
(required)The location longitude (from -180 to 180).
- from_date
string
(required)The period start. Format
yyyy-mm-dd
(e.g. 2019-01-18).- to_date
string
(required)The period end. Format
yyyy-mm-dd
(e.g. 2019-01-18).- at_date
string
(optional)Alternative to the from-to date parameters. The
at_date
parameter is a convenient way of retrieving the weather for a single day or a single hour. The format is the same as above.- crop_type
string
(optional)A crop type as retrieved from the
/crop-types
endpoint. If not provided then the default Tbase will be used in the calculation.- cumulative
boolean
(optional)If provided controls whether the response will contain the cumulative GDD values or just the plain daily values. The default value is
true
.- resolution
string
(optional)A resolution as retrieved from the
/resolutions
endpoint. If not provided then the default resolution will be used.- timezone
string
(optional)If a timezone string is provided (e.g. Europe/Athens) then the given dates will be considered as belonging to that timezone. If the timezone is not provided then the default timezone will be used which is
Etc/Utc
.
200
Headers
Content-Type: application/json
Body
{
"gdd": {
"data": {
"2019-09-02": 15.81759357452395,
"2019-09-03": 31.40403175354005,
"2019-09-04": 47.59865665435795,
"2019-09-05": 62.84112548828131
},
"unit": "C",
"description": "Growing degree days",
"tbase": 10,
"result-quality": 0.8
}
}