Город по IP-адресу

✔️ Определяет город по IP-адресу в России. Использует IP-адрес клиента, значение из параметра ip или заголовок X-Forwarded-For.

✔️ Поддерживает как IPv4, так и IPv6 адреса.

✔️ Возвращает детальную информацию о городе, в том числе почтовый индекс.

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

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

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=46.226.227.20

Ответ:

{
    "location": {
        "value": "г Краснодар",
        "unrestricted_value": "Краснодарский край, г Краснодар",
        "data": {
            "postal_code": "350000",
            "country": "Россия",
            "region_fias_id": "d00e1013-16bd-4c09-b3d5-3cb09fc54bd8",
            "region_kladr_id": "2300000000000",
            "region_with_type": "Краснодарский край",
            "region_type": "край",
            "region_type_full": "край",
            "region": "Краснодарский",
            "area_fias_id": null,
            "area_kladr_id": null,
            "area_with_type": null,
            "area_type": null,
            "area_type_full": null,
            "area": null,
            "city_fias_id": "7dfa745e-aa19-4688-b121-b655c11e482f",
            "city_kladr_id": "2300000100000",
            "city_with_type": "г Краснодар",
            "city_type": "г",
            "city_type_full": "город",
            "city": "Краснодар",
            ...
        }
    }
}

Если город не удалось определить, ответ будет таким:

{
"location": null
}

Точность определения города

Определение города по IP-адресу — не слишком надёжный способ. Точность составляет 60–80%. Если «Дадата» неправильно определила город или не определила его вовсе — сообщите об этом через специальную форму. Мы исправляем ошибки ежемесячно.

Как не исчерпать лимит запросов

Если просто подключить API «город по IP» на сервере, можно очень быстро выйти за бесплатный лимит в 10 000 запросов в сутки. Причины у этого две:

  1. Когда человек ходит по страницам сайта, каждая страница заново пытается определить город.
  2. Большое количество запросов генерируют поисковые боты (Яндекс, Гугл, Бинг).

Чтобы решить обе проблемы, мы рекомендуем:

  1. Запоминать результат, который вернула «Дадата» — и не делать повторных вызовов на других страницах.
  2. Вызывать API из браузера, а не с сервера — это защитит от ботов.

Стоимость

Метод бесплатный до 10 000 запросов в день. Больше — в составе годовой подписки.



Как вызвать метод из браузера

ajax-spinner

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

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

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

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

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