API

Air quality

Organization: Kielce City Hall 5 endpoints Technical name: air-quality Version: v1 Managed Public

Public API for air quality stations, sensors and measurements.

Tags

  • Air quality

Documentation

The API exposes stations, sensor metadata, live readings and historical air quality measurements.

API endpoints

GET /stations Stations json

Returns public active air quality stations.

Data publication metadata
License Creative Commons Attribution 4.0 International
Organization Kielce City Hall
Openness level
Categories Air quality, Environment
Tags Air quality
Data sources Syngeos
Try endpoint

Endpoint

/api/public/air-quality/stations?version=v1
Request
GET /api/public/air-quality/stations
Response
[
  {
    "uri": "https://data.example.test/api/public/air-quality/stations#kielce-centrum",
    "id": "kielce-centrum",
    "provider": "syngeos",
    "externalId": "10288",
    "name": "Kielce Centrum",
    "address": "Rynek",
    "city": "Kielce",
    "source": "Syngeos",
    "location": {"lat": 50.870, "lon": 20.630},
    "historyEnabled": true
  }
]
GET /sensors Sensors json

Returns sensor definitions, units, labels and display ranges.

Data publication metadata
License Creative Commons Attribution 4.0 International
Organization Kielce City Hall
Openness level
Categories Air quality, Environment
Tags Air quality
Data sources Syngeos
Try endpoint

Endpoint

/api/public/air-quality/sensors?version=v1
Request
GET /api/public/air-quality/sensors
Response
[
  {
    "uri": "https://data.example.test/api/public/air-quality/sensors#PM10",
    "code": "PM10",
    "label": "PM10",
    "unit": "ug/m3",
    "icon": "cloud",
    "sortOrder": 10,
    "groupCode": "particulate-matter",
    "groupOrder": 10,
    "minValue": 0,
    "maxValue": 100,
    "fadeStartMinutes": 60,
    "maxAgeMinutes": 180,
    "legend": [
      {"from": 0, "to": 20, "color": "#16a34a", "label": "Bardzo dobra"}
    ]
  }
]
GET /history/{stationId}/{sensorCode} Historical readings json

Returns historical readings for the selected station sensor and date range.

Data publication metadata
License Creative Commons Attribution 4.0 International
Organization Kielce City Hall
Openness level
Categories Air quality, Environment
Tags Air quality
Data sources Syngeos
Try endpoint

Endpoint

/api/public/air-quality/history/{stationId}/{sensorCode}?version=v1

Parameters

Name Location Type Required Description example
stationId path string required Station identifier from the /stations endpoint. 10288
sensorCode path string required Sensor code from the /sensors endpoint, for example PM10. PM10
from query date required Start date in YYYY-MM-DD format. 2026-01-01
to query date required End date in YYYY-MM-DD format. 2026-01-31
timezone query string optional Optional response date time zone, for example Europe/Warsaw. Defaults to UTC. Europe/Warsaw
Request
GET /api/public/air-quality/history/10288/PM10?from=2026-01-01&to=2026-01-31&timezone=Europe/Warsaw
Response
{
  "readings": [
    {
      "readAt": "2026-01-01T12:00:00+01:00",
      "value": 24.3
    }
  ]
}
GET /live Live readings json

Returns latest readings for all active stations.

Data publication metadata
License Creative Commons Attribution 4.0 International
Organization Kielce City Hall
Openness level
Categories Air quality, Environment
Tags Air quality
Data sources Syngeos
Try endpoint

Endpoint

/api/public/air-quality/live?version=v1
Request
GET /api/public/air-quality/live
Response
{
  "stations": [
    {
      "uri": "https://data.example.test/api/public/air-quality/stations#kielce-centrum",
      "stationId": "kielce-centrum",
      "readings": [
        {"sensorUri": "https://data.example.test/api/public/air-quality/sensors#PM10", "sensorCode": "PM10", "readAt": "2026-01-01T12:00:00+01:00", "value": 24.3}
      ],
      "error": null
    }
  ]
}
GET /live/{deviceId} Live device readings json

Returns latest readings for a single source device.

Data publication metadata
License Creative Commons Attribution 4.0 International
Organization Kielce City Hall
Openness level
Categories Air quality, Environment
Tags Air quality
Data sources Syngeos
Try endpoint

Endpoint

/api/public/air-quality/live/{deviceId}?version=v1

Parameters

Name Location Type Required Description example
deviceId path string required External measurement device identifier. 10288
Request
GET /api/public/air-quality/live/10288
Response
{
  "readings": [
    {"sensorUri": "https://data.example.test/api/public/air-quality/sensors#PM10", "sensorCode": "PM10", "readAt": "2026-01-01T12:00:00+01:00", "value": 24.3}
  ]
}