IPinfoBox

Документация API

Проверяйте IP с помощью API-ключа аккаунта с активной подпиской. Передайте ключ в заголовке X-API-Key или добавьте ?key= к адресу. Тариф на 3 месяца позволяет до 5,000 запросов в день; у тарифов на 6 и 12 месяцев дневного лимита нет. Дневной счётчик обнуляется каждый день в 00:00 UTC. На любом тарифе доступно до 20 запросов в секунду.

Базовый URLhttps://ipinfobox.com/api/v1

Проверка одного IP

curl -H "X-API-Key: YOUR_KEY" https://ipinfobox.com/api/v1/8.8.8.8

{
  "ip": "8.8.8.8", "version": 4, "type": "public",
  "country": { "code": "US", "name": "United States", "name_en": "United States" },
  "region": "California", "city": "Mountain View", "continent": "NA",
  "location": { "lat": 37.422, "lon": -122.085 },
  "asn": { "number": 15169, "org": "Google LLC" },
  "privacy": { "vpn": false, "vpn_provider": null, "tor": false,
               "hosting": true, "hosting_provider": "Google", "cloud_region": null }
}

IPv6 работает так же. Для частных и специальных IP поле type равно private или reserved, а значения местоположения равны null.

Проверка посетителей (privacy)

vpn, vpn_provider

Есть ли адрес в открытом списке VPN-серверов, и название провайдера (null, если неизвестно)

tor

Есть ли адрес в списке выходных узлов Tor Project

hosting, hosting_provider

Входит ли адрес в официальный диапазон IP облака или в сеть хостинг-компании, и название компании

cloud_region

Регион, если адрес входит в облачный диапазон (например, us-east-1)

Списки обновляются ежедневно. Для VPN, которых нет в списке, и резидентных прокси возвращается false. Для частных и специальных IP значение privacy равно null. Как работают проверки

Проверка IP посетителей

// Node.js (Express): ask for extra verification when a sign-up comes from a VPN, Tor or a data center
app.post("/signup", async (req, res) => {
  const ip = req.headers["cf-connecting-ip"] ?? req.ip; // behind Cloudflare: CF-Connecting-IP
  const r = await fetch(`https://ipinfobox.com/api/v1/${ip}`, { headers: { "X-API-Key": process.env.IPINFOBOX_KEY } });
  const info = await r.json();
  if (info.privacy && (info.privacy.vpn || info.privacy.tor || info.privacy.hosting)) {
    return res.status(403).json({ error: "extra verification required" });
  }
  // continue sign-up
});
# Python
import requests
info = requests.get(f"https://ipinfobox.com/api/v1/{ip}", headers={"X-API-Key": KEY}, timeout=3).json()
risky = bool(info.get("privacy")) and (info["privacy"]["vpn"] or info["privacy"]["tor"] or info["privacy"]["hosting"])

Проверка своего IP

GET /api/v1/me        IP и данные адреса, с которого отправлен запрос

Остаток лимита

GET /api/v1/usage     {"plan_ends_at":"2026-11-11T...","used_today":12,"daily_limit":5000}  (null на тарифах без дневного лимита)

Ошибки

400 invalid_ip

Некорректный IP-адрес.

401 invalid_api_key

Ключ не указан или неверен.

402 no_subscription

Подписка закончилась. После повторной оплаты доступ откроется сразу.

429 rate_limited / daily_limit

Слишком много запросов или дневной лимит исчерпан.