API GeoIPy
GeoIPy предоставляет надежное API IP-геолокации в режиме реального времени, которое может точно определить данные местоположения и выявить потенциальные угрозы безопасности от IP-адресов высок
ого риска. Результаты доставляются в течение нескольких миллисекунд в формате JSON. С помощью API GeoIPy вы мгновенно можете определить местоположение посетителей веб-сайта и настроить пользовательский опыт и приложение соответствующим образом.
Эта документация подробно описывает функции API, доступные параметры и руководства по интеграции для различных языков программирования.
Эта документация подробно описывает функции API, доступные параметры и руководства по интеграции для различных языков программирования.
Токен доступа к API
Ваш токен доступа к API служит вашим уникальным учетным данным для безопасного доступа к API GeoIPy. Чтобы аутентифицироваться в API, включите параметр access_key в базовый URL API и присвойте ему значение вашего токена доступа.
URL-адрес токена:
Прикрепите ваш токен доступа к API: В следующем примере показано, как аутентифицироваться с помощью API GeoIPy в запросе API:
URL-адрес токена:
https://www.geoipy.com/
Прикрепите ваш токен доступа к API: В следующем примере показано, как аутентифицироваться с помощью API GeoIPy в запросе API:
https://www.geoipy.com/api/IPsInfo/?ip=@(Model.IP)
&key=@(Key)
Результат API
API GeoIPy может предоставлять данные в формате JSON. В следующем примере показан результат API GeoIPy в ответ на предыдущий запрос, запрашивающий информацию для IP-адреса @(Model.IP).
В ответах API предоставляются обширные данные, связанные с местоположением, валютой, часовым поясом и соединением.
{ "ip": "3.144.250.118", "hostname": "ec2-3-144-250-118.us-east-2.compute.amazonaws.com", "type": "ipv4", "continent_code": "NA", "continent_name": "North America", "country_code": "US", "country_name": "United States", "region_code": "OH", "region_name": "Ohio", "city": "Columbus", "zip": "43201", "latitude": 39.995578765869141, "longitude": -82.999458312988281, "msa": "18140", "dma": "535", "radius": "41.01305", "ip_routing_type": "international proxy", "connection_type": "tx", "location": { "geoname_id": 4509177, "capital": "Washington D.C.", "languages": [ { "code": "en", "name": "English", "native": "English" } ], "country_flag": "https://www.geoipy.com/flags/us.svg", "country_flag_emoji": "🇺🇸", "country_flag_emoji_unicode": "U+1F1FA U+1F1F8", "calling_code": "1", "is_eu": false }, "time_zone": { "id": "America/New_York", "current_time": "2025-04-04T03:03:37+03:00", "gmt_offset": -14400, "code": "EDT", "is_daylight_saving": true }, "currency": { "code": "USD", "name": "US Dollar", "plural": "US dollars", "symbol": "$", "symbol_native": "$" }, "connection": { "asn": 16509, "isp": "amazon.com Inc.", "sld": "amazonaws", "tld": "com", "carrier": "amazon.com inc.", "home": false, "organization_type": "Retail", "isic_code": "G4791", "naics_code": "004541" } }
В ответах API предоставляются обширные данные, связанные с местоположением, валютой, часовым поясом и соединением.
Коды ошибок
Если запрашиваемый ресурс недоступен или возникает проблема с вызовом API, будет возвращена JSON-ошибка. Эти ошибки всегда сопровождаются кодом ошибки и описанием.
Пример ошибки: Ниже приведена ошибка, возвращаемая при превышении месячного лимита запросов к API.
Пример ошибки: Ниже приведена ошибка, возвращаемая при превышении месячного лимита запросов к API.
{ "success": false, "error": { "code": 100, "type": "missing_access_key", "info": "No API Key was specified." } }
Код | Тип | Информация |
---|---|---|
100 | missing_access_key | No API Key was specified. |
101 | invalid_access_key | No API Key was specified or an invalid API Key was specified. |
102 | inactive_user | The current user account is not active. User will be prompted to get in touch with Customer Support. |
103 | invalid_api_function | The requested API endpoint does not exist. |
104 | usage_limit_reached | The maximum allowed amount of monthly API requests has been reached. |
105 | function_access_restricted | The current subscription plan does not support this API endpoint. |
106 | https_access_restricted | The user's current subscription plan does not support HTTPS Encryption. |
301 | invalid_fields | One or more invalid fields were specified using the fields parameter. |
302 | too_many_ips | Too many IPs have been specified for the Bulk Lookup Endpoint. (max. 50) |
303 | batch_not_supported_on_plan | The Bulk Lookup Endpoint is not supported on the current subscription plan |
404 | 404_not_found | The requested resource does not exist. |
PHP (cURL)
//установите IP-адрес и ключ доступа к API
$ip = '3.144.250.118';
$key = 'veluihrPp9w0CekwtTlTo7TzaofQaIwp';
// Инициализировать CURL:
$ch = curl_init('https://www.geoipy.com/api/IPsInfo?ip='.$ip.'&key='.$key.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Сохранение данных:
$json =
curl_exec($ch);
curl_close($ch);
// Декодирование JSON-ответа:
$api_result = json_decode($json, true);
// Вывод объекта "capital" внутри "location"
echo $api_result['location']['capital'];
JavaScript (jQuery.ajax)
// установите IP-адрес и ключ доступа к API
var ip = '3.144.250.118'
var key = 'veluihrPp9w0CekwtTlTo7TzaofQaIwp';
// Получение результата API с помощью jQuery.ajax
$.ajax({
url: 'https://www.geoipy.com/api/IPsInfo?ip=' + ip + '&key=' + key,
dataType: 'jsonp',
success: function(json) {
// Вывод объекта "capital" внутри "location"
alert(json.location.capital);
}
});
C#
using System.Net.Http;
using Newtonsoft.Json.Linq;
// ...
// установите IP-адрес и ключ доступа к API
string ip = "3.144.250.118";
string Key = "veluihrPp9w0CekwtTlTo7TzaofQaIwp";
// Инициализация экземпляра HttpClient
using (var httpClient = new HttpClient())
{
// Отправка HTTP-запроса GET по указанному URL-адресу
var response = await httpClient.GetAsync($"https://www.geoipy.com/api/IPsInfo?ip={ip}&key={Key}");
// Проверка успешности ответа
if (response.IsSuccessStatusCode)
{
// Чтение JSON-ответа как строки
string jsonResponse = await response.Content.ReadAsStringAsync();
// Десериализация JSON-строки в объект JObject
JObject apiResult = JObject.Parse(jsonResponse);
// Получение объекта "capital" внутри объекта "location"
string capital = apiResult["location"]["capital"].ToString();
// Вывод столицы
Console.WriteLine(capital);
}
else
{
Console.WriteLine("Произошла ошибка при получении данных");
}
}