Points endpoint

Fetch all points of interest inside a geographic bounding box, optionally filtered by category. Use this to populate a custom map.

GET https://{country}.yatmo.com/points LicenseKey header

Request

Required parameters

Name In Type Description
bound1 required query string First bounding-box corner as "latitude,longitude" (e.g. 50.83,4.31).
bound2 required query string Opposite corner as "latitude,longitude".
language required query string ISO 639-1 code. Falls back to EN if unsupported.
groupSamePositions required query boolean If true, collapse multiple POIs at the same coordinate into a single entry.

Optional parameters

Name In Type Description
poiTypesIds query string Comma-separated POI type IDs (from /categories). Omit to get all types.
caringForBigResponse query boolean If true, reject bounding boxes too large to compute. Set to false only if you really need a wide area. Default: true.
summaryMode query boolean If true, return a sampled subset (one per category) suitable for an overview map; otherwise return up to 200 closest. Default: false.

Examples

curl -H 'LicenseKey: YOUR_KEY' \
  'https://be.yatmo.com/points?bound1=50.83,4.31&bound2=50.86,4.40&language=EN&groupSamePositions=true&poiTypesIds=1,2,3'
const url = new URL('https://be.yatmo.com/points');
url.searchParams.set('bound1', '50.83,4.31');
url.searchParams.set('bound2', '50.86,4.40');
url.searchParams.set('language', 'EN');
url.searchParams.set('groupSamePositions', 'true');
url.searchParams.set('poiTypesIds', '1,2,3');

const res = await fetch(url, { headers: { LicenseKey: 'YOUR_KEY' } });
const points = await res.json();
$params = http_build_query([
    'bound1' => '50.83,4.31',
    'bound2' => '50.86,4.40',
    'language' => 'EN',
    'groupSamePositions' => 'true',
    'poiTypesIds' => '1,2,3',
]);
$ch = curl_init("https://be.yatmo.com/points?$params");
curl_setopt($ch, CURLOPT_HTTPHEADER, ['LicenseKey: YOUR_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$points = json_decode(curl_exec($ch), true);
curl_close($ch);
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("LicenseKey", "YOUR_KEY");
var qs = "bound1=50.83,4.31&bound2=50.86,4.40&language=EN&groupSamePositions=true&poiTypesIds=1,2,3";
var json = await http.GetStringAsync($"https://be.yatmo.com/points?{qs}");

Response shape

An array of compact POI objects. Field names are intentionally short (the payload can be large):

Name In Type Description
n string POI name.
la double Latitude.
ln double Longitude.
p string POI type ID (matches the ids returned by /categories).
i string Icon index for rendering.
si string Sub-icon index (variant; nullable).
sd string? Specific data (e.g. IATA code for airports). Nullable.
fid string? Filter ID for category grouping.
g boolean True if this row represents multiple grouped POIs (when groupSamePositions=true).

Notes