Documentación API
Consulta IP con la clave de API de una cuenta con un plan activo. Pon la clave en el encabezado X-API-Key o añade ?key= a la dirección. El plan de 3 meses permite hasta 5,000 consultas al día; los planes de 6 y 12 meses no tienen límite diario. El uso diario se reinicia cada día a las 00:00 UTC. Todos los planes permiten hasta 20 consultas por segundo.
https://ipinfobox.com/api/v1Consultar una 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 funciona igual. Para IP privadas y especiales, type es private o reserved y los valores de ubicación son null.
Verificación de visitantes (privacy)
vpn, vpn_providerSi la dirección está en la lista pública de servidores VPN, y el nombre del proveedor (null si se desconoce)
torSi está en la lista de nodos de salida de Tor Project
hosting, hosting_providerSi está en un rango de IP oficial de nube o en la red de una empresa de hosting, y el nombre de la empresa
cloud_regionLa región, si está en un rango de nube (por ejemplo us-east-1)
Las listas se actualizan a diario. Para las VPN que no están en la lista y los proxies residenciales se devuelve false. Para IP privadas y especiales, privacy es null. Cómo funcionan las verificaciones
Uso con las IP de tus visitantes
// 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"])Consultar tu propia IP
GET /api/v1/me la IP y los detalles de la dirección que envió la solicitudUso restante
GET /api/v1/usage {"plan_ends_at":"2026-11-11T...","used_today":12,"daily_limit":5000} (null en planes sin límite diario)Errores
400 invalid_ipNo es una dirección IP válida.
401 invalid_api_keyFalta la clave o es incorrecta.
402 no_subscriptionTu plan ha terminado. Vuelve a pagar y podrás usarlo al instante.
429 rate_limited / daily_limitDemasiadas solicitudes, o se ha agotado el uso de hoy.