Points of Interest
List points of interest
Returns nearby points of interest (POIs) for an arbitrary latitude/longitude pair.
POST
List points of interest near a coordinate
Overview
This endpoint returns the neighbourhood points of interest for any coordinate pair, using the exact same selection logic as the Marketability Report — so an ad-hoc lookup and a report’s neighbourhood section always return the same POIs for the same coordinates. Although the operation is a read with no side effects, the coordinates are passed in a JSON request body, which is why the endpoint usesPOST rather than GET.
The route requires the trailing slash (
/api/points-of-interest/). A
redirected slashless POST can drop its request body in some clients.Request body
Send a JSON object with both coordinates:| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
latitude | number | Yes | -90 ≤ value ≤ 90 | Latitude to search around. |
longitude | number | Yes | -180 ≤ value ≤ 180 | Longitude to search around. |
40.7120 and 40.712 are the same value).
Selection logic
Each POI category is searched within its own radius around the queried point:| Category | Search radius |
|---|---|
| Airport | 10 000 m |
| Metro / Future metro / Tram / Train | 2 000 m |
| All other place types | 1 000 m |
Response fields
The response is a JSON array of POI objects (an empty array[] when nothing is within range — this is not an error condition).
| Field | Type | Description |
|---|---|---|
id | integer | POI identifier. |
external_id | string | null | Identifier from the source dataset. |
name_en | string | null | English name. |
name_gr | string | null | Greek name. |
place_category | string | null | Source-provided category label. |
place_type | string | POI type (see values below). |
latitude | number | null | POI latitude. |
longitude | number | null | POI longitude. |
distance | number | null | Distance from the queried point, in metres, rounded to 2 decimals. |
place_type values
airport, bank, bus_stop, bus_station, metro_station, future_metro_station, tram_station, elementary_school, high_school, primary_school, kindergarden, hospital, clinic, park, playground, fuel_station, sports, church, police, post_office, shopping_mall, train_station, university, city_hall, supermarket
Errors
| Status | When |
|---|---|
400 Bad Request | Missing latitude/longitude, out-of-range value, or non-numeric value. |
401 Unauthorized | Missing or invalid JWT. |
Example request
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Points of interest near the queried coordinate, ordered nearest-first. An empty array means nothing is within range — not an error.
POI identifier.
Identifier from the source dataset.
English name.
Greek name.
Source-provided category label.
POI type.
Available options:
airport, bank, bus_stop, bus_station, metro_station, future_metro_station, tram_station, elementary_school, high_school, primary_school, kindergarden, hospital, clinic, park, playground, fuel_station, sports, church, police, post_office, shopping_mall, train_station, university, city_hall, supermarket POI latitude.
POI longitude.
Distance from the queried point, in metres, rounded to 2 decimals.
List points of interest near a coordinate
