Summary endpoint
Get neighbourhood intelligence for a coordinate — nearest POIs grouped by category, closest cities, and travel times. The single most useful endpoint for real-estate use cases.
GET
https://{country}.yatmo.com/summary
LicenseKey header
Cached server-side for 7 days per (lat, lng, language).
Request
Required parameters
| Name | In | Type | Description |
|---|---|---|---|
| latitude required | query | double | Latitude in decimal degrees. Must be inside the country’s borders. |
| longitude required | query | double | Longitude in decimal degrees. Must be inside the country’s borders. |
| language required | query | string | ISO 639-1 code (EN, FR, NL, DE, IT, ES, PT, CA). Falls back to EN if unsupported for the country. |
Optional parameters
| Name | In | Type | Description |
|---|---|---|---|
| avoidCheckIfAlreadyExists | query | boolean |
Force a fresh computation, skipping the storage-layer cache. Avoid using for normal traffic.
Default: false. |
Examples
curl -H 'LicenseKey: YOUR_KEY' \
'https://be.yatmo.com/summary?latitude=50.8520525&longitude=4.3442926&language=EN'
const res = await fetch(
'https://be.yatmo.com/summary?latitude=50.8520525&longitude=4.3442926&language=EN',
{ headers: { LicenseKey: 'YOUR_KEY' } }
);
const summary = await res.json();
console.log(summary.CloseCities);
$ch = curl_init('https://be.yatmo.com/summary?latitude=50.8520525&longitude=4.3442926&language=EN');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['LicenseKey: YOUR_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$body = curl_exec($ch);
curl_close($ch);
$summary = json_decode($body, true);
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("LicenseKey", "YOUR_KEY");
var url = "https://be.yatmo.com/summary?latitude=50.8520525&longitude=4.3442926&language=EN";
var json = await http.GetStringAsync(url);
// Deserialize into your own DTO matching CustomerItemSummary
Response shape
The response is a CustomerItemSummary object. The most important fields:
| Name | In | Type | Description |
|---|---|---|---|
| AvailableCategoriesAroundPosition | array | POI categories ranked by proximity, each with subcategories and the closest 1-N POIs. | |
| CloseCities | array | Nearest major cities with travel time + distance. | |
| PlaceInformation | object? | Street, city, zip when Yatmo can resolve the address; null otherwise. |
Each POI nested in AvailableCategoriesAroundPosition[*].SubCategories[*].Data[*] carries a TravelDataElements array with one entry per travel mode (driving, walking, cycling, transit) — each with both raw values (PreciseTravelDistanceData in meters, TravelTime in seconds) and pre-formatted labels (PreciseTravelDistanceLongLabel, TravelTimeShortLabel, etc.) in the requested language.
Compact field names
Some leaf fields use 2-3 letter names to keep the payload small (
n = name, la/lo = lat/lng, td = TravelDataElements, etc.). The example response above shows the full mapping.Notes
- First call for a new lat/lng is ~1s. Subsequent calls hit the server cache (7-day TTL) and return in tens of milliseconds.
- Coordinates outside the country’s borders return 400 with the message
Geolocation outside <COUNTRY>. Use the right country subdomain. - Two variants for narrative text:
GET /summary/textreturns multilingual paragraphs;GET /summary/text-and-datareturns both the structured data and the paragraphs. - See related: Points, Categories, Recipe: replicate the Summary plugin.