● OPENSENSE
public api

read community sensors from your code

All endpoints are unauthenticated, read-only, rate-limited per IP (600 req/min), and return JSON. Base URL: https://opensense.murzin.digital.

GET /api/public/stats

Counters for the map header: total sensors, locations, orgs, and the most recent reading timestamp.

{"sensors":42,"locations":18,"orgs":12,"lastUpdate":"2026-05-17T17:42:00Z"}
GET /api/public/sensors?bbox=…&kind=…

Map pins. bbox = south,west,north,east. kind optional (temperature, humidity, co2, …).

[
  { "id":"...","lat":48.14,"lon":17.10,
    "kind":"temperature","unit":"C",
    "value":4.2,"ts":"2026-05-17T17:42:00Z",
    "nickname":"frostback","locationName":"Bratislava — kitchen",
    "label":"freezer" }
]
GET /api/public/sensors/{id}

Detail: pin fields + model + vendor + org name.

GET /api/public/sensors/{id}/readings?range=24h|7d|30d

Time-bucketed history. [{ ts, value }].

GET /api/public/leaderboards?metric=…

Top-50. metric ∈ {coldest_now, hottest_now, highest_co2, active_24h, longest_running}.

POST /api/public/sensors/{id}/report

Flag a sensor. Body: {"reason":"…"}. Operators review periodically.