IPinfoBox

Tài liệu API

Tra cứu IP bằng API key của tài khoản có gói đang hoạt động. Đặt key trong header X-API-Key hoặc thêm ?key= vào địa chỉ. Gói 3 tháng cho phép tối đa 5,000 lượt tra cứu mỗi ngày; gói 6 và 12 tháng không giới hạn theo ngày. Lượt dùng trong ngày được đặt lại lúc 00:00 UTC hằng ngày. Mọi gói đều cho phép tối đa 20 lượt tra cứu mỗi giây.

URL gốchttps://ipinfobox.com/api/v1

Tra cứu một 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 dùng theo cách tương tự. Với IP riêng và IP đặc biệt, type là private hoặc reserved và các giá trị vị trí là null.

Kiểm tra khách truy cập (privacy)

vpn, vpn_provider

Địa chỉ có trong danh sách máy chủ VPN công khai hay không, và tên nhà cung cấp (null nếu không rõ)

tor

Có trong danh sách nút thoát của Tor Project hay không

hosting, hosting_provider

Có thuộc dải IP đám mây chính thức hoặc mạng của công ty hosting hay không, và tên công ty

cloud_region

Vùng, khi thuộc dải IP đám mây (ví dụ us-east-1)

Các danh sách được làm mới hằng ngày. VPN không có trong danh sách và proxy dân cư trả về false. Với IP riêng và IP đặc biệt, privacy là null. Cách kiểm tra hoạt động

Áp dụng cho IP khách truy cập

// 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"])

Tra cứu IP của chính bạn

GET /api/v1/me        IP và thông tin của địa chỉ gửi yêu cầu

Lượt dùng còn lại

GET /api/v1/usage     {"plan_ends_at":"2026-11-11T...","used_today":12,"daily_limit":5000}  (null với gói không giới hạn theo ngày)

Lỗi

400 invalid_ip

Không phải địa chỉ IP hợp lệ.

401 invalid_api_key

Thiếu key hoặc key sai.

402 no_subscription

Gói của bạn đã hết hạn. Thanh toán lại là dùng được ngay.

429 rate_limited / daily_limit

Quá nhiều yêu cầu, hoặc đã dùng hết lượt hôm nay.