{
   продукт: "информация", // передача в формате JSON
   удобно: да, // через простой и понятный интерфейс
   быстро: да, // без каких-либо ограничений
   доступно: да // за символическую плату
}

услуги / геолокация / данные по IP адресу

С помощью данного пакета вы сможете узнать по IP адресу пользователя его страну, город, приблизительное географическое месторасположение, интернет-провайдера, почтовый индекс и другую информацию, описанную ниже. В запросе вы указываете IP адрес, в ответе получаете все необходимые данные.
  • post https://ip.getyourbit.com/lookup/:ip/
    • ip string IP адрес например: "8.8.8.8", "0:0:0:0:0:ffff:808:808"
    запрос ответ
    все запросы нужно передавать в формате JSON в виде объекта: { ...различные параметры запроса } данный пакет включает следующие возможные параметры:
    • strongIp boolean если true, то ip адрес будет искаться строго в диапазонах, которые указаны в базе данных, если же false, тогда в случаи отсутствия точного совпадения будет выбран ближайший к нему вариант. по умолчанию: false
    • token string уникальный хэш активной сессии для подтверждения доступа, выдается при авторизации. Передавать нужно каждый запрос.
    • locale string|object локаль в формате ISO, например, "en", "en-US", "en_US" или объект { "language": "en", "country": "US" }. От этого поля зависит на каком языке вы получите данные. Если его проигнорировать, то язык будет выбран автоматически, исходя из вашего запроса. При невозможности этого, значение проставится по умолчанию. Регистр значения не имеет. по умолчанию: "en"
    • dateFormat string формат получения даты и времени. По умолчанию или если передана пустая строка, в ответе возвращается UNIX-время в миллисекундах, но вы можете указать свой формат. Он записывается в стиле функции strftime на многих языках программирования, например, "%d/%m/%Y %H:%M:%S" => "01/01/1970 12:34:56"
    • case string формат ключей получаемых данных. Например, "camel" вернет ключ в виде "someField", "underscore" => "some_field". по умолчанию: "camel"
    • strongLocale boolean если true, то все переводимые строковые данные вы получите на нужном вам языке, либо они будут пустые, если на выбранном языке отсутствуют. Если же false, то даже в случаи отcутствия, вы получите данные, но на языке локали по умолчанию. по умолчанию: false
    • strongFields boolean если true, то в ответе будут только те поля, которые содержат хоть какое-то значение, если false, то вы получите все ключи, даже если у них пустые значения. по умолчанию: true
    • fields string можно в ручную указать какие поля получить в ответе. Например, ["field1", "field2"].
    все ответы приходят в виде JSON объекта. Если запрос вызвал какую-либо ошибку, то ответ будет содержать следующее: { "error": true, "message": "сообщение об ошибке", ...прочие уточняющие метаданные } если запрос прошел успешно, то в ответ вы получите: { "data": объект } объект будет содержать следующие поля:
    • ip string IP адрес например: "8.8.8.8", "0:0:0:0:0:ffff:808:808"
    • continent string название континента например: "Australia", "Oceania"
    • country string название страны например: "France"
    • city string название города например: "London"
    • isp string название интернет-провайдера например: "Comcast"
    • ispAsn integer номер ASN интернет-провайдера например: 21487
    • postal string почтовый индекс например: "2804"
    • continentCode string международный (ISO) код континента например: "NA", "OC"
    • countryCode string международный (ISO) код страны например: "US"
    • timeZone string часовый пояс например: "Asia/Tokyo"
    • location geopoint координаты (широта и долгота) например: [132,34]
  • языковые данные в текущем пакете представлены на следующих языках:
    • английский [en],
    • русский [ru],
    • немецкий [de],
    • французский [fr],
    • испанский [es],
    • португальский [pt],
    • японский [ja],
    • китайский [zh].
    Помните, присутствие какого-то из перечисленных языков не обязательно означает наличие конкретного поля на нем. В случаи отсутствия такого, данные будут на языке по умолчанию. Сейчас этот язык английский [en].
  • вы можете посылать все ключи объекта запроса в любом из доступных форматов написания. В примерах приведен стиль "camel" (camelCase). Cписок всех доступных форматов можно посмотреть здесь.
  • логин и пароль авторизации на api-серверах для каждой услуги генерируется индивидуально, после подписки. Посмотреть эти данные можно у себя в профиле, в разделе подписок.
const GetYourBit = require('getyourbit');
const api = new GetYourBit.Api('https://ip.getyourbit.com');

// авторизация
api.auth('login', 'password').then(() => {
  // получение данных  
  return api.request('/lookup/8.8.8.8/');
})
.then((body) => {
  console.log(body.data); 
  // завершение сессии (не обязательно)
  return api.logout();
})
.catch((err) => {
  console.log(err);
});
require 'vendor/autoload.php';    
use GetYourBit\Api;

$api = new Api('https://ip.getyourbit.com');

// авторизация
$api->auth('login', 'password');

// получение данных
$body = $api->request("/lookup/8.8.8.8/");
var_dump($body);

// завершение сессии (не обязательно)
$api->logout();
from getyourbit import Api

api = Api('https://ip.getyourbit.com')

# авторизация
api.auth('login', 'password')

# получение данных   
body = api.request('/lookup/8.8.8.8/')
print(body)

# завершение сессии (не обязательно) 
api.logout()
  • * пакет абсолютно бесплатен, но для совершения запросов необходимо авторизоваться