openSenseMap

App · 12 actions

Read live and past readings from openSenseMap's community sensor stations: find stations near a place, in an area or a group, read a station's latest temperature, humidity, fine dust and other values, pull a sensor's history and summarise readings across an area. No account or API key is needed.

Actions

ActionWhat it does
Find stations in a groupFind the stations their owners tagged with a group, such as a school, a university or a city project, most recently reporting first.
Find stations in an areaFind the sensor stations inside a rectangle on the map, most recently reporting first, each with its newest readings.
Find stations near a placeFind the sensor stations within a distance of a point, nearest first, each with what it measures and its newest readings.
Get a sensor's latest readingRead the newest value of one sensor, such as a station's temperature, as a number with its unit.
Get a sensor's readings over timeRead one sensor's readings over a period, newest first, with the lowest, highest and average value.
Get a stationRead one station in full: where it is, how it is placed, its owner's description and every sensor with its newest reading.
Get a station's latest readingsRead the newest value of everything a station measures, each with its unit and when it was taken.
Get a station's location historyList where a station has reported from, oldest first.
Get openSenseMap totalsRead how many stations openSenseMap has, how many readings it holds and how many arrived in the last minute.
Get readings across stationsRead one measurement, such as temperature or fine dust, from every station in an area or from stations you list: each station's latest value, or every reading in the period.
Search stations by nameFind stations whose name contains some text.
Summarise readings over timeWork out a statistic, such as the average or the highest value, of each station's readings for every hour, day or other period, across an area or the stations you list.

Find stations in a group

Find the stations their owners tagged with a group, such as a school, a university or a city project, most recently reporting first.

Inputs

GroupgrouptextRequired
The group to list. Pick one or type it exactly as stations are tagged, for example ifgi.
Placementexposureslist
Only stations placed like this. Choose Outdoors for weather and air quality. Leave empty for every station.One or more of: outdoor (Outdoors), indoor (Indoors), mobile (On the move (bike, car, bus)), unknown (Not stated).
Measuresphenomenontext
Only stations with a sensor for this. Leave empty for every station. Stations name their sensors themselves, mostly in German, so each choice shows the name it matches in brackets.One of: Temperatur (Temperature (Temperatur)), rel. Luftfeuchte (Relative humidity (rel. Luftfeuchte)), Luftdruck (Air pressure (Luftdruck)), PM10 (Fine dust PM10), PM2.5 (Fine dust PM2.5), PM1 (Fine dust PM1), PM4 (Fine dust PM4), Beleuchtungsstärke (Light level (Beleuchtungsstärke)), UV-Intensität (UV intensity (UV-Intensität)), Lautstärke (Noise level (Lautstärke)), and 4 more.
Reported fromreported_fromdate and time
Only stations that sent a reading at or after this moment. Use it to skip stations that have gone quiet. Leave empty for every station.
Reported untilreported_untildate and time
With 'Reported from': the end of that period. Leave empty for up to now.
How many stationslimitnumber
How many stations to return (1-500). The total says how many matched.From 1 to 500. Default: 25.

Outputs

has_moretrue/false
Whether more matched than were returned
stationslist
The matching stations, most recently reporting first
totalnumber
How many matched in total
Example output
{
  "has_more": true,
  "stations": [
    {
      "created_at": "2021-08-02T12:03:49.808Z",
      "exposure": "outdoor",
      "group_tags": [
        "ifgi"
      ],
      "height_m": null,
      "id": "5a0c347b9fd3c2001111b701",
      "last_reported_at": "2026-10-16T00:16:29.992Z",
      "latitude": 51.962788,
      "link": "https://opensensemap.org/explore/5a0c347b9fd3c2001111b701",
      "longitude": 7.631133,
      "model": "homeV2Lora",
      "name": "VennheideBox",
      "sensors": [
        {
          "id": "6107df25c4aab8001b94e04a",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 18.2,
          "phenomenon": "Temperatur",
          "sensor_type": "HDC1080",
          "unit": "\u00b0C"
        },
        {
          "id": "6107df25c4aab8001b94e049",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 76.9,
          "phenomenon": "rel. Luftfeuchte",
          "sensor_type": "HDC1080",
          "unit": "%"
        },
        {
          "id": "6107df25c4aab8001b94e048",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 1013.9,
          "phenomenon": "Luftdruck",
          "sensor_type": "BMP280",
          "unit": "hPa"
        }
      ]
    }
  ],
  "total": 14
}

Find stations in an area

Find the sensor stations inside a rectangle on the map, most recently reporting first, each with its newest readings.

Inputs

West edge (longitude)westnumberRequired
The longitude of the area's west edge, in decimal degrees, for example 7.55 for Münster. Keep each side under 5 degrees.From -180 to 180.
South edge (latitude)southnumberRequired
The latitude of the area's south edge, in decimal degrees, for example 51.9 for Münster. Keep each side under 5 degrees.From -90 to 90.
East edge (longitude)eastnumberRequired
The longitude of the area's east edge, in decimal degrees, for example 7.7 for Münster. Keep each side under 5 degrees.From -180 to 180.
North edge (latitude)northnumberRequired
The latitude of the area's north edge, in decimal degrees, for example 52.0 for Münster. Keep each side under 5 degrees.From -90 to 90.
Placementexposureslist
Only stations placed like this. Choose Outdoors for weather and air quality. Leave empty for every station.One or more of: outdoor (Outdoors), indoor (Indoors), mobile (On the move (bike, car, bus)), unknown (Not stated).
Measuresphenomenontext
Only stations with a sensor for this. Leave empty for every station. Stations name their sensors themselves, mostly in German, so each choice shows the name it matches in brackets.One of: Temperatur (Temperature (Temperatur)), rel. Luftfeuchte (Relative humidity (rel. Luftfeuchte)), Luftdruck (Air pressure (Luftdruck)), PM10 (Fine dust PM10), PM2.5 (Fine dust PM2.5), PM1 (Fine dust PM1), PM4 (Fine dust PM4), Beleuchtungsstärke (Light level (Beleuchtungsstärke)), UV-Intensität (UV intensity (UV-Intensität)), Lautstärke (Noise level (Lautstärke)), and 4 more.
Reported fromreported_fromdate and time
Only stations that sent a reading at or after this moment. Use it to skip stations that have gone quiet. Leave empty for every station.
Reported untilreported_untildate and time
With 'Reported from': the end of that period. Leave empty for up to now.
How many stationslimitnumber
How many stations to return (1-500). The total says how many matched.From 1 to 500. Default: 25.

Outputs

has_moretrue/false
Whether more matched than were returned
stationslist
The matching stations, most recently reporting first
totalnumber
How many matched in total
Example output
{
  "has_more": true,
  "stations": [
    {
      "created_at": "2021-08-02T12:03:49.808Z",
      "exposure": "outdoor",
      "group_tags": [],
      "height_m": null,
      "id": "6107df25c4aab8001b94e043",
      "last_reported_at": "2026-10-16T00:16:29.992Z",
      "latitude": 51.962788,
      "link": "https://opensensemap.org/explore/6107df25c4aab8001b94e043",
      "longitude": 7.631133,
      "model": "homeV2Lora",
      "name": "Stadtb\u00fccherei M\u00fcnster",
      "sensors": [
        {
          "id": "6107df25c4aab8001b94e04a",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 18.2,
          "phenomenon": "Temperatur",
          "sensor_type": "HDC1080",
          "unit": "\u00b0C"
        },
        {
          "id": "6107df25c4aab8001b94e049",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 76.9,
          "phenomenon": "rel. Luftfeuchte",
          "sensor_type": "HDC1080",
          "unit": "%"
        },
        {
          "id": "6107df25c4aab8001b94e048",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 1013.9,
          "phenomenon": "Luftdruck",
          "sensor_type": "BMP280",
          "unit": "hPa"
        }
      ]
    }
  ],
  "total": 830
}

Find stations near a place

Find the sensor stations within a distance of a point, nearest first, each with what it measures and its newest readings.

Inputs

LatitudelatitudenumberRequired
The point's latitude, for example 51.9607 for Münster.From -90 to 90.
LongitudelongitudenumberRequired
The point's longitude, for example 7.6261 for Münster.From -180 to 180.
Within (km)radius_kmnumber
How far from the point to look, in kilometres (up to 50).From 0.1 to 50. Default: 2.
Placementexposureslist
Only stations placed like this. Choose Outdoors for weather and air quality. Leave empty for every station.One or more of: outdoor (Outdoors), indoor (Indoors), mobile (On the move (bike, car, bus)), unknown (Not stated).
Measuresphenomenontext
Only stations with a sensor for this. Leave empty for every station. Stations name their sensors themselves, mostly in German, so each choice shows the name it matches in brackets.One of: Temperatur (Temperature (Temperatur)), rel. Luftfeuchte (Relative humidity (rel. Luftfeuchte)), Luftdruck (Air pressure (Luftdruck)), PM10 (Fine dust PM10), PM2.5 (Fine dust PM2.5), PM1 (Fine dust PM1), PM4 (Fine dust PM4), Beleuchtungsstärke (Light level (Beleuchtungsstärke)), UV-Intensität (UV intensity (UV-Intensität)), Lautstärke (Noise level (Lautstärke)), and 4 more.
Reported fromreported_fromdate and time
Only stations that sent a reading at or after this moment. Use it to skip stations that have gone quiet. Leave empty for every station.
Reported untilreported_untildate and time
With 'Reported from': the end of that period. Leave empty for up to now.
How many stationslimitnumber
How many stations to return (1-500). The total says how many matched.From 1 to 500. Default: 25.

Outputs

has_moretrue/false
Whether more matched than were returned
stationslist
The matching stations, nearest first
totalnumber
How many matched in total
Example output
{
  "has_more": true,
  "stations": [
    {
      "created_at": "2021-08-02T12:03:49.808Z",
      "distance_km": 0.416,
      "exposure": "outdoor",
      "group_tags": [],
      "height_m": null,
      "id": "6107df25c4aab8001b94e043",
      "last_reported_at": "2026-10-16T00:16:29.992Z",
      "latitude": 51.962788,
      "link": "https://opensensemap.org/explore/6107df25c4aab8001b94e043",
      "longitude": 7.631133,
      "model": "homeV2Lora",
      "name": "Stadtb\u00fccherei M\u00fcnster",
      "sensors": [
        {
          "id": "6107df25c4aab8001b94e04a",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 18.2,
          "phenomenon": "Temperatur",
          "sensor_type": "HDC1080",
          "unit": "\u00b0C"
        },
        {
          "id": "6107df25c4aab8001b94e049",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 76.9,
          "phenomenon": "rel. Luftfeuchte",
          "sensor_type": "HDC1080",
          "unit": "%"
        },
        {
          "id": "6107df25c4aab8001b94e048",
          "latest_at": "2026-10-16T00:16:29.992Z",
          "latest_value": 1013.9,
          "phenomenon": "Luftdruck",
          "sensor_type": "BMP280",
          "unit": "hPa"
        }
      ]
    }
  ],
  "total": 7
}

Get a sensor's latest reading

Read the newest value of one sensor, such as a station's temperature, as a number with its unit.

Inputs

Stationstation_idtextRequired
The station's id or its link on opensensemap.org, for example https://opensensemap.org/explore/6107df25c4aab8001b94e043. The find and search actions return it as the station's id.
Sensorsensor_idtextRequired
Which of the station's sensors to read. Choose a station first and this lists what it measures, with units.

Outputs

measured_attext
When it was taken, as an ISO 8601 timestamp in UTC
phenomenontext
What it measures, as the station names it (e.g. Temperatur)
sensor_idtext
The sensor's id
sensor_typetext
The sensor's hardware model
station_idtext
The station's id
unittext
The unit its readings are in
valuenumber
The newest reading, or empty if none
Example output
{
  "measured_at": "2026-10-16T00:16:29.992Z",
  "phenomenon": "Temperatur",
  "sensor_id": "6107df25c4aab8001b94e04a",
  "sensor_type": "HDC1080",
  "station_id": "6107df25c4aab8001b94e043",
  "unit": "\u00b0C",
  "value": 18.2
}

Get a sensor's readings over time

Read one sensor's readings over a period, newest first, with the lowest, highest and average value.

Inputs

Stationstation_idtextRequired
The station's id or its link on opensensemap.org, for example https://opensensemap.org/explore/6107df25c4aab8001b94e043. The find and search actions return it as the station's id.
Sensorsensor_idtextRequired
Which of the station's sensors to read. Choose a station first and this lists what it measures, with units.
Fromfrom_timedate and time
The start of the period to read. Leave empty for the last 24 hours.
Toto_timedate and time
The end of the period to read. Leave empty for now.
How many readingslimitnumber
The most readings to return (1-10,000).From 1 to 10000. Default: 100.

Outputs

averagenumber
The average of the values returned
countnumber
How many readings were returned
fromtext
Start of the period read, as an ISO 8601 timestamp in UTC
has_moretrue/false
Whether the period held more readings than returned
highestnumber
The highest value returned
lowestnumber
The lowest value returned
phenomenontext
What it measures, as the station names it (e.g. Temperatur)
readingslist
The readings, newest first
sensor_idtext
The sensor's id
station_idtext
The station's id
totext
End of the period read, as an ISO 8601 timestamp in UTC
unittext
The unit its readings are in
Example output
{
  "average": 18.25,
  "count": 2,
  "from": "2026-10-15T00:17:38Z",
  "has_more": true,
  "highest": 18.3,
  "lowest": 18.2,
  "phenomenon": "Temperatur",
  "readings": [
    {
      "latitude": 51.962788,
      "longitude": 7.631133,
      "measured_at": "2026-10-16T00:16:29.992Z",
      "value": 18.2
    },
    {
      "latitude": 51.962788,
      "longitude": 7.631133,
      "measured_at": "2026-10-16T00:12:42.116Z",
      "value": 18.3
    }
  ],
  "sensor_id": "6107df25c4aab8001b94e04a",
  "station_id": "6107df25c4aab8001b94e043",
  "to": "2026-10-16T00:17:38Z",
  "unit": "\u00b0C"
}

Get a station

Read one station in full: where it is, how it is placed, its owner's description and every sensor with its newest reading.

Inputs

Stationstation_idtextRequired
The station's id or its link on opensensemap.org, for example https://opensensemap.org/explore/6107df25c4aab8001b94e043. The find and search actions return it as the station's id.

Outputs

created_attext
When it was registered, as an ISO 8601 timestamp in UTC
descriptiontext
The owner's description of the station
exposuretext
Where it is placed: outdoor, indoor, mobile or unknown
group_tagslist
The groups its owner tagged it with
height_mnumber
Its height above ground in metres, when the owner gave one
idtext
The station's id
image_urltext
Link to the owner's photo of it, if any
last_reported_attext
When it last sent a reading, as an ISO 8601 timestamp in UTC; empty if never
latitudenumber
Its latitude
linktext
The station's page on opensensemap.org
location_set_attext
When it was put where it is now, as an ISO 8601 timestamp in UTC
longitudenumber
Its longitude
modeltext
The station's hardware kit
nametext
The station's name
sensorslist
What it measures, each with its newest reading
updated_attext
When its record last changed, as an ISO 8601 timestamp in UTC
websitetext
A website the owner linked, if any
Example output
{
  "created_at": "2021-08-02T12:03:49.808Z",
  "description": "",
  "exposure": "outdoor",
  "group_tags": [],
  "height_m": null,
  "id": "6107df25c4aab8001b94e043",
  "image_url": "",
  "last_reported_at": "2026-10-16T00:16:29.992Z",
  "latitude": 51.962788,
  "link": "https://opensensemap.org/explore/6107df25c4aab8001b94e043",
  "location_set_at": "2021-08-02T12:03:49.802Z",
  "longitude": 7.631133,
  "model": "homeV2Lora",
  "name": "Stadtb\u00fccherei M\u00fcnster",
  "sensors": [
    {
      "id": "6107df25c4aab8001b94e04a",
      "latest_at": "2026-10-16T00:16:29.992Z",
      "latest_value": 18.2,
      "phenomenon": "Temperatur",
      "sensor_type": "HDC1080",
      "unit": "\u00b0C"
    },
    {
      "id": "6107df25c4aab8001b94e049",
      "latest_at": "2026-10-16T00:16:29.992Z",
      "latest_value": 76.9,
      "phenomenon": "rel. Luftfeuchte",
      "sensor_type": "HDC1080",
      "unit": "%"
    },
    {
      "id": "6107df25c4aab8001b94e048",
      "latest_at": "2026-10-16T00:16:29.992Z",
      "latest_value": 1013.9,
      "phenomenon": "Luftdruck",
      "sensor_type": "BMP280",
      "unit": "hPa"
    }
  ],
  "updated_at": "2026-10-16T00:16:30.012Z",
  "website": ""
}

Get a station's latest readings

Read the newest value of everything a station measures, each with its unit and when it was taken.

Inputs

Stationstation_idtextRequired
The station's id or its link on opensensemap.org, for example https://opensensemap.org/explore/6107df25c4aab8001b94e043. The find and search actions return it as the station's id.

Outputs

last_reported_attext
When its newest reading was taken, as an ISO 8601 timestamp in UTC
linktext
The station's page on opensensemap.org
readingslist
One reading per sensor
station_idtext
The station's id
station_nametext
The station's name
Example output
{
  "last_reported_at": "2026-10-16T00:16:29.992Z",
  "link": "https://opensensemap.org/explore/6107df25c4aab8001b94e043",
  "readings": [
    {
      "measured_at": "2026-10-16T00:16:29.992Z",
      "phenomenon": "Temperatur",
      "sensor_id": "6107df25c4aab8001b94e04a",
      "sensor_type": "HDC1080",
      "unit": "\u00b0C",
      "value": 18.2
    },
    {
      "measured_at": "2026-10-16T00:16:29.992Z",
      "phenomenon": "rel. Luftfeuchte",
      "sensor_id": "6107df25c4aab8001b94e049",
      "sensor_type": "HDC1080",
      "unit": "%",
      "value": 76.9
    },
    {
      "measured_at": "2026-10-16T00:16:29.992Z",
      "phenomenon": "Luftdruck",
      "sensor_id": "6107df25c4aab8001b94e048",
      "sensor_type": "BMP280",
      "unit": "hPa",
      "value": 1013.9
    }
  ],
  "station_id": "6107df25c4aab8001b94e043",
  "station_name": "Stadtb\u00fccherei M\u00fcnster"
}

Get a station's location history

List where a station has reported from, oldest first. A fixed station has one place; one on a bike or bus has many.

Inputs

Stationstation_idtextRequired
The station's id or its link on opensensemap.org, for example https://opensensemap.org/explore/6107df25c4aab8001b94e043. The find and search actions return it as the station's id.
Fromfrom_timedate and time
The start of the period to read. Leave empty for the station's whole history.
Toto_timedate and time
The end of the period to read. Leave empty for now.
How many locationslimitnumber
The most locations to return (1-10,000).From 1 to 10000. Default: 100.

Outputs

has_moretrue/false
Whether more matched than were returned
locationslist
The places it reported from, oldest first; the most recent ones when there are more than asked for
station_idtext
The station's id
totalnumber
How many matched in total
Example output
{
  "has_more": false,
  "locations": [
    {
      "height_m": null,
      "latitude": 51.962788,
      "longitude": 7.631133,
      "recorded_at": "2021-08-02T12:03:49.802Z"
    }
  ],
  "station_id": "6107df25c4aab8001b94e043",
  "total": 1
}

Get openSenseMap totals

Read how many stations openSenseMap has, how many readings it holds and how many arrived in the last minute.

Inputs

None.

Outputs

readings_last_minutenumber
How many readings arrived in the last minute
readings_totalnumber
How many readings openSenseMap holds
stationsnumber
How many stations are registered
Example output
{
  "readings_last_minute": 7157,
  "readings_total": 10323420404,
  "stations": 17139
}

Get readings across stations

Read one measurement, such as temperature or fine dust, from every station in an area or from stations you list: each station's latest value, or every reading in the period.

Inputs

MeasurementphenomenontextRequired
What to read, such as temperature or fine dust. Stations name their sensors themselves, mostly in German, so each choice shows the name it matches in brackets.One of: Temperatur (Temperature (Temperatur)), rel. Luftfeuchte (Relative humidity (rel. Luftfeuchte)), Luftdruck (Air pressure (Luftdruck)), PM10 (Fine dust PM10), PM2.5 (Fine dust PM2.5), PM1 (Fine dust PM1), PM4 (Fine dust PM4), Beleuchtungsstärke (Light level (Beleuchtungsstärke)), UV-Intensität (UV intensity (UV-Intensität)), Lautstärke (Noise level (Lautstärke)), and 4 more. Default: Temperatur.
Read fromwheretext
Every station in an area on the map, or the stations you list.One of: area (Every station in an area), stations (Stations I choose). Default: area.
West edge (longitude)westnumber
The longitude of the area's west edge, in decimal degrees, for example 7.55 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -180 to 180.
South edge (latitude)southnumber
The latitude of the area's south edge, in decimal degrees, for example 51.9 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -90 to 90.
East edge (longitude)eastnumber
The longitude of the area's east edge, in decimal degrees, for example 7.7 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -180 to 180.
North edge (latitude)northnumber
The latitude of the area's north edge, in decimal degrees, for example 52.0 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -90 to 90.
Stationsstation_idslist
The stations to read, one per row: each station's id or its opensensemap.org link. Up to 50.Only when Read from is Stations I choose.
Placementexposureslist
Only stations placed like this. Choose Outdoors for weather and air quality. Leave empty for every station.One or more of: outdoor (Outdoors), indoor (Indoors), mobile (On the move (bike, car, bus)), unknown (Not stated).
Fromfrom_timedate and time
The start of the period to read. Leave empty for the last hour.
Toto_timedate and time
The end of the period to read. Leave empty for now.
Readings to returnwhichtext
Each station's newest reading, or all of them.One of: latest (Each sensor's latest reading), all (Every reading). Default: latest.
How many readingslimitnumber
The most readings to return (1-10,000).From 1 to 10000. Default: 100.

Outputs

averagenumber
The average of the values returned
fromtext
Start of the period read, as an ISO 8601 timestamp in UTC
has_moretrue/false
Whether more matched than were returned
highestnumber
The highest value returned
lowestnumber
The lowest value returned
phenomenontext
What was read, as stations name it
readingslist
The readings, newest first
totext
End of the period read, as an ISO 8601 timestamp in UTC
totalnumber
How many matched in total
Example output
{
  "average": 16.76,
  "from": "2026-10-15T23:17:38Z",
  "has_more": false,
  "highest": 16.76,
  "lowest": 16.76,
  "phenomenon": "Temperatur",
  "readings": [
    {
      "exposure": "outdoor",
      "latitude": 51.961882,
      "longitude": 7.645843,
      "measured_at": "2026-10-16T00:17:36.259Z",
      "sensor_id": "682b3a8f7f7c2000081caa67",
      "station_id": "682b3a8f7f7c2000081caa66",
      "station_name": "Rudolf Carree",
      "unit": "\u00b0C",
      "value": 16.76
    }
  ],
  "to": "2026-10-16T00:17:38Z",
  "total": 31
}

Search stations by name

Find stations whose name contains some text. Returns each station's id, name and position; use Get a station for the rest.

Inputs

Name containsnametextRequired
Part of the station's name, for example 'Stadtbücherei'. Capital letters don't matter.
How many stationslimitnumber
The most stations to return (1-20).From 1 to 20. Default: 10.

Outputs

stationslist
The stations whose name matches
totalnumber
How many stations were returned
Example output
{
  "stations": [
    {
      "id": "6107df25c4aab8001b94e043",
      "latitude": 51.962788,
      "link": "https://opensensemap.org/explore/6107df25c4aab8001b94e043",
      "longitude": 7.631133,
      "name": "Stadtb\u00fccherei M\u00fcnster"
    }
  ],
  "total": 1
}

Summarise readings over time

Work out a statistic, such as the average or the highest value, of each station's readings for every hour, day or other period, across an area or the stations you list.

Inputs

MeasurementphenomenontextRequired
What to read, such as temperature or fine dust. Stations name their sensors themselves, mostly in German, so each choice shows the name it matches in brackets.One of: Temperatur (Temperature (Temperatur)), rel. Luftfeuchte (Relative humidity (rel. Luftfeuchte)), Luftdruck (Air pressure (Luftdruck)), PM10 (Fine dust PM10), PM2.5 (Fine dust PM2.5), PM1 (Fine dust PM1), PM4 (Fine dust PM4), Beleuchtungsstärke (Light level (Beleuchtungsstärke)), UV-Intensität (UV intensity (UV-Intensität)), Lautstärke (Noise level (Lautstärke)), and 4 more. Default: Temperatur.
Statisticoperationtext
What to work out from each period's readings.One of: arithmeticMean (Average), median, min (Lowest), max (Highest), sum (Total), standardDeviation (Standard deviation), variance, mode (Most common value), geometricMean (Geometric mean), harmonicMean (Harmonic mean), rootMeanSquare (Root mean square). Default: arithmeticMean.
Group readingswindowtext
How long each period the statistic covers is.One of: 10m (Every 10 minutes), 30m (Every 30 minutes), 1h (Every hour), 6h (Every 6 hours), 1d (Every day), 7d (Every week). Default: 1h.
Read fromwheretext
Every station in an area on the map, or the stations you list.One of: area (Every station in an area), stations (Stations I choose). Default: area.
West edge (longitude)westnumber
The longitude of the area's west edge, in decimal degrees, for example 7.55 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -180 to 180.
South edge (latitude)southnumber
The latitude of the area's south edge, in decimal degrees, for example 51.9 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -90 to 90.
East edge (longitude)eastnumber
The longitude of the area's east edge, in decimal degrees, for example 7.7 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -180 to 180.
North edge (latitude)northnumber
The latitude of the area's north edge, in decimal degrees, for example 52.0 for Münster. Keep each side under 5 degrees.Only when Read from is Every station in an area. From -90 to 90.
Stationsstation_idslist
The stations to read, one per row: each station's id or its opensensemap.org link. Up to 50.Only when Read from is Stations I choose.
Placementexposureslist
Only stations placed like this. Choose Outdoors for weather and air quality. Leave empty for every station.One or more of: outdoor (Outdoors), indoor (Indoors), mobile (On the move (bike, car, bus)), unknown (Not stated).
Fromfrom_timedate and time
The start of the period to read. Leave empty for the last 24 hours.
Toto_timedate and time
The end of the period to read. Leave empty for now.

Outputs

fromtext
Start of the period read, as an ISO 8601 timestamp in UTC
phenomenontext
What was summarised, as stations name it
stationslist
One entry per station sensor
statistictext
The statistic worked out, such as Average
totext
End of the period read, as an ISO 8601 timestamp in UTC
totalnumber
How many station sensors were summarised
windowtext
How the readings were grouped, such as Every hour
Example output
{
  "from": "2026-10-15T00:17:41Z",
  "phenomenon": "Temperatur",
  "stations": [
    {
      "exposure": "outdoor",
      "latest_value": 15.36,
      "latitude": 51.96422,
      "longitude": 7.645218,
      "sensor_id": "591f578c51d34600116a8ea6",
      "station_id": "591f578c51d34600116a8ea5",
      "station_name": "Wetterstation Erpho",
      "unit": "\u00b0C",
      "windows": [
        {
          "start": "2026-10-15T12:00:00.000Z",
          "value": 20.39
        },
        {
          "start": "2026-10-15T18:00:00.000Z",
          "value": 17.67
        },
        {
          "start": "2026-10-16T00:00:00.000Z",
          "value": 15.36
        }
      ]
    }
  ],
  "statistic": "Highest",
  "to": "2026-10-16T00:17:41Z",
  "total": 16,
  "window": "Every 6 hours"
}

On this page