Перейти к содержимому

IP-геолокация API: страна, город и провайдер по IP

Геолокация IPv4 и IPv6 по базам MaxMind GeoLite2: страна, регион, город, индекс, координаты, часовой пояс и автономная система. Формат ответа совместим с ipinfo.io.

Эндпоинт Что делает
GET /v1/ipinfo/{ip} Геолокация указанного IP
GET /v1/ipinfo Геолокация IP, с которого пришёл запрос
POST /v1/ipinfo/batch Геолокация до 100 IP за один запрос

Все запросы — с ключом в заголовке Authorization: Bearer <ключ> (см. Аутентификация). Полная схема — в справочнике proxy.seyka.ru/api-docs.

GET /v1/ipinfo/{ip} — IP-адрес в пути, IPv4 или IPv6.

Окно терминала
curl "https://proxy.seyka.ru/v1/ipinfo/8.8.8.8" \
-H "Authorization: Bearer $SEYKA_API_KEY"
{
"ip": "8.8.8.8",
"city": "Mountain View",
"region": "California",
"country": "US",
"loc": "37.4056,-122.0775",
"org": "AS15169 Google LLC",
"postal": "94043",
"timezone": "America/Los_Angeles"
}
Поле Что это
ip Запрошенный адрес — единственное обязательное поле
country Код страны ISO 3166-1
region Регион (субъект, штат) на английском
city Город на английском
postal Почтовый индекс
loc Координаты широта,долгота
timezone Часовой пояс IANA
org Автономная система: AS<номер> <организация>

Поля, которых нет в базе, в ответе отсутствуют. Для адресов, которые в базе не описаны (например, частных 10.x, 192.168.x), приходит только ip.

GET /v1/ipinfo определяет адрес, с которого пришёл запрос, — удобно для проверки, через какой IP ходит ваш сервер или прокси. Ответ — в том же формате.

Окно терминала
curl "https://proxy.seyka.ru/v1/ipinfo" \
-H "Authorization: Bearer $SEYKA_API_KEY"

Адрес берётся из первого значения X-Forwarded-For (или из X-Real-IP); если определить его не удалось, приходит 400.

POST /v1/ipinfo/batch принимает до 100 адресов в поле ips и возвращает объект, где ключ — адрес.

Окно терминала
curl -X POST "https://proxy.seyka.ru/v1/ipinfo/batch" \
-H "Authorization: Bearer $SEYKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ips": ["8.8.8.8", "77.88.8.8", "not-an-ip"]}'
{
"results": {
"8.8.8.8": { "ip": "8.8.8.8", "country": "US", "city": "Mountain View", "org": "AS15169 Google LLC" },
"77.88.8.8": { "ip": "77.88.8.8", "country": "RU", "city": "Moscow", "org": "AS13238 YANDEX LLC" },
"not-an-ip": null
}
}
  • Адрес, который не удалось разобрать, или сбой чтения базы для него дают null; адрес без данных в базе получает объект только с ip. Остальные отвечают как обычно.
  • Повторяющиеся адреса схлопываются в один ключ.
  • Пакет оплачивается как один вызов, независимо от числа адресов.
  • 400 — некорректный IP в пути, пустой ips: [] или больше 100 адресов; 422 — в теле нет поля ips.
  • 404 — сбой чтения базы для адреса (редко; адрес без данных отвечает 200 только с ip).
  • 503 — базы геолокации ещё загружаются; повторите позже.

Остальные коды — в разделе Ошибки.

Каждый вызов оплачивается отдельно, включая пакет. Ставки — на странице Цены.