↑ Все API

Обратное геокодирование (адрес по координатам)

Находит ближайшие адреса (дома, улицы, города) по географическим координатам. Только для России.

Как вызвать

Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.

Пример запроса:

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  "https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/address?lat=55.878&lon=37.653"
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  -d '{ "lat": 55.878, "lon": 37.653 }' \
  https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/address
// https://github.com/hflabs/dadata-csharp

var token = "${API_KEY}";
var api = new SuggestClientAsync(token);
var result = await api.Geolocate(lat: 55.878, lon: 37.653);
// https://github.com/webdeskltd/dadata

token := "${API_KEY}"
dadata := dadata.NewDaData(token, "")
request := dadata.GeolocateRequest{Lat: 55.878, Lon: 37.653}
result, err := dadata.GeolocateAddress(request)
var url = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/address";
var token = "${API_KEY}";
var query = { lat: 55.878, lon: 37.653 };

var options = {
    method: "POST",
    mode: "cors",
    headers: {
        "Content-Type": "application/json",
        "Accept": "application/json",
        "Authorization": "Token " + token
    },
    body: JSON.stringify(query)
}

fetch(url, options)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
// https://github.com/hflabs/dadata-php

$token = "${API_KEY}";
$dadata = new \Dadata\DadataClient($token, null);
$result = $dadata->geolocate("address", 55.878, 37.653);
# https://github.com/hflabs/dadata-py

from dadata import DadataAsync
token = "${API_KEY}"
dadata = DadataAsync(token)
result = await dadata.geolocate(name="address", lat=55.878, lon=37.653)

Параметры запроса

Название Тип Обяз.? По умолч. Описание
lat number Географическая широта
lon number Географическая долгота
count number 10 Количество результатов (максимум — 20)
radius_meters number 100 Радиус поиска в метрах (максимум – 1000)
language string ru На каком языке вернуть результат (ru / en)

Пример запроса с ограничением по радиусу в 50 м:

{
  "lat": 55.601983, "lon": 37.359486, "radius_meters": 50
}

Что в ответе

Ответ:

{
    "suggestions": [
        {
            "value": "г Москва, ул Сухонская, д 11",
            "unrestricted_value": "127642, г Москва, ул Сухонская, д 11",
            "data": {...}
        },
        {
            "value": "г Москва, ул Сухонская, д 11А",
            "unrestricted_value": "127642, г Москва, ул Сухонская, д 11А",
            "data": {...}
        },
        {
            "value": "г Москва, ул Сухонская, д 13",
            "unrestricted_value": "127642, г Москва, ул Сухонская, д 13",
            "data": {...}
        },
        {
            "value": "г Москва, ул Сухонская, д 9",
            "unrestricted_value": "127642, г Москва, ул Сухонская, д 9",
            "data": {...}
        }
    ]
}

Адреса в ответе идут в порядке удаления от заданных координат.

У адреса обычный набор полей, но некоторые из них не заполняются:

city_area
city_district*
house_fias_id
house_kladr_id
flat_*
fias_code
fias_actuality_state
timezone
beltway_hit
beltway_distance
metro
qc_*

Покрытие координат

«Дадата» берет координаты домов и улиц из OpenStreetMap.

Покрытие по домам:

  • Москва — 97%,
  • Санкт-Петербург — 91%,
  • другие города-миллионники — 69%,
  • остальная Россия — 47%.

По улицам:

  • Москва — 95%,
  • Санкт-Петербург — 94%,
  • другие города-миллионники — 81%,
  • остальная Россия — 70%.

Примеры вызова

Ограничения

Длина запроса (параметр query) — не более 300 символов.

Количество запросов в день — в соответствии с тарифным планом.

Максимальная частота запросов — 20 в секунду.

Максимальная частота создания новых соединений — 60 в минуту.

Стоимость

Метод бесплатный до 10 000 запросов в день. Больше — в составе годовой подписки.

ajax-spinner

Зарегистрируйтесь, чтобы подключить API
до 10 тыс. запросов в день — бесплатно
чтобы обращаться к вам в письмах

Регистрируясь, вы принимаете публичную оферту

Уже зарегистрированы? Войти