Una chiamata. Layer geo completo.
Fornisci un indirizzo. Ricevi coordinate, gerarchia del quartiere e luoghi vicini in un'unica risposta. Tutto ciò di cui le tue pagine di annunci hanno bisogno per diventare visibili all'IA, in una sola chiamata API.
Come funziona
Nessun assemblaggio di più servizi. Un endpoint gestisce geocodifica, risoluzione del quartiere e ricerca POI in una singola chiamata.
Passa qualsiasi stringa di indirizzo grezza, un codice postale o una coppia di coordinate a GET /v1/geoenrich. Nessuna pre-elaborazione o normalizzazione dell'indirizzo richiesta.
L'API geocodifica l'indirizzo con precisione al tetto, risolve la gerarchia del quartiere e analizza oltre 1 miliardo di POI indicizzati entro il raggio scelto, restituendo valutazioni, linee di trasporto, orari di apertura e tempi di percorrenza.
Ogni campo nella risposta si mappa direttamente su una proprietà schema.org. Inserisci le coordinate in GeoCoordinates, il quartiere in containedInPlace e i luoghi vicini in amenityFeature. Nessuna trasformazione necessaria.
La maggior parte dei database di annunci memorizza ciò che gli utenti inseriscono: indirizzo, prezzo, camere. Non sono mai stati progettati per fornire un contesto geografico leggibile dalle macchine. GeoEnrich API colma quel divario in una singola richiesta, restituendo coordinate, analisi del quartiere, trasporti in tempo reale, valutazioni, tempi di percorrenza e molto altro.
GET https://api.mapatlas.eu/v1/geoenrich
?address=Kollwitzstraße 65, Berlin
&radius=600
&categories=transit,education,leisure,supermarket
&include=neighborhoodProfile,realtime,busyness
&key=YOUR_API_KEY{
"address": {
"street": "Kollwitzstraße 65",
"postalCode": "10405",
"city": "Berlin",
"country": "DE"
},
"coordinates": {
"lat": 52.53841,
"lng": 13.41327,
"accuracy": "rooftop",
"elevation": 42
},
"adminHierarchy": {
"subDistrict": "Kollwitzkiez",
"neighborhood": "Prenzlauer Berg",
"district": "Pankow",
"city": "Berlin",
"state": "Berlin",
"country": "DE",
"postalCode": "10405"
},
"neighborhoodProfile": {
"tags": ["family-friendly", "trendy", "cycling-culture", "cafe-dense"],
"walkScore": 94,
"bikeScore": 91,
"transitScore": 98,
"noiseLevel": "moderate",
"airQualityIndex": 38,
"greenSpaceCoverage": "18%"
},
"dataTimestamp": "2026-03-01T00:00:00Z",
"radius": 600,
"poiCount": 1328,
"nearby": [
{
"name": "Eberswalder Str.",
"type": "transit",
"subtype": "metro",
"distance": 140,
"bearing": "NW",
"lines": ["U2"],
"destinations": ["Pankow", "Ruhleben"],
"frequency": "every 5 min (peak)",
"accessibility": "step-free",
"realtime": {
"nextDeparture": "in 3 min",
"direction": "Pankow",
"platform": "platform 1"
},
"travel": {
"walking": { "duration": "2 min", "distance": "140m" },
"cycling": { "duration": "1 min", "distance": "150m" },
"driving": { "duration": "1 min", "distance": "180m" }
}
},
{
"name": "Bus 142 / N2 at Eberswalder Str.",
"type": "transit",
"subtype": "bus",
"distance": 145,
"bearing": "NW",
"lines": ["142", "N2"],
"destinations": ["Ostbahnhof", "Zoologischer Garten"],
"frequency": "every 10 min (day) / 30 min (night)",
"realtime": {
"nextDeparture": "in 7 min",
"direction": "Ostbahnhof"
},
"travel": {
"walking": { "duration": "2 min", "distance": "145m" },
"cycling": { "duration": "1 min", "distance": "155m" },
"driving": { "duration": "1 min", "distance": "180m" }
}
},
{
"name": "Kollwitzplatz",
"type": "leisure",
"subtype": "park",
"distance": 210,
"bearing": "SE",
"openingHours": "24/7",
"size": "1.2 ha",
"amenities": ["playground", "dog-friendly", "benches", "fountain", "market-tue-sat"],
"rating": 4.6,
"reviews": 1842,
"busyness": {
"now": "quiet",
"peak": "Sat 11:00-14:00"
},
"travel": {
"walking": { "duration": "3 min", "distance": "210m" },
"cycling": { "duration": "1 min", "distance": "225m" },
"driving": { "duration": "1 min", "distance": "350m" }
}
},
{
"name": "Grundschule am Kollwitzplatz",
"type": "education",
"subtype": "primary_school",
"distance": 380,
"bearing": "E",
"ageRange": "6-12",
"schoolType":"public",
"capacity": 340,
"languages": ["German", "English"],
"rating": 4.2,
"reviews": 156,
"travel": {
"walking": { "duration": "5 min", "distance": "380m" },
"cycling": { "duration": "2 min", "distance": "410m" },
"driving": { "duration": "2 min", "distance": "520m" }
}
},
{
"name": "REWE Kollwitzstraße",
"type": "supermarket",
"subtype": "grocery",
"distance": 490,
"bearing": "N",
"openingHours": {
"mon-sat": "07:00-22:00",
"sun": "08:00-22:00"
},
"priceLevel": "$$",
"deliveryAvailable": true,
"paymentMethods": ["card", "cash", "contactless"],
"rating": 4.1,
"reviews": 892,
"busyness": {
"now": "busy",
"peak": "Mon-Fri 17:00-19:00"
},
"travel": {
"walking": { "duration": "6 min", "distance": "490m" },
"cycling": { "duration": "2 min", "distance": "510m" },
"driving": { "duration": "2 min", "distance": "650m" }
}
}
// ... 1,323 more across 18 categories
]
}Data at a scale and speed never available before
1B+
POIs indexed globally
Transit, retail, education & more
180+
Countries covered
Consistent schema everywhere
<200ms
Avg. API response
At any scale, any location
18
Data categories
Per single API call
One call returns every relevant place within your chosen radius, organized by category. Each dataset carries a dataTimestamp so AI engines and search crawlers know exactly how current your location data is.
Kollwitzstraße 65
Prenzlauer Berg · Berlin · DE
Nearby within 600m
Data verified · March 2026
Monthly refresh · dataTimestamp: 2026-03-01
Every field in the response maps directly to a schema.org property. Coordinates, neighborhood hierarchy, walkScore, transit lines, ratings, opening hours, travel times. No transformation needed.
lat/lng a precisione tetto con altitudine. Alimenta direttamente lo schema GeoCoordinates.
Gerarchia completa più walkScore, bikeScore, transitScore, livello di rumorosità, indice di qualità dell'aria e tag di carattere. Alimenta containedInPlace e il contesto del quartiere.
Oltre 1.328 POI con valutazioni, orari di apertura, linee di trasporto, partenze in diretta, tempi di percorrenza e dati sull'affluenza. Alimenta lo schema amenityFeature.
Nessuna configurazione complessa. Nessun assemblaggio di più chiamate. Fornisci un indirizzo, ricevi il layer geo completo necessario per alimentare il markup schema.org su ogni pagina di annuncio.
{
"@context": "https://schema.org",
"@type": "Apartment",
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.5384,
"longitude": 13.4132
},
"containedInPlace": {
"@type": "Place",
"name": "Prenzlauer Berg",
"containedInPlace": { "@type": "City", "name": "Berlin" }
},
"amenityFeature": [
{ "@type": "LocationFeatureSpecification",
"name": "Eberswalder Str.", "value": true,
"description": "140m nearby" }
],
"dateModified": "2026-03-01T00:00:00Z"
}The GeoEnrich API works for any listing: vacation rentals, real estate, hotels, or experiences. The API call is identical. Only the schema type differs. See how listing portals use this at scale.
Fai apparire le singole pagine di affitto nelle query IA come 'villa sul mare vicino a Faro con ristoranti a piedi'.
Mostra gli annunci per query come 'appartamenti a Prenzlauer Berg vicino alla metro' senza inserimento manuale dei dati.
Ottieni citazioni IA per query come 'hotel boutique nel Marais, raggiungibile a piedi dai musei'.
Vieni citato per query come 'corso di cucina a Barcellona vicino al Quartiere Gotico'.
Un singolo endpoint restituisce il layer di dati geo completo di cui le tue pagine di annunci hanno bisogno per diventare visibili all'IA.
Precisione a quattro cifre decimali. Popola lo schema GeoCoordinates su ogni pagina di annuncio così i motori IA possono posizionarlo nello spazio geografico.
Quartiere, distretto, città e paese risolti dall'indirizzo. Alimenta la catena containedInPlace per il recupero IA a livello di area.
Trasporti, istruzione, tempo libero e assistenza sanitaria entro un raggio configurabile. Ogni luogo viene restituito con distanza e tempo a piedi per lo schema amenityFeature.
Ogni risposta include un dataTimestamp aggiornato mensilmente. Mappalo su dateModified nel tuo JSON-LD affinché i motori IA vedano dati verificati e aggiornati.
Progettato per database di 50.000 annunci o più. Esegui il processo di arricchimento una volta in fase di build, metti in cache il layer geo e servi a costo zero per ogni richiesta.
Completamente ospitato in UE con documentazione di conformità GDPR e clausole contrattuali standard. Nessun rischio di residenza dei dati per i portali di annunci europei.
Inizia a costruire con MapAtlas oggi. Registrati gratuitamente e ottieni accesso istantaneo a tutte le nostre API di mappatura con limiti generosi per il livello gratuito.
Tutto ciò che devi sapere prima di arricchire il tuo primo annuncio.