Все запросы требуют авторизации. Авторизационный токен можно передать как 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"
https://geoip-base.ru/v2
Стандартный доступ включает 1 500 000 запросов в месяц.
Возвращает код страны для указанного IPv4-адреса.
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"
{
"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") |
Возвращает информацию о городе для указанного IPv4-адреса.
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"
{
"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.
{
"errors": [{
"status": "400",
"title": "Invalid request",
"detail": "IP parameter is required",
"code": "invalid_parameter"
}]
}
{
"errors": [{
"status": "400",
"title": "Invalid IP address",
"detail": "Invalid IP format",
"code": "invalid_ip_format"
}]
}
{
"errors": [{
"status": "400",
"title": "Invalid IP address",
"detail": "IPv6 not supported",
"code": "ipv6_not_supported"
}]
}
{
"errors": [{
"status": "401",
"title": "Unauthorized",
"detail": "API key is required",
"code": "missing_api_key"
}]
}
{
"errors": [{
"status": "401",
"title": "Unauthorized",
"detail": "Invalid API key format",
"code": "invalid_api_key_format"
}]
}
{
"errors": [{
"status": "401",
"title": "Unauthorized",
"detail": "Invalid API key",
"code": "invalid_api_key"
}]
}
{
"errors": [{
"status": "402",
"title": "Payment Required",
"detail": "Subscription expired",
"code": "subscription_expired"
}]
}
{
"errors": [{
"status": "404",
"title": "No data found for IP",
"detail": "IP not found",
"code": "ip_not_found"
}]
}
{
"errors": [{
"status": "500",
"title": "Database lookup error",
"detail": "Database error",
"code": "database_error"
}]
}