Skip to main content

Points of Interest

Three spatial endpoints that return the nearest UK airports, hospitals, or tourist attractions to any coordinate. Backed by a PostGIS ST_DWithin radius search over curated UK datasets.
Required scope: areas:read — included in all three plans (Starter, Professional, Business).

Nearby airports

GET /api/v1/points-of-interest/airports
Returns commercial and regional UK airports within a radius. Defaults to a 50 km radius — most short-let investors target properties within ~1 hour of a major airport.

Query parameters

ParamTypeDefaultRangeDescription
latfloatrequired-90 to 90Latitude in WGS84
lonfloatrequired-180 to 180Longitude in WGS84
radius_kmfloat50.01.0 - 200.0Search radius in kilometres
limitint101 - 50Maximum results

Example

curl "https://api.propaideals.co.uk/api/v1/points-of-interest/airports?lat=51.47&lon=-0.45&radius_km=30" \
  -H "Authorization: Bearer $PROPAI_API_KEY"
{
  "data": {
    "category": "airports",
    "lat": 51.47,
    "lon": -0.45,
    "radius_km": 30.0,
    "count": 3,
    "records": [
      {
        "name": "London Heathrow",
        "city": "London",
        "region": "Greater London",
        "latitude": 51.4706,
        "longitude": -0.4619,
        "type": "international",
        "distance_meters": 1180,
        "extra": { "iata_code": "LHR", "icao_code": "EGLL" }
      }
    ]
  },
  "meta": { "request_id": "...", "timestamp": 1731.., "latency_ms": 34 }
}

Nearby hospitals

GET /api/v1/points-of-interest/hospitals
Returns NHS and private hospitals within a radius. Defaults to 5 km — the typical catchment area for targeting BTL units to healthcare workers.

Query parameters

ParamTypeDefaultRange
latfloatrequired-90 to 90
lonfloatrequired-180 to 180
radius_kmfloat5.00.5 - 50.0
limitint201 - 100

Example

curl "https://api.propaideals.co.uk/api/v1/points-of-interest/hospitals?lat=51.5074&lon=-0.1278&radius_km=3" \
  -H "Authorization: Bearer $PROPAI_API_KEY"
{
  "data": {
    "category": "hospitals",
    "lat": 51.5074,
    "lon": -0.1278,
    "radius_km": 3.0,
    "count": 8,
    "records": [
      {
        "name": "University College Hospital",
        "city": "London",
        "region": "Greater London",
        "latitude": 51.5246,
        "longitude": -0.1357,
        "type": "nhs_acute",
        "distance_meters": 1850,
        "extra": { "nhs_code": "RRV03" }
      }
    ]
  }
}

Nearby tourist attractions

GET /api/v1/points-of-interest/tourist-attractions
Returns tourist attractions (museums, historic sites, theme parks, beaches) within a radius. Each record exposes annual_visitors when known — a strong demand signal for serviced accommodation and short-let investors.

Query parameters

ParamTypeDefaultRange
latfloatrequired-90 to 90
lonfloatrequired-180 to 180
radius_kmfloat5.00.5 - 50.0
limitint201 - 100

Example

curl "https://api.propaideals.co.uk/api/v1/points-of-interest/tourist-attractions?lat=51.5014&lon=-0.1419&radius_km=2" \
  -H "Authorization: Bearer $PROPAI_API_KEY"
{
  "data": {
    "category": "tourist-attractions",
    "lat": 51.5014,
    "lon": -0.1419,
    "radius_km": 2.0,
    "count": 12,
    "records": [
      {
        "name": "The British Museum",
        "city": "London",
        "region": "Greater London",
        "latitude": 51.5194,
        "longitude": -0.1270,
        "type": "museum",
        "distance_meters": 2140,
        "extra": { "annual_visitors": 4097253 }
      }
    ]
  }
}

Response record fields

FieldTypeDescription
namestringName of the POI
citystring | nullCity
regionstring | nullRegion / county
latitudefloatWGS84 latitude
longitudefloatWGS84 longitude
typestring | nullSubtype (e.g. international, nhs_acute, museum)
distance_metersintStraight-line distance from the query point
extraobjectCategory-specific extras (iata_code, nhs_code, annual_visitors, …)

Notes

  • Results are ordered by ascending distance_meters.
  • Coordinates are in WGS84 (EPSG:4326).
  • Data is curated from Ordnance Survey OpenData, NHS Digital, Historic England, and public tourism datasets.
  • All three endpoints cost 1 request against your monthly quota.