Walkability POIs around a location (local OSM dataset)
Returns OpenStreetMap points of interest around a coordinate, served from the local osm_pois table via a PostGIS radius search instead of a live Overpass API call. Education POIs use a 2 km radius, every other category 1 km. The response uses Overpass element shape so existing clients can map it unchanged. The osm_pois table is refreshed monthly by a scheduled ingest.
lat and lng are rounded to 5 decimals (about 1 m) before the query runs, so equal rounded coordinates always return an identical payload. The response carries Cache-Control: private, max-age=86400, stale-while-revalidate=604800 (private: the endpoint is token-gated by a header) and a weak ETag over the exact JSON sent; If-None-Match with a matching tag answers 304. The ingest records no data vintage, so the monthly reload (which flushes the cached payloads) is what changes the tag. Rate limited per client IP (60 per minute by default) and per RES token (300 per minute by default), counted in Redis across workers; over either limit the endpoint answers 429 with a Retry-After header. Box-local calls skip the per-IP limit, and a Redis outage lets requests through.
https://res.aireon.ch/score/poi-osmAuthorization
Query parameters
- countryoptionalchorthordeoratorfrornl+4 more
POI dataset:
ch(default, tableosm_pois),th(admin-only Thailand experiment, tableosm_pois_th)de(admin-only Germany experiment, tableosm_pois_de)at(admin-only Austria experiment, tableosm_pois_at),fr,nl,be,lu,gborit(admin-only France, Netherlands, Belgium, Luxembourg, United Kingdom and Italy experiments, tablesosm_pois_<code>); every country other thanchis refreshed monthly from its Geofabrik extract. Any other value answers 400.default: "ch"
Returns
200
POIs around the coordinate, in Overpass element shape.
304
If-None-Match matches the current ETag. Empty body.