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": "216.73.216.26",
"hostname": "216.73.216.26",
"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": "0",
"ip_routing_type": "fixed",
"connection_type": "cable",
"location": {
"geoname_id": 4509211,
"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-11-01T05:30:47+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": "windstream",
"tld": "net",
"carrier": "amazon.com inc.",
"home": null,
"organization_type": null,
"isic_code": null,
"naics_code": null
}
}
В ответах 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 = '216.73.216.26';
$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 = '216.73.216.26'
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 = "216.73.216.26";
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("Произошла ошибка при получении данных");
}
}