Documentação da API
Consulte IPs com a chave de API de uma conta com plano ativo. Envie a chave no cabeçalho X-API-Key ou adicione ?key= ao endereço. O plano de 3 meses permite até 5,000 consultas por dia; os planos de 6 e 12 meses não têm limite diário. O uso diário é zerado todos os dias às 00:00 UTC. Todos os planos permitem até 20 consultas por segundo.
https://ipinfobox.com/api/v1Consultar um 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 da mesma forma. Para IPs privados e especiais, type é private ou reserved e os valores de localização são null.
Verificação de visitantes (privacy)
vpn, vpn_providerSe o endereço está na lista pública de servidores VPN e o nome do provedor (null se desconhecido)
torSe está na lista de nós de saída do Tor Project
hosting, hosting_providerSe está em uma faixa de IP oficial de nuvem ou na rede de uma empresa de hospedagem, e o nome da empresa
cloud_regionA região, quando está em uma faixa de nuvem (por exemplo us-east-1)
As listas são atualizadas diariamente. VPNs fora da lista e proxies residenciais retornam false. Para IPs privados e especiais, privacy é null. Como funcionam as verificações
Uso com IPs de 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 o seu próprio IP
GET /api/v1/me o IP e os detalhes do endereço que enviou a requisiçãoUso restante
GET /api/v1/usage {"plan_ends_at":"2026-11-11T...","used_today":12,"daily_limit":5000} (null em planos sem limite diário)Erros
400 invalid_ipNão é um endereço IP válido.
401 invalid_api_keyA chave está ausente ou incorreta.
402 no_subscriptionSeu plano terminou. Pague novamente para voltar a usar na hora.
429 rate_limited / daily_limitRequisições demais, ou o uso de hoje acabou.