Skip to main content

API обогащения адресов

Геокодирование, иерархия районов и ближайшие POI в одном вызове.

Передайте адрес. Получите координаты, иерархию районов и ближайшие места в одном ответе. Всё, что нужно страницам ваших объявлений для видимости в ИИ, в одном вызове API.

Как Это Работает

Три шага до полностью обогащённого объявления.

Никакого объединения нескольких сервисов. Один эндпоинт обрабатывает геокодирование, определение района и поиск POI в одном запросе.

01

Отправьте адрес

Передайте любую строку адреса, почтовый индекс или пару координат на GET /v1/geoenrich. Предварительная обработка или нормализация адреса не требуется.

02

MapAtlas определяет полный геослой

API геокодирует адрес с точностью до крыши, определяет иерархию районов и сканирует 1B+ индексированных POI в выбранном радиусе, возвращая рейтинги, транзитные маршруты, часы работы и время в пути.

03

Вставьте в JSON-LD и публикуйте

Каждое поле ответа напрямую соответствует свойству schema.org. Поместите координаты в GeoCoordinates, район в containedInPlace, ближайшие места в amenityFeature. Преобразования не нужны.

The API

Один запрос. Полная геоаналитика.

Большинство баз данных объявлений хранят то, что вводят люди: адрес, цену, количество комнат. Они никогда не были рассчитаны на машиночитаемый географический контекст. GeoEnrich API закрывает этот пробел в одном запросе, возвращая координаты, аналитику района, транзитные данные в реальном времени, рейтинги, время в пути и многое другое.

  • Передайте строку адреса. Предварительная обработка не нужна.
  • Получите координаты, полную иерархию районов и оценки профиля.
  • Получите ближайшие места с рейтингами, часами работы и транзитными данными.
  • Каждое поле напрямую соответствует свойству schema.org.
RequestGET
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
ResponseJSON
{
  "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

Surrounding Context

Every nearby place, verified fresh.

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.

  • Transit stops, parks, schools, restaurants, all in one response
  • Configurable radius from 100m to 5km
  • Monthly refresh cycle with verified timestamps
  • AI engines cite fresh, timestamped data over stale listings

Kollwitzstraße 65

Prenzlauer Berg · Berlin · DE

Nearby within 600m

Eberswalder Str.U2Pankow ↔ Ruhleben · 5 min freq.
2 min1 min1 min
140m
Bus 142 / N2 at EberswalderBUSOstbhf ↔ Zoo
2 min1 min1 min
145m
Kollwitzplatz 4.6leisure
3 min1 min1 min
210m
Grundschule am Kollwitzplatzeducationages 6–12
5 min2 min2 min
380m
REWE Kollwitzstraße 4.1
Mon–Sat 07:00–22:00 · Sun 08:00–22:00
6 min2 min2 min
490m
+ 1,323 more placesacross 18 categories in full response

Data verified · March 2026

Monthly refresh · dataTimestamp: 2026-03-01

Что возвращает один запрос

Coordinates. Neighborhood profile. Nearby places.

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 с точностью до крыши здания и высотой. Напрямую обеспечивает схему GeoCoordinates.

latlngelevation

Аналитика Района

Полная иерархия плюс walkScore, bikeScore, transitScore, уровень шума, индекс качества воздуха и теги характера района. Обеспечивает containedInPlace и контекст района.

neighborhooddistrictwalkScorenoiseLevel

Богатые Ближайшие Места

1 328+ POI с рейтингами, часами работы, транзитными маршрутами, данными об отправлении, временем в пути и загруженностью. Обеспечивает схему amenityFeature.

nametypedistancerealtimerating
GeoEnrich API

Просто. Предсказуемо. Один эндпоинт.

Никакой сложной настройки. Никакого ручного объединения множества вызовов. Передайте адрес, получите полный геослой для schema.org-разметки на каждой странице объявления.

  • Один эндпоинт обрабатывает геокодирование и поиск POI вместе
  • Опциональные фильтры радиуса и категорий для точного контроля
  • Ответ напрямую отображается в JSON-LD без преобразований
  • Запускайте при сборке для нулевых текущих затрат на запрос
Check your listing pages with the AEO Checker
JSON-LD outputschema.org
{
  "@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"
}
Для любого типа объявлений

One API call. Every listing type.

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.

Аренда Жилья

Сделайте страницы отдельных объектов аренды заметными в ИИ-запросах, например 'вилла у моря рядом с Фару с ресторанами поблизости'.

Недвижимость

Показывайте объявления по запросам 'квартиры в Пренцлауэр-Берг рядом с метро' без ручного ввода данных.

Отели

Получайте упоминания в ИИ по запросам 'бутик-отель в Марэ, пешая доступность до музеев'.

Впечатления

Попадайте в цитаты по запросам 'кулинарный мастер-класс в Барселоне рядом с Готическим кварталом'.

Всё в Одном Ответе

Один эндпоинт возвращает полный геослой данных, необходимый страницам ваших объявлений для видимости в ИИ.

Точные Координаты

Точность до четырёх знаков после запятой. Заполняет схему GeoCoordinates на каждой странице объявления, чтобы ИИ-системы могли определить его географическое положение.

Иерархия Районов

Район, округ, город и страна определяются по адресу. Обеспечивает цепочку containedInPlace для ИИ-поиска на уровне района.

Ближайшие Места

Транспорт, образование, досуг и здравоохранение в настраиваемом радиусе. Каждое место возвращается с расстоянием и временем ходьбы для схемы amenityFeature.

Ежемесячное Обновление Данных

Каждый ответ содержит dataTimestamp, обновляемый ежемесячно. Сопоставьте его с dateModified в вашем JSON-LD, чтобы ИИ-системы видели актуальные, проверенные данные.

Создан для Массовой Обработки

Разработан для баз данных от 50 000 объявлений и более. Запустите задачу обогащения один раз при сборке, кэшируйте геослой и обслуживайте без дополнительных затрат на запрос.

Размещён в ЕС, Соответствует GDPR

Полностью размещён в ЕС с документацией о соответствии GDPR и стандартными договорными положениями. Никаких рисков для европейских порталов объявлений.

Технические Характеристики

Эндпоинт

Метод
GET /v1/geoenrich
Формат Ответа
JSON (schema.org-ready)

Параметры

address
Обязательно. Строка адреса.
radius
Метры. По умолчанию 600.

Поля Ответа

coordinates
lat / lng (4 знака после запятой)
nearby[]
name, type, distance (метры)

Готовы Начать?

Начните создавать с MapAtlas сегодня. Зарегистрируйтесь бесплатно и получите мгновенный доступ ко всем нашим API картографии с щедрыми лимитами бесплатного уровня.

GeoEnrich API: частые вопросы

Всё, что нужно знать перед обогащением первого объявления.

GeoEnrich API: частые вопросы

Всё, что нужно знать перед обогащением первого объявления.

Какие данные возвращает GeoEnrich API?
Один запрос возвращает: координаты с точностью до крыши (lat/lng), полную иерархию районов (субрайон, район, округ, город, штат, страна, почтовый индекс) и список ближайших мест в выбранном радиусе. Каждое ближайшее место включает название, тип, расстояние, направление, время в пути пешком, на велосипеде и на автомобиле, а также подробности: маршруты транзита, часы работы, рейтинги и данные о загруженности. Ответ также включает neighborhoodProfile с walkScore, bikeScore, transitScore, индексом качества воздуха и уровнем шума.
В чём разница между GeoEnrich API и Geocoding API?
Geocoding API преобразует адрес в координаты. GeoEnrich API идёт намного дальше: он объединяет геокодирование с определением района и полным поиском POI в одном запросе. Вместо пары lat/lng он возвращает всё, что нужно странице объявления для видимости в ИИ, включая поля schema.org для GeoCoordinates, containedInPlace и amenityFeature.
Как часто обновляются данные о местоположении?
Данные POI, расписания транзита, рейтинги и часы работы обновляются ежемесячно. Каждый ответ содержит поле dataTimestamp, чтобы вы могли отображать дату обновления как dateModified в вашем JSON-LD. ИИ-системы и поисковые краулеры считают данные со свежей меткой времени более надёжными, что улучшает частоту цитирования.
Работает ли GeoEnrich API во всех странах?
Да. API охватывает 180+ стран с единым форматом JSON и одинаковым сопоставлением полей schema.org везде. Глубина покрытия варьируется по регионам: европейские города имеют наиболее детальные данные о POI и транзите, тогда как глобальное покрытие включает координаты, иерархию районов и основные категории POI.
Можно ли запускать GeoEnrich на большой базе объявлений?
API специально создан для массового использования. Запустите задачу обогащения один раз при сборке, кэшируйте геослой для каждого объявления и обслуживайте без текущих затрат на запрос. Бесплатный уровень включает 50 000 обогащений в месяц. Более крупные планы поддерживают более высокую пропускную способность с поддержкой пакетного эндпоинта.
Как геоданные помогают страницам объявлений ранжироваться в ИИ-поиске?
ИИ-поисковики, такие как Perplexity, ChatGPT и Google AI Overviews, отвечают на запросы вроде 'квартиры рядом с метро в Пренцлауэр-Берг', читая структурированные данные в вашем HTML. Без разметки schema.org для GeoCoordinates, containedInPlace и amenityFeature ваши объявления невидимы для этих систем. GeoEnrich предоставляет именно те геоданные, необходимые для заполнения этой разметки в масштабе.
Соответствует ли GeoEnrich API требованиям GDPR?
Да. Вся обработка происходит на инфраструктуре, размещённой в ЕС. Адреса и координаты не хранятся за пределами жизненного цикла запроса. MapAtlas предоставляет стандартные договорные положения и документацию о соответствии GDPR для европейских порталов объявлений и операторов данных.
Может ли GeoEnrich API вернуть географическое местоположение по IP-адресу?
Да. Передайте IP-адрес, и GeoEnrich вернёт его приблизительное географическое местоположение: страну, регион, город и координаты. IP-геолокация полезна для центрирования карты по умолчанию, сигналов фрода и локализации контента до того, как пользователь поделится точным местоположением. Все запросы выполняются на инфраструктуре, размещённой в ЕС.
Насколько точна IP-геолокация по сравнению с координатами GPS?
IP-геолокация определяет местоположение на уровне города или региона, а не с точностью до улицы, как GPS. Используйте её для грубых значений по умолчанию и аналитики, а Geocoding API или GPS устройства, когда нужен точный адрес или точка. GeoEnrich позволяет объединить оба подхода в одном запросе обогащения.