API документация MyIPv4.ru

Справка по использованию JSON и JSONP интерфейсов

📡 JSON API

Возвращает информацию об IP-адресе в JSON формате

URL:

GET https://myipv4.ru/json/

Пример ответа:

{
  "success": true,
  "data": {
    "ip": "89.109.239.119",
    "protocol": "HTTPS",
    "hostname": null,
    "browser": "Chrome",
    "platform": "macOS",
    "user_agent": "Mozilla/5.0...",
    "timestamp": "2024-01-15 14:30:25",
    "server": {
      "software": "nginx",
      "name": "myipv4.ru"
    }
  },
  "source": "myipv4.ru"
}

Примеры использования:

JavaScript:

fetch('https://myipv4.ru/json/')
  .then(r => r.json())
  .then(data => {
    console.log('Ваш IP:', data.data.ip);
    console.log('Протокол:', data.data.protocol);
  });

PHP:

$ip_data = json_decode(file_get_contents('https://myipv4.ru/json/'), true);
echo "IP: " . $ip_data['data']['ip'];

Python:

import requests
data = requests.get('https://myipv4.ru/json/').json()
print("IP:", data["data"]["ip"])

🔄 JSONP API

Для кросс-доменных запросов из JavaScript (через <script>)

URL:

GET https://myipv4.ru/jsonp/?callback=functionName

Пример использования:

// 1) Функция-обработчик
function handleIP(data) {
  console.log('Ваш IP:', data.data.ip);
}

// 2) Подключаем JSONP
const s = document.createElement('script');
s.src = 'https://myipv4.ru/jsonp/?callback=handleIP';
document.head.appendChild(s);

Простой пример для вставки на сайт:

<div id="myip-widget">Загрузка IP...</div>

<script>
function showMyIP(data) {
  document.getElementById('myip-widget').innerHTML =
    'Ваш IP: <strong>' + data.data.ip + '</strong>';
}
</script>

<script src="https://myipv4.ru/jsonp/?callback=showMyIP"></script>

📋 Доступные поля данных

Поле Тип Описание
data.ip string IP-адрес пользователя
data.protocol string HTTP или HTTPS
data.hostname null Не используется (reverse DNS отключён)
data.browser string Тип браузера
data.platform string Операционная система
data.user_agent string User-Agent браузера
data.timestamp string Время запроса
data.server.software string ПО веб-сервера
data.server.name string Имя сервера
success boolean Статус выполнения

⚡ Быстрые примеры

Только IP адрес:

fetch('https://myipv4.ru/json/')
  .then(r => r.json())
  .then(data => {
    const ip = data.data.ip;
    // Используем IP
  });

Определение локации по IP (пример):

fetch('https://myipv4.ru/json/')
  .then(r => r.json())
  .then(ipData => fetch(`https://ipapi.co/${ipData.data.ip}/json/`))
  .then(r => r.json())
  .then(geo => {
    console.log('Город:', geo.city);
    console.log('Страна:', geo.country_name);
  });