IPinfoBox

Dokumentasi API

Cari IP dengan API key dari akun yang memiliki paket aktif. Masukkan key di header X-API-Key atau tambahkan ?key= ke alamat. Paket 3 bulan memungkinkan hingga 5,000 pencarian per hari; paket 6 dan 12 bulan tanpa batas harian. Pemakaian harian direset setiap hari pukul 00:00 UTC. Semua paket memungkinkan hingga 20 pencarian per detik.

Base URLhttps://ipinfobox.com/api/v1

Cari satu 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 bekerja dengan cara yang sama. Untuk IP privat dan khusus, type bernilai private atau reserved dan nilai lokasinya null.

Pemeriksaan pengunjung (privacy)

vpn, vpn_provider

Apakah alamat ada di daftar server VPN publik, dan nama penyedianya (null jika tidak diketahui)

tor

Apakah ada di daftar exit node Tor Project

hosting, hosting_provider

Apakah berada di rentang IP cloud resmi atau jaringan perusahaan hosting, dan nama perusahaannya

cloud_region

Region-nya, jika berada di rentang cloud (misalnya us-east-1)

Daftar diperbarui setiap hari. VPN yang tidak ada di daftar dan residential proxy menghasilkan false. Untuk IP privat dan khusus, privacy bernilai null. Cara kerja pemeriksaan

Menggunakannya untuk IP pengunjung

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

Cari IP Anda sendiri

GET /api/v1/me        IP dan detail alamat yang mengirim permintaan

Sisa pemakaian

GET /api/v1/usage     {"plan_ends_at":"2026-11-11T...","used_today":12,"daily_limit":5000}  (null pada paket tanpa batas harian)

Error

400 invalid_ip

Bukan alamat IP yang valid.

401 invalid_api_key

Key tidak ada atau salah.

402 no_subscription

Paket Anda telah berakhir. Bayar lagi dan Anda bisa langsung memakainya.

429 rate_limited / daily_limit

Terlalu banyak permintaan, atau kuota hari ini sudah habis.