Адреса

POST/v1/suggest/address

Возвращает до 20 подходящих адресов (по умолчанию 10) из ГАР/ФИАС с разбором на составляющие (components), кодами (codes: индекс, КЛАДР, ОКАТО, ОКТМО), уровнем детализации и гео-координатами.

Для миграции с DaData отправьте запрос на URL POST /suggestions/api/4_1/rs/suggest/address. Ответ вернётся в плоском data-формате, совместимом с SDK DaData. Тело запроса идентично.

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

ПараметрТипОписание
queryrequiredstringТекст запроса.
countintegerСколько подсказок вернуть (1–20, по умолчанию 10).
locationsarrayЖёсткий фильтр — выдача только из указанных локаций. См. таблицу полей ниже.
locations_boostarrayМягкое предпочтение — поднимает указанные локации выше, но не отсекает остальные.
locations_geoarray Ограничение по радиусу — выдача только в пределах окружностей. Массив { lat, lon, radius_meters } (радиус по умолчанию 100 м, максимум 100 км).
divisionstringmunicipal — вернуть адрес в муниципальном делении (округа/поселения) вместо административного.
ipstring IP пользователя — повышает приоритет его региона в выдаче, если явные локации не заданы.
from_bound / to_bound{value}Срез по уровню детализации (регион … квартира). См. ниже.
lazy_fuzzyboolНечёткий поиск с учётом опечаток (по умолчанию включён).
value_stylestring Форма строки value: natural (по умолчанию) — читаемая; fias — сокращённая форма ГАР (тип перед именем). См. ниже.

Срез по уровню · from_bound / to_bound

Чтобы вернуть только один уровень — задайте одинаковые from_bound и to_bound. Диапазон (например streethouse) вернёт улицы и дома. Если задан только 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: cityto_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": "Москва" }] // фильтр: только Москва
}

Поля ответа

ПолеТипОписание
querystringИсходный текст запроса, по которому подобраны подсказки.
suggestionsarray Список найденных адресов; каждый элемент — один разобранный адрес с полями ниже.
suggestions[].valuestring Короткая форма адреса для отображения и автоподстановки в поле ввода.
suggestions[].fullstringПолная форма адреса с индексом (включая почтовый индекс).
suggestions[].levelstring До какого уровня детализирован адрес: region — регион, area — район, city — город, settlement — населённый пункт, territory — территория (СНТ/ГСК/квартал), street — улица, house — дом, stead — земельный участок, flat — квартира/помещение, room — комната, carplace — машино-место.
suggestions[].confidencenumber Уверенность ранжирования 0..1. Низкое значение у конкретного адреса (с номером дома) = адрес сомнителен/не найден — удобно показать «возможно, вы искали…». Виджет делает это сам (опция включена по умолчанию).
suggestions[].countryobject Страна: {name, iso} (для РФ — «Россия» / «RU»).
suggestions[].federal_districtstringФедеральный округ (например, «Центральный»).
suggestions[].addressobject Адрес строками по уровням, в письменной форме. Присутствуют только заполненные уровни.
address.regionstringНазвание региона (субъекта РФ).
address.areastringНазвание района внутри региона.
address.citystringНазвание города.
address.settlementstringНазвание населённого пункта (село, посёлок и т.п.).
address.territorystringНазвание территории внутри населённого пункта (СНТ, ГСК, квартал).
address.streetstringНазвание улицы.
address.housestringНомер дома строкой (включая корпус/строение, если есть).
address.steadstringНомер земельного участка.
address.flatstringНомер квартиры или помещения.
address.roomstringНомер комнаты.
suggestions[].componentsobject Структурированная раскладка адреса: те же уровни, что в address, но объектами с названием, типом и кодами. Присутствуют только заполненные уровни (region, area, city, settlement, territory, street, house, stead, flat, room).
components.regionobjectУровень «регион» в виде объекта name/type/fias_id/kladr_id.
components.region.namestringНазвание региона без типа.
components.region.typestringТип/сокращение уровня (например «г», «обл», «респ»).
components.region.fias_idstringИдентификатор региона в ФИАС (UUID).
components.region.kladr_idstringКод региона в классификаторе КЛАДР.
components.streetobjectУровень «улица» в виде объекта name/type/fias_id/kladr_id.
components.street.namestringНазвание улицы без типа.
components.street.typestringТип улицы (например «ул», «пр-кт», «пер»).
components.street.fias_idstringИдентификатор улицы в ФИАС (UUID).
components.street.kladr_idstringКод улицы в классификаторе КЛАДР.
components.houseobjectУровень «дом» с номером, типом, корпусом, кодами и числом квартир.
components.house.namestringНомер дома без типа.
components.house.typestringТип дома (например «д», «двлд», «зд»).
components.house.blockstringКорпус/строение дома; null, если не задан.
components.house.fias_idstringИдентификатор дома в ФИАС (UUID).
components.house.kladr_idstringКод дома в классификаторе КЛАДР.
components.house.flat_countintegerЧисло квартир в доме; null, если данных нет.
suggestions[].codesobjectНабор статистических и налоговых кодов, привязанных к адресу.
codes.postalstringПочтовый индекс адреса.
codes.kladrstringКод адреса в классификаторе КЛАДР.
codes.region_kladrstringКод региона в КЛАДР.
codes.region_isostringКод региона по ISO 3166-2 (например, «RU-MOW»).
codes.okatostringКод ОКАТО — административно-территориальная принадлежность адреса.
codes.oktmostringКод ОКТМО — муниципальное образование, к которому относится адрес.
codes.tax_officestringКод налоговой инспекции (ИФНС) по адресу для физических лиц.
codes.tax_office_legalstringКод налоговой инспекции (ИФНС) по адресу для юридических лиц.
suggestions[].fias_idstringИдентификатор самого глубокого уровня адреса в ФИАС (UUID).
suggestions[].fias_levelinteger Числовой уровень адреса в ФИАС: 1 — регион, 3 — район, 4 — город, 6 — населённый пункт, 65 — улица, 8 — дом, 9 — помещение/квартира, 75 — участок, 10 — комната, 95 — машино-место.
suggestions[].timezonestringЧасовой пояс адреса (например «UTC+3»).
suggestions[].metroarray Ближайшие станции метро: массив {name, line, distance} (км). Тариф Бизнес.
suggestions[].beltway_hitstring Положение относительно кольцевой: IN_MKAD/OUT_MKAD (Москва), IN_KAD/OUT_KAD (СПб). Тариф Расширенный.
suggestions[].capital_markerinteger Признак административного центра: 1 — центр района, 2 — центр региона, 3 — и района, и региона.
suggestions[].history_valuesarray Прежние названия объекта при переименованиях (улицы, населённого пункта).
suggestions[].cadastral_numstringКадастровый номер объекта недвижимости по адресу. Тариф Бизнес.
suggestions[].cadastreobject Профиль объекта из ГКО: type (Здание/…), area (м²), year_built, floors, wall_material, registered_at и др. Тариф Бизнес.
suggestions[].cadastral_costnumberКадастровая стоимость объекта, ₽. Тариф Бизнес.
suggestions[].cadastral_cost_per_unitnumberКадастровая стоимость за м², ₽. Тариф Бизнес.
suggestions[].geoobjectГеографические координаты адреса с указанием точности.
geo.latnumberШирота точки в градусах (WGS84).
geo.lonnumberДолгота точки в градусах (WGS84).
geo.precisionstring Точность координат: exact — точно по дому, cadastre — по кадастровому объекту, parcel — по земельному участку дома, nearest — по соседнему дому той же улицы, street — по центру улицы, quarter — по кадастровому кварталу, city — по центру города, settlement — по центру населённого пункта, district — по центру района.

Адрес по идентификатору

POST/v1/find/address

Возвращает один точный адрес по его идентификатору. В поле 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" }

Стандартизация адреса

POST/v1/clean/address

Приводит свободную строку адреса к структуре (как в разделе «Адреса»). Для пакетной очистки выгрузок: на вход — строка source или массив строк, на выходе — один разобранный адрес на каждую входную строку.

POST /v1/clean/address
{ "source": "мск тверская 7" }

// пакетно — массив строк (ответ придёт в плоском DaData-формате):
["мск тверская 7", "спб невский 1"]

Поля ответа

ПолеТипОписание
resultsarrayПо одной записи на каждую входную строку.
results[].sourcestringИсходная строка адреса.
results[].qcintegerКачество разбора: 0 — адрес распознан, иначе разобран частично.
results[].unparsed_partsstring Части строки, которые не удалось разобрать; null — если разобрано полностью.
results[].addressobject Разобранный адрес — та же структура, что в разделе «Адреса» (value, full, components, codes, geo и т.д.).

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

POST/v1/geolocate/address

Возвращает ближайшие адреса по широте и долготе в пределах заданного радиуса.

POST /v1/geolocate/address
{ "lat": 55.7558, "lon": 37.6173, "radius_meters": 100, "count": 1 }

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

ПолеТипОписание
latrequirednumberШирота точки.
lonrequirednumberДолгота точки.
radius_metersintegerРадиус поиска в метрах вокруг точки (1–1000, по умолчанию 100).
countintegerСколько ближайших адресов вернуть (1–20, по умолчанию 10).

Ответ — массив адресов в поле suggestions, каждый в той же структуре, что в разделе «Адреса».

Пример ответа

{
  "suggestions": [{
    "value": "г Москва, ул Тверская, д 7",
    "full": "125009, Москва г, ул Тверская, д 7",
    "level": "house",
    "geo": { "lat": 55.7558, "lon": 37.6173, "precision": "exact" }
  }]
}

Город по IP

POST/v1/iplocate/address

Возвращает ближайший адрес по IP-адресу. IP передаётся query-параметром?ip=… (или заголовком X-Real-IP; при их отсутствии используется IP соединения). Метод принимает и GET, и POST. В ответе поле location — адрес в той же структуре, что в разделе «Адреса» (или null, если IP не распознан). Расходует тот же пул, что и подсказки.

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

ПараметрТипОписание
ipquery-параметр IP-адрес. Можно передать заголовком X-Real-IP; при их отсутствии используется IP соединения.

Дополнительно ответ содержит объект network — данные о сети IP: оператор связи, номер автономной системы (ASN), тип сети и признак хостинга/VPN. Удобно для анти-фрода: сверить регион заказа с IP и отсечь запросы из дата-центров.

Поля ответа — network

ПолеТипОписание
network.asnnumberНомер автономной системы (ASN), которой принадлежит IP.
network.operatorstring Оператор — владелец автономной системы. Может быть null для сетей вне реестра RIPE.
network.typestring Тип сети: isp — провайдер; hosting — дата-центр/хостинг; mobile — мобильный оператор; business — корпоративная сеть.
network.is_hostingbooltrue, если IP принадлежит хостингу или дата-центру (частый признак прокси/VPN) — сигнал для анти-фрод-проверок.
POST /v1/iplocate/address?ip=92.53.96.1