AS39704
- OwnerCJ2 Hosting B.V.
- KindHosting provider
- Servers, not peopleyes
- IPv4 addresses19,712
- IPv4 ranges18
- IPv6 ranges4
datacenter_ipAddresses here are servers, not home or mobile connections.
Network · AS39704
AS39704 (CJ2 Hosting B.V.) is a hosting provider network. Its addresses are servers, not home or mobile connections, so a signup from it is likely automated or behind a VPN.
AS39704
datacenter_ipAddresses here are servers, not home or mobile connections.213.132.208.0/2094.124.88.0/215.22.248.0/2146.182.216.0/21213.132.192.0/2191.192.36.0/22213.132.200.0/22185.94.168.0/22185.146.216.0/22185.103.16.0/22213.132.204.0/2391.208.60.0/24Ranges and owner from DB-IP (CC BY 4.0), updated 2026-10-21.
Send the visitor's IP. The response includes the ASN, the owner and flags.hosting.
curl https://veqen-app.com/v1/ip/check \
-H "Authorization: Bearer $VEQEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "203.0.113.7"}'import os, requests
r = requests.post(
"https://veqen-app.com/v1/ip/check",
headers={"Authorization": f"Bearer {os.environ['VEQEN_API_KEY']}"},
json={"ip": "203.0.113.7"},
timeout=10,
)
result = r.json()
print(result["risk"]["verdict"], result["risk"]["reasons"])const res = await fetch("https://veqen-app.com/v1/ip/check", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VEQEN_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"ip": "203.0.113.7"}),
});
const result = await res.json();
console.log(result.risk.verdict, result.risk.reasons);AS39704 (CJ2 Hosting B.V.) is a hosting provider network. Its addresses are servers, not home or mobile connections, so a signup from it is likely automated or behind a VPN.
AS39704 is registered to CJ2 Hosting B.V.. It announces about 19,712 IPv4 addresses.
Call the Veqen IP check with the visitor's address. The response includes the ASN, the owner and whether the network is a datacenter, VPN network, relay or ISP.