Адреса
Возвращает до 20 подходящих адресов (по умолчанию 10) из ГАР/ФИАС с разбором на составляющие (components), кодами (codes: индекс, КЛАДР, ОКАТО, ОКТМО), уровнем детализации и гео-координатами.
Для миграции с DaData отправьте запрос на URL POST /suggestions/api/4_1/rs/suggest/address. Ответ вернётся в плоском data-формате, совместимом с SDK DaData. Тело запроса идентично.
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
| queryrequired | string | Текст запроса. |
| count | integer | Сколько подсказок вернуть (1–20, по умолчанию 10). |
| locations | array | Жёсткий фильтр — выдача только из указанных локаций. См. таблицу полей ниже. |
| locations_boost | array | Мягкое предпочтение — поднимает указанные локации выше, но не отсекает остальные. |
| locations_geo | array | Ограничение по радиусу — выдача только в пределах окружностей. Массив { lat, lon, radius_meters } (радиус по умолчанию 100 м, максимум 100 км). |
| division | string | municipal — вернуть адрес в муниципальном делении (округа/поселения) вместо административного. |
| ip | string | IP пользователя — повышает приоритет его региона в выдаче, если явные локации не заданы. |
| from_bound / to_bound | {value} | Срез по уровню детализации (регион … квартира). См. ниже. |
| lazy_fuzzy | bool | Нечёткий поиск с учётом опечаток (по умолчанию включён). |
| value_style | string | Форма строки value: natural (по умолчанию) — читаемая; fias — сокращённая форма ГАР (тип перед именем). См. ниже. |
Срез по уровню · from_bound / to_bound
Чтобы вернуть только один уровень — задайте одинаковые from_bound и to_bound. Диапазон (например street→house) вернёт улицы и дома. Если задан только from_bound, выдача включает указанный уровень и все более глубокие.
// только УЛИЦЫ
{
"query": "иркутск ленина",
"from_bound": { "value": "street" },
"to_bound": { "value": "street" }
}
// только ДОМА на улицах Ленина в Иркутске
{
"query": "ленина",
"locations": [{ "city": "Иркутск" }],
"from_bound": { "value": "house" },
"to_bound": { "value": "house" }
}| value | Уровень |
|---|---|
| region | регионы (субъекты) |
| area | районы |
| city | города |
| settlement | сёла, посёлки, деревни |
| street | улицы, переулки |
| house | дома |
| flat · room | квартиры/помещения, комнаты |
| stead · carplace | участки, машино-места |
city и settlement — разные уровни. Для всех населённых пунктов задайте диапазон from_bound: city → to_bound: settlement.
Автораспознавание ввода
Тип запроса определяется по содержимому query автоматически:
"38:36:000021" // кадастровый префикс → подсказки по кварталу
"38:36:000021:9597" // полный кадастровый номер → конкретный объект
"664003" // 6 цифр → поиск по почтовому индексуФорма строки value · value_style
Необязательное поле value_style задаёт форму собранной строки value. natural (по умолчанию) — читаемая: «Шолоховский р-н, Газовый пер». fias — сокращённая форма ГАР с типом перед именем: «р-н Шолоховский, пер Газовый» (по правилам сокращённого наименования адресообразующих элементов, Приказ Минфина № 171н).
Фильтрация по территории
Тело запроса: { "query": "…", "locations": [...], "locations_boost": [...] }. Оба параметра — массив записей. Поля внутри одной записи объединяются по И, записи между собой — по ИЛИ.
| Группа | Поля |
|---|---|
| По КЛАДР | kladr_id, region_kladr_id, area_kladr_id, city_kladr_id, settlement_kladr_id, street_kladr_id |
| По ФИАС | fias_id, region_fias_id, area_fias_id, city_fias_id, settlement_fias_id, street_fias_id |
| По имени | region, area, city, settlement, street |
| Прочее | postal_code, okato, oktmo |
kladr_id — один иерархический код КЛАДР любого уровня (регион / район / город / улица); уровень определяется автоматически.
// поднять выше — один код КЛАДР любого уровня (уровень определится сам)
"locations_boost": [{ "kladr_id": "3800000300000" }] // Иркутск
"locations_boost": [{ "kladr_id": "7700000000000" }] // вся Москва
// только Иркутск ИЛИ Татарстан
"locations": [{ "city": "Иркутск" }, { "region": "Татарстан" }]
// дом в конкретном городе (поля внутри записи = И)
"locations": [{ "city": "Казань", "street": "Баумана" }]Пример
POST /v1/suggest/address // native
POST /suggestions/api/4_1/rs/suggest/address // dadata-формат
// тело одинаково для обоих URL
{
"query": "москва тверская 7",
"count": 5,
"locations": [{ "region": "Москва" }] // фильтр: только Москва
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| query | string | Исходный текст запроса, по которому подобраны подсказки. |
| suggestions | array | Список найденных адресов; каждый элемент — один разобранный адрес с полями ниже. |
| suggestions[].value | string | Короткая форма адреса для отображения и автоподстановки в поле ввода. |
| suggestions[].full | string | Полная форма адреса с индексом (включая почтовый индекс). |
| suggestions[].level | string | До какого уровня детализирован адрес: region — регион, area — район, city — город, settlement — населённый пункт, territory — территория (СНТ/ГСК/квартал), street — улица, house — дом, stead — земельный участок, flat — квартира/помещение, room — комната, carplace — машино-место. |
| suggestions[].confidence | number | Уверенность ранжирования 0..1. Низкое значение у конкретного адреса (с номером дома) = адрес сомнителен/не найден — удобно показать «возможно, вы искали…». Виджет делает это сам (опция включена по умолчанию). |
| suggestions[].country | object | Страна: {name, iso} (для РФ — «Россия» / «RU»). |
| suggestions[].federal_district | string | Федеральный округ (например, «Центральный»). |
| suggestions[].address | object | Адрес строками по уровням, в письменной форме. Присутствуют только заполненные уровни. |
| address.region | string | Название региона (субъекта РФ). |
| address.area | string | Название района внутри региона. |
| address.city | string | Название города. |
| address.settlement | string | Название населённого пункта (село, посёлок и т.п.). |
| address.territory | string | Название территории внутри населённого пункта (СНТ, ГСК, квартал). |
| address.street | string | Название улицы. |
| address.house | string | Номер дома строкой (включая корпус/строение, если есть). |
| address.stead | string | Номер земельного участка. |
| address.flat | string | Номер квартиры или помещения. |
| address.room | string | Номер комнаты. |
| suggestions[].components | object | Структурированная раскладка адреса: те же уровни, что в address, но объектами с названием, типом и кодами. Присутствуют только заполненные уровни (region, area, city, settlement, territory, street, house, stead, flat, room). |
| components.region | object | Уровень «регион» в виде объекта name/type/fias_id/kladr_id. |
| components.region.name | string | Название региона без типа. |
| components.region.type | string | Тип/сокращение уровня (например «г», «обл», «респ»). |
| components.region.fias_id | string | Идентификатор региона в ФИАС (UUID). |
| components.region.kladr_id | string | Код региона в классификаторе КЛАДР. |
| components.street | object | Уровень «улица» в виде объекта name/type/fias_id/kladr_id. |
| components.street.name | string | Название улицы без типа. |
| components.street.type | string | Тип улицы (например «ул», «пр-кт», «пер»). |
| components.street.fias_id | string | Идентификатор улицы в ФИАС (UUID). |
| components.street.kladr_id | string | Код улицы в классификаторе КЛАДР. |
| components.house | object | Уровень «дом» с номером, типом, корпусом, кодами и числом квартир. |
| components.house.name | string | Номер дома без типа. |
| components.house.type | string | Тип дома (например «д», «двлд», «зд»). |
| components.house.block | string | Корпус/строение дома; null, если не задан. |
| components.house.fias_id | string | Идентификатор дома в ФИАС (UUID). |
| components.house.kladr_id | string | Код дома в классификаторе КЛАДР. |
| components.house.flat_count | integer | Число квартир в доме; null, если данных нет. |
| suggestions[].codes | object | Набор статистических и налоговых кодов, привязанных к адресу. |
| codes.postal | string | Почтовый индекс адреса. |
| codes.kladr | string | Код адреса в классификаторе КЛАДР. |
| codes.region_kladr | string | Код региона в КЛАДР. |
| codes.region_iso | string | Код региона по ISO 3166-2 (например, «RU-MOW»). |
| codes.okato | string | Код ОКАТО — административно-территориальная принадлежность адреса. |
| codes.oktmo | string | Код ОКТМО — муниципальное образование, к которому относится адрес. |
| codes.tax_office | string | Код налоговой инспекции (ИФНС) по адресу для физических лиц. |
| codes.tax_office_legal | string | Код налоговой инспекции (ИФНС) по адресу для юридических лиц. |
| suggestions[].fias_id | string | Идентификатор самого глубокого уровня адреса в ФИАС (UUID). |
| suggestions[].fias_level | integer | Числовой уровень адреса в ФИАС: 1 — регион, 3 — район, 4 — город, 6 — населённый пункт, 65 — улица, 8 — дом, 9 — помещение/квартира, 75 — участок, 10 — комната, 95 — машино-место. |
| suggestions[].timezone | string | Часовой пояс адреса (например «UTC+3»). |
| suggestions[].metro | array | Ближайшие станции метро: массив {name, line, distance} (км). Тариф Бизнес. |
| suggestions[].beltway_hit | string | Положение относительно кольцевой: IN_MKAD/OUT_MKAD (Москва), IN_KAD/OUT_KAD (СПб). Тариф Расширенный. |
| suggestions[].capital_marker | integer | Признак административного центра: 1 — центр района, 2 — центр региона, 3 — и района, и региона. |
| suggestions[].history_values | array | Прежние названия объекта при переименованиях (улицы, населённого пункта). |
| suggestions[].cadastral_num | string | Кадастровый номер объекта недвижимости по адресу. Тариф Бизнес. |
| suggestions[].cadastre | object | Профиль объекта из ГКО: type (Здание/…), area (м²), year_built, floors, wall_material, registered_at и др. Тариф Бизнес. |
| suggestions[].cadastral_cost | number | Кадастровая стоимость объекта, ₽. Тариф Бизнес. |
| suggestions[].cadastral_cost_per_unit | number | Кадастровая стоимость за м², ₽. Тариф Бизнес. |
| suggestions[].geo | object | Географические координаты адреса с указанием точности. |
| geo.lat | number | Широта точки в градусах (WGS84). |
| geo.lon | number | Долгота точки в градусах (WGS84). |
| geo.precision | string | Точность координат: exact — точно по дому, cadastre — по кадастровому объекту, parcel — по земельному участку дома, nearest — по соседнему дому той же улицы, street — по центру улицы, quarter — по кадастровому кварталу, city — по центру города, settlement — по центру населённого пункта, district — по центру района. |
Адрес по идентификатору
Возвращает один точный адрес по его идентификатору. В поле query передайте одно из: fias_id (UUID из ФИАС), кадастровый номер или код КЛАДР. Ответ — одна запись в той же структуре, что в разделе «Адреса».
Это точный доступ по идентификатору, а не поиск. Чтобы искать по тексту адреса (город, улица, дом, индекс) — используйте «Адреса» (подсказки): они принимают произвольный текст с фильтрами и возвращают до 20 совпадений.
find работает не только по адресу. /v1/find/{домен} находит запись справочника по её коду или идентификатору: bank (по БИК), okved, okpd2, oktmo, fms_unit, fns_unit, car_brand. Ответ — та же структура, что у подсказок этого справочника, но одна запись по точному совпадению.
POST /v1/find/address
{ "query": "cb983f95-4865-4320-bba0-ab6edc396ba5" }Стандартизация адреса
Приводит свободную строку адреса к структуре (как в разделе «Адреса»). Для пакетной очистки выгрузок: на вход — строка source или массив строк, на выходе — один разобранный адрес на каждую входную строку.
POST /v1/clean/address
{ "source": "мск тверская 7" }
// пакетно — массив строк (ответ придёт в плоском DaData-формате):
["мск тверская 7", "спб невский 1"]Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| results | array | По одной записи на каждую входную строку. |
| results[].source | string | Исходная строка адреса. |
| results[].qc | integer | Качество разбора: 0 — адрес распознан, иначе разобран частично. |
| results[].unparsed_parts | string | Части строки, которые не удалось разобрать; null — если разобрано полностью. |
| results[].address | object | Разобранный адрес — та же структура, что в разделе «Адреса» (value, full, components, codes, geo и т.д.). |
Адрес по координатам
Возвращает ближайшие адреса по широте и долготе в пределах заданного радиуса.
POST /v1/geolocate/address
{ "lat": 55.7558, "lon": 37.6173, "radius_meters": 100, "count": 1 }Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
| latrequired | number | Широта точки. |
| lonrequired | number | Долгота точки. |
| radius_meters | integer | Радиус поиска в метрах вокруг точки (1–1000, по умолчанию 100). |
| count | integer | Сколько ближайших адресов вернуть (1–20, по умолчанию 10). |
Ответ — массив адресов в поле suggestions, каждый в той же структуре, что в разделе «Адреса».
Пример ответа
{
"suggestions": [{
"value": "г Москва, ул Тверская, д 7",
"full": "125009, Москва г, ул Тверская, д 7",
"level": "house",
"geo": { "lat": 55.7558, "lon": 37.6173, "precision": "exact" }
}]
}Город по IP
Возвращает ближайший адрес по IP-адресу. IP передаётся query-параметром?ip=… (или заголовком X-Real-IP; при их отсутствии используется IP соединения). Метод принимает и GET, и POST. В ответе поле location — адрес в той же структуре, что в разделе «Адреса» (или null, если IP не распознан). Расходует тот же пул, что и подсказки.
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
| ip | query-параметр | IP-адрес. Можно передать заголовком X-Real-IP; при их отсутствии используется IP соединения. |
Дополнительно ответ содержит объект network — данные о сети IP: оператор связи, номер автономной системы (ASN), тип сети и признак хостинга/VPN. Удобно для анти-фрода: сверить регион заказа с IP и отсечь запросы из дата-центров.
Поля ответа — network
| Поле | Тип | Описание |
|---|---|---|
| network.asn | number | Номер автономной системы (ASN), которой принадлежит IP. |
| network.operator | string | Оператор — владелец автономной системы. Может быть null для сетей вне реестра RIPE. |
| network.type | string | Тип сети: isp — провайдер; hosting — дата-центр/хостинг; mobile — мобильный оператор; business — корпоративная сеть. |
| network.is_hosting | bool | true, если IP принадлежит хостингу или дата-центру (частый признак прокси/VPN) — сигнал для анти-фрод-проверок. |
POST /v1/iplocate/address?ip=92.53.96.1