Не каждый IP-адрес допускает одинаковый уровень точности геолокации, и для значительного числа диапазонов адресов уровень страны действительно является максимумом, который можно честно заявить, какой бы провайдер ни выполнял поиск. Понимание того, почему так происходит, вместо предположения, что это пробел, который просто закрыли бы более качественные данные, помогает правильно настроить ожидания при обработке таких результатов в вашем собственном приложении.
Некоторые блоки адресов выделены организации, которая работает по всей стране без чёткого и последовательного регионального деления в том, как она на самом деле маршрутизирует или распределяет трафик внутри себя, а значит, более детального надёжного сигнала, о котором можно было бы сообщить, нет даже в принципе, а не просто сигнал отсутствует в каком-то конкретном наборе данных. Определённые категории сетей, включая некоторые спутниковые сервисы и некоторых крупных централизованных провайдеров, направляют трафик через сравнительно небольшое число точек выхода, охватывающих очень большие географические территории, как описано в другом месте, и это ограничивает, насколько точной может честно быть любая геолокация такого трафика, независимо от того, насколько хороши собранные данные для всех остальных видов сетей.
Недавно выделенным или недавно переназначенным блокам адресов также может не хватать данных о реальном использовании, чтобы обеспечить уверенность выше уровня страны, просто потому что геолокация IP-адресов на уровне города, как правило, зависит от накопления и сопоставления реальных сигналов использования со временем, а блок, который недостаточно долго активно и стабильно используется при текущем назначении, ещё не сформировал такой сигнал, какой бы хорошей ни была методология в остальном.
В каждом из этих случаев правильный ответ состоит в том, чтобы честно сообщить точность на уровне страны, а не выдумывать правдоподобную, но ничем не подкреплённую догадку о городе только ради заполнения поля. Уверенно неверный город гораздо хуже для вашего приложения, чем честно грубый результат на уровне страны, потому что неверный, но правдоподобный город может незаметно пройти через логику, которая считает его надёжным, и вызвать ошибку дальше по цепочке, источник которой трудно отследить, тогда как результат на уровне страны хотя бы ясно сигнализирует о своём ограничении и подталкивает вас к соответствующей осторожной обработке.
Если значительная часть логики вашего приложения зависит от точности на уровне города, стоит явно проверять, содержит ли возвращённый результат конкретное заполненное поле города или ограничивается только страной и регионом, и иметь разумное поведение по умолчанию для второго случая, а не предполагать значение города, которого нет. Наши IPv4 и IPv6-поиски возвращают ровно то, что исходные данные честно позволяют для данного адреса, на каком бы уровне детализации это ни было, а не подставляют догадку с низкой уверенностью в поле, которое она не может надёжно заполнить.
Адрес в хорошо картографированном центре города почти ничего не говорит о том, как ваша система справится с сельским маршрутом, спорной границей или запросом вблизи полюсов. Тестируйте сложные случаи намеренно.
Не каждый набор данных с общедоступными на вид сведениями о местоположении можно законно использовать в платном продукте. Реальную границу часто задают условия лицензии, а не техническая доступность.