На главную

Документация API

Полный справочник по API геолокации IP-адресов

Авторизация

Все запросы требуют авторизации. Авторизационный токен можно передать как HTTP-заголовок X-Api-Key или в URI через параметер запроса key.
Токен выдаётся после оплаты доступа в личном кабинете.

curl -X GET "https://geoip-base.ru/v2/ip/79.253.253.247" \
  -H "X-Api-Key: YOUR_TOKEN"

Базовый URL

https://geoip-base.ru/v2

Лимиты

Стандартный доступ включает 1 500 000 запросов в месяц.

Получить страну по IP

Возвращает код страны для указанного IPv4-адреса.

Endpoint

GET /v2/country/{ip}

Параметры пути

Параметр Тип Описание
ip string IPv4-адрес (например, 8.8.8.8)

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

curl -X GET "https://geoip-base.ru/v2/country/79.253.253.247" \
  -H "X-Api-Key: YOUR_TOKEN"

Успешный ответ (200)

{
  "data": {
    "type": "ip-country-lookup",
    "id": "79.253.253.247",
    "attributes": { "country_code": "RU" }
  }
}

Поля ответа

Поле Тип Описание
data.type string Тип ресурса (всегда "ip-country-lookup")
data.id string Запрошенный IP-адрес
data.attributes.country_code string Код страны ISO 3166-1 alpha-2 (например, "RU", "US")

Получить город по IP

Возвращает информацию о городе для указанного IPv4-адреса.

Endpoint

GET /v2/city/{ip}

Параметры пути

Параметр Тип Описание
ip string IPv4-адрес (например, 8.8.8.8)

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

curl -X GET "https://geoip-base.ru/v2/city/79.253.253.247" \
  -H "X-Api-Key: YOUR_TOKEN"

Успешный ответ (200)

{
  "data": {
    "type": "ip-city-lookup",
    "id": "79.253.253.247",
    "attributes": {
      "country_code": "RU",
      "city": "Omsk",
      "country": "Russia",
      "criteria_id": 1011985,
      "canonical_name": "Omsk,Omsk Oblast,Russia",
      "longitude": 78.327919,
      "latitude": 55.619202,
      "timezone": "Asia/Omsk"
    }
  }
}

Поля ответа

Поле Тип Описание
data.type string Тип ресурса (всегда "ip-city-lookup")
data.id string Запрошенный IP-адрес
data.attributes.country_code string Код страны ISO 3166-1 alpha-2 (например, "RU", "US")
data.attributes.city string Название города (например, "Omsk")
data.attributes.country string Полное название страны (например, "Russia")
data.attributes.criteria_id integer Идентификатор локации (например, 1011985)
data.attributes.canonical_name string Каноническое имя локации: город, область, страна (например, "Omsk,Omsk Oblast,Russia")
data.attributes.longitude float Долгота города в градусах (например, 78.327919)
data.attributes.latitude float Широта города в градусах (например, 55.619202)
data.attributes.timezone string Часовой пояс IANA (например, "Asia/Omsk")

Ошибки

Все ошибки возвращаются по спецификации JSON:API.

400 — Ошибка в параметре IP

{
  "errors": [{
    "status": "400",
    "title": "Invalid request",
    "detail": "IP parameter is required",
    "code": "invalid_parameter"
  }]
}

400 — Неверный формат IP

{
  "errors": [{
    "status": "400",
    "title": "Invalid IP address",
    "detail": "Invalid IP format",
    "code": "invalid_ip_format"
  }]
}

400 — IPv6 не поддерживается

{
  "errors": [{
    "status": "400",
    "title": "Invalid IP address",
    "detail": "IPv6 not supported",
    "code": "ipv6_not_supported"
  }]
}

401 — API ключ не указан

{
  "errors": [{
    "status": "401",
    "title": "Unauthorized",
    "detail": "API key is required",
    "code": "missing_api_key"
  }]
}

401 — Неверный формат API ключа

{
  "errors": [{
    "status": "401",
    "title": "Unauthorized",
    "detail": "Invalid API key format",
    "code": "invalid_api_key_format"
  }]
}

401 — Неверный API ключ

{
  "errors": [{
    "status": "401",
    "title": "Unauthorized",
    "detail": "Invalid API key",
    "code": "invalid_api_key"
  }]
}

402 — Подписка истекла

{
  "errors": [{
    "status": "402",
    "title": "Payment Required",
    "detail": "Subscription expired",
    "code": "subscription_expired"
  }]
}

404 — IP не найден

{
  "errors": [{
    "status": "404",
    "title": "No data found for IP",
    "detail": "IP not found",
    "code": "ip_not_found"
  }]
}

500 — Ошибка сервера

{
  "errors": [{
    "status": "500",
    "title": "Database lookup error",
    "detail": "Database error",
    "code": "database_error"
  }]
}

Замечания

  • • Все ответы по спецификации JSON:API
  • • Страны в формате ISO 3166-1 alpha-2
  • • Поддерживается только IPv4
  • • 1 500 000 запросов в месяц