Ваши комментарии
Да, для мобильных и стационарных регион отдаётся в разном формате. Посмотрим, что можно с этим сделать. В любом случае, матчить с сёлами нет смысла, потому что в этом поле может быть только регион.
Проблема в значении первого параметра, который передаётся в функцию suggest. Должно быть так:
$result = Dadata::suggest("fio", array("query"=>'Иван Ивано', "count"=>1));
А как это? Можете описать более подробно сценарий?
Номерная ёмкость относится к Свердловской области. А что вас насторожило?
Подсказки не рассчитаны на ввод адреса латиницей. Поддержка есть, но очень ограниченная. Конкретно для данного случая одного н/п в запросе не достаточно, нужен ещё регион, причём полностью («krasondarskiy Konokovo»).
По геолокации. Для определения города по IP-адресу Дадата использует справочник IpGeoBase. К сожалению, иногда в нём встречаются ошибки. Мы сообщаем о них составителю справочника, позаботимся и об этом случае.
Хочу немного дополнить.
Не всегда Дадате удаётся уверенно распознать адрес. В таких случаях она предлагает вариант разбора, но маркирует адрес как «Сомнительный» (столбец «Код проверки» в файле и поле qc = 1 в API). Именно это и произошло для указанного вами адреса: разбору мешает часть «Дет сад "Львенок"»
Сомнительные адреса лучше проверить вручную, чтобы убедиться, что Дадата не ошиблась в своих предположениях.
Если Дадата уверена в разборе, то код проверки — «Корректный» (qc = 0). Вероятность ошибки в корректных адресах — 1 на 10 000 адресов.
Добавили как «Московская обл, Ленинский р-н, с/п Булатниковское, тер Жилой комплекс Бутово-Парк (поселок Бутово)».

Сергей, Дадата умеет всё перечисленное, кроме ближайшего метро. Вот инструкция как обработать Excel. Из БД проще всего выгрузить в CSV и обработать аналогично. Из Java лучше использовать API.
Стоит 10 копеек за запись, вот калькулятор. 10 тыс. записей стоят 1000 рублей.
Сервис поддержки клиентов работает на платформе UserEcho
Иван, это не справочник, это часть алгоритма. Мы его не раскрываем. В ФИАС этой информации нет. А для чего вам это?