DEV Community

Logical Features
Logical Features

Posted on

Eu construí uma API de Geolocalização por IP com Detecção de VPN e Score de Risco por IA — e o tier grátis tem 5.000 req/mês

TL;DR

Criei o IP Lookup In — uma API REST brasileira de geolocalização por IP que retorna país, cidade, ISP, fuso horário, moeda e até detecção de Proxy/VPN e Score de Risco com IA.

O plano gratuito oferece 5.000 requisições/mês sem pedir cartão de crédito.

curl -H "X-API-Key: SUA_CHAVE" \
  "https://iplookup.in/api/v1/lookup?ip=8.8.8.8"
Enter fullscreen mode Exit fullscreen mode
{
  "ip": "8.8.8.8",
  "country": "United States",
  "country_code": "US",
  "region": "California",
  "city": "Mountain View",
  "latitude": 37.4223,
  "longitude": -122.0847,
  "timezone": "-07:00",
  "isp": "Google LLC",
  "domain": "google.com",
  "currency": "USD",
  "is_proxy": false,
  "proxy_type": null,
  "is_private": false,
  "cached": true
}
Enter fullscreen mode Exit fullscreen mode

Uma chamada. 15+ campos. Resposta em milissegundos.

Se isso já te interessou, cria sua conta grátis aqui. Se quer saber mais, continua lendo 👇


🤔 Por que mais uma API de geolocalização?

Eu precisava de uma API de IP lookup para um projeto pessoal. Testei as alternativas populares e encontrei os mesmos problemas:

Problema O que encontrei por aí
Tier grátis limitadíssimo 1.000 req/mês ou menos
Sem detecção de VPN/Proxy Precisa contratar outro serviço
Score de risco? "Fale com nosso time de vendas" 🙄
Latência alta 200-500ms por request
Preços em dólar R$ 5+ por dólar na cotação 😅

Resultado: para ter geolocalização + proxy + risco, eu precisava de 3 serviços diferentes, pagando em dólar, com 3 integrações separadas.

Então pensei: "E se tudo isso viesse numa única API, com preço em Real?"


⚡ O que o IP Lookup In entrega

🌍 Geolocalização completa em uma chamada

Nada de fazer 3 requests para APIs diferentes. Uma única chamada retorna:

  • Localização — País, região, cidade, latitude/longitude, CEP
  • Fuso horário — Timezone exato do IP
  • ISP & Domínio — Provedor de internet e domínio associado
  • Moeda local — Código da moeda do país (BRL, USD, EUR...)
  • Flag de rede privada — Identifica IPs internos automaticamente

🛡️ Detecção de Proxy, VPN e Tor (planos Pro+)

A API identifica automaticamente se um IP pertence a:

  • VPN — Serviços como NordVPN, ExpressVPN, etc.
  • Proxy público — Proxies abertos e anônimos
  • Tor — Exit nodes da rede Tor
  • Datacenter — IPs de hosting/cloud (AWS, GCP, Azure...)

Cada resposta inclui:

  • is_proxy → booleano direto
  • proxy_type → tipo detectado (VPN, PUB, DCH, TOR...)
  • usage_type → uso do IP (comercial, móvel, residencial...)
  • threat → nível de ameaça associado

🤖 Score de Risco com IA (Enterprise)

O endpoint /api/v1/risk vai além da detecção de proxy. Ele cruza todos os dados disponíveis do IP usando inteligência artificial e retorna uma avaliação de risco acionável:

curl -H "X-API-Key: SUA_CHAVE" \
  "https://iplookup.in/api/v1/risk?ip=185.220.101.55"
Enter fullscreen mode Exit fullscreen mode
{
  "risk_score": 85,
  "confidence": "high",
  "threats": [
    "IP identificado como proxy/VPN ativo",
    "Tráfego suspeito originado deste IP nas últimas 24 horas"
  ],
  "action_recommended": "BLOCK"
}
Enter fullscreen mode Exit fullscreen mode
Campo O que significa
risk_score Pontuação de 0 (seguro) a 100 (alto risco)
confidence Grau de confiança: low, medium, high
threats Lista de ameaças detectadas (sempre em PT-BR 🇧🇷)
action_recommended ALLOW, CHALLENGE ou BLOCK

Ideal para: gateways de pagamento, anti-fraude, login seguro, qualquer sistema que precisa tomar decisão em tempo real.

📦 Bulk Lookup — até 50 IPs por chamada (planos Pro+)

Precisa resolver uma lista inteira de IPs? Manda tudo de uma vez:

curl -X POST \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{"ips": ["8.8.8.8", "1.1.1.1", "200.160.2.3"]}' \
  "https://iplookup.in/api/v1/lookup/batch"
Enter fullscreen mode Exit fullscreen mode
{
  "results": [
    { "ip": "8.8.8.8", "country": "United States", "city": "Mountain View", "..." : "..." },
    { "ip": "1.1.1.1", "country": "Australia", "city": "Sydney", "..." : "..." },
    { "ip": "200.160.2.3", "country": "Brazil", "city": "São Paulo", "..." : "..." }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Perfeito para processar logs, enriquecer dados de analytics ou alimentar dashboards em lote.

⚡ Performance de verdade

  • Respostas cacheadas em < 5ms
  • Base de geolocalização mantida em memória (sem I/O de disco)
  • Atualização automática da base sem downtime
  • Rate limit verificado antes de qualquer processamento — se excedeu a cota, responde 429 instantaneamente

💰 Planos e Preços (em Real 🇧🇷)

Todos os preços do IP Lookup In são em Real (BRL) — nada de converter dólar:

Gratuito Starter Pro Enterprise
Preço R$ 0 R$ 29,90/mês R$ 49,90/mês R$ 599,90/mês
Requisições/mês 5.000 50.000 500.000 2.000.000
API Keys 1 3 10 30
Bulk Lookup
Detecção Proxy/VPN
Score de Risco (IA)
Suporte Docs E-mail (48h) E-mail prioritário E-mail + WhatsApp

💡 O plano gratuito não pede cartão de crédito e nunca expira. É para você testar, integrar no seu projeto e decidir se precisa escalar.

Comparando com as alternativas gringas

Recurso IP Lookup In (Pro) Concorrente A Concorrente B
500k req/mês R$ 49,90 ~R$ 500+ (USD) ~R$ 750+ (USD)
Geo + Proxy na mesma API ❌ (serviço separado) ✅ (plano caro)
Score de Risco com IA ✅ (Enterprise) "Fale conosco"
Preço em Real
Suporte em Português

🔧 Integração em 2 minutos

Python

import requests

API_KEY = "sua_chave_aqui"
ip = "8.8.8.8"

response = requests.get(
    f"https://iplookup.in/api/v1/lookup?ip={ip}",
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"{data['city']}, {data['country']} ({data['isp']})")
# Mountain View, United States (Google LLC)
Enter fullscreen mode Exit fullscreen mode

JavaScript (Node.js / Fetch)

const API_KEY = "sua_chave_aqui";

const res = await fetch(
  `https://iplookup.in/api/v1/lookup?ip=8.8.8.8`,
  { headers: { "X-API-Key": API_KEY } }
);

const data = await res.json();
console.log(`${data.city}, ${data.country} — Proxy: ${data.is_proxy}`);
// Mountain View, United States — Proxy: false
Enter fullscreen mode Exit fullscreen mode

cURL

curl -s -H "X-API-Key: SUA_CHAVE" \
  "https://iplookup.in/api/v1/lookup?ip=1.1.1.1" | jq .
Enter fullscreen mode Exit fullscreen mode

PHP

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://iplookup.in/api/v1/lookup?ip=8.8.8.8");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: SUA_CHAVE"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = json_decode(curl_exec($ch), true);
echo $response['city'] . ', ' . $response['country'];
// Mountain View, United States
Enter fullscreen mode Exit fullscreen mode

📊 Casos de uso

Cenário Como o IP Lookup In ajuda
E-commerce Mostrar preços na moeda local, sugerir região de frete
Anti-fraude Bloquear compras de IPs com score de risco > 70
Analytics Enriquecer logs com geolocalização (cidade, região, país)
Segurança Detectar acessos via VPN/Proxy/Tor em painéis admin
Compliance Geo-blocking por país para LGPD/GDPR
SaaS Personalizar onboarding e UX por região do usuário
Jogos Online Identificar jogadores usando VPN para burlar região
Mídia/Streaming Controlar distribuição de conteúdo por geolocalização

🚀 Começando agora

  1. Crie sua conta gratuita (sem cartão de crédito)
  2. Copie sua API Key no dashboard
  3. Faça sua primeira chamada:
curl -H "X-API-Key: SUA_CHAVE" \
  "https://iplookup.in/api/v1/lookup?ip=8.8.8.8"
Enter fullscreen mode Exit fullscreen mode
  1. 🎉 Pronto. 5.000 requisições/mês para usar como quiser.

O que vem por aí

  • 📚 SDKs oficiais (Python, Node.js, Go)
  • 📈 Dashboard com gráficos de consumo em tempo real

Se você chegou até aqui, obrigado pela leitura! Se curtiu o projeto ou tem alguma sugestão de feature, deixa nos comentários — leio todos. 🤙

→ Criar conta gratuita | 📖 Documentação da API

Top comments (0)