↑ Все API

Геокодирование (координаты по адресу)

Определяет координаты адреса (дома, улицы, города). Только для России.

Как вызвать

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

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

curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Token ${API_KEY}" \
    -H "X-Secret: ${SECRET_KEY}" \
    -d '[ "москва сухонская 11" ]' \
    https://cleaner.dadata.ru/api/v1/clean/address
// https://github.com/hflabs/dadata-csharp

var token = "${API_KEY}";
var secret = "${SECRET_KEY}"
var api = new CleanClientAsync(token, secret);
var result = await api.Clean<Address>("москва сухонская 11");
// https://github.com/webdeskltd/dadata

token := "${API_KEY}"
secret := "${SECRET_KEY}"
dadata := dadata.NewDaData(token, secret)
result, err := dadata.CleanAddresses("москва сухонская 11")
var url = "https://cleaner.dadata.ru/api/v1/clean/address";
var token = "${API_KEY}";
var secret = "${SECRET_KEY}";
var query = "москва сухонская 11";

var options = {
    method: "POST",
    mode: "cors",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Token " + token,
        "X-Secret": secret
    },
    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}";
$secret = "${SECRET_KEY}";
$dadata = new \Dadata\DadataClient($token, $secret);
$result = $dadata->clean("address", "москва сухонская 11");
# https://github.com/hflabs/dadata-py

from dadata import DadataAsync
token = "${API_KEY}"
secret = "${SECRET_KEY}"
dadata = DadataAsync(token, secret)
result = await dadata.clean("address", "москва сухонская 11")

Укажите при вызове:

  • Content-Type: application/json.
  • ${API_KEY} — API-ключ.
  • ${SECRET_KEY} — секретный ключ.

Тело запроса передавайте в кодировке UTF-8.

Что в ответе

Адрес с координатами:

[
{
    "source": "москва сухонская 11",
    "result": "г Москва, ул Сухонская, д 11",
    "postal_code": "127642",
    "country": "Россия",
    "region": "Москва",
    "city_area": "Северо-восточный",
    "city_district": "Северное Медведково",
    "street": "Сухонская",
    "house": "11",
    "geo_lat": "55.8782557",
    "geo_lon": "37.65372",
    "qc_geo": 0
}
]

Координаты возвращаются в полях geo_lat и geo_lon. Поле qc_geo показывает, насколько точно удалось определить координаты:

Код qc_geo Описание
0 Точные координаты дома
1 Ближайший дом
2 Улица
3 Населенный пункт
4 Город
5 Координаты не определены

Метод возвращает больше полей, чем показано в примере. Описание всех полей см. в API Стандартизации.

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

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

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

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

По улицам:

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

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

Ограничения

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

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

Дадата не поддерживает вызов этого метода из JavaScript. Иначе злоумышленник мог бы похитить секретный ключ и использовать API за ваш счет.

Стоимость

5–10 копеек за запись, скидки за объём.

ajax-spinner

Зарегистрируйтесь, чтобы подключить API

до 10 тыс. запросов в день — бесплатно

чтобы обращаться к вам в письмах

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

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