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.