API de detección de fraude por IP

Revisá la IP detrás de cada signup, login y pago: redes VPN conocidas, exits de Tor, relays de privacidad, rangos de hosting y el país de la IP con radio de precisión y confianza. Señales simples que combinás en tu propio score de riesgo, no un veredicto de caja negra.

Registrarse Leer la documentación

Free: 1.000 req/día · HTTPS · uso comercial OK

Ejemplo

Consultá una IP y quedate con los campos que importan para el riesgo usando jq:

GET /v0/ip/{ip}
$ curl -s https://api.networkdatalabs.com/v0/ip/4.2.2.2 \
    -H "Authorization: Bearer YOUR_API_KEY" \
    | jq '{country_code: .location.country_code, accuracy_radius_km: .location.accuracy_radius_km,
           confidence: .location.confidence, traits: (.traits | {is_vpn, is_tor, is_relay, is_hosting})}'

{
  "country_code": "US",
  "accuracy_radius_km": 50,
  "confidence": "medium",
  "traits": {
    "is_vpn": false,
    "is_tor": false,
    "is_relay": false,
    "is_hosting": false
  }
}

4.2.2.2 vuelve como una IP de Estados Unidos, con un radio de 50 km, confianza medium y todos los flags en false. Una IP de una red VPN conocida devuelve "is_vpn": true, y un exit de Tor, "is_tor": true. ¿Tenés una lista? POST /v0/bulk acepta hasta 100 IPs por request con el mismo schema; una IP inválida aparece en errors sin romper el lote, y cada IP cuenta para la cuota diaria.

Campos de la respuesta

  • location.country_code — el país de la IP, para comparar con el de facturación, la tarjeta o la cuenta
  • accuracy_radius_km y confidence — cuánto confiar en la ubicación antes de actuar por un desajuste
  • is_vpn — redes VPN conocidas, incluidos los proveedores comerciales de VPN grandes
  • is_tor — exit nodes de Tor actuales
  • is_relay — relay de privacidad; suele ser tráfico legítimo de consumidores, por eso va separado de is_vpn
  • is_hosting — detección de hosting/datacenter: tráfico que sale de servidores y no de conexiones hogareñas o móviles
  • network.asn y as_org — la red detrás de la IP, para agrupar abuso por red (mirá la API de búsqueda de ASN)

La respuesta no trae un score de riesgo único: ponderás estas señales en tu propio código, así cada decisión queda explicable y ajustada a tu tolerancia al riesgo.

Para qué lo usan los equipos

  • Signup — pedir verificación por email o teléfono cuando is_vpn, is_tor o is_hosting dan true, o cuando el país de la IP no coincide con el que eligió el usuario
  • Login — pedir 2FA o un chequeo por email cuando el país de la IP es distinto del habitual de la cuenta, o la IP es un exit de Tor
  • Pagos y checkout — comparar el país de la IP con el de la tarjeta o la facturación, y mandar a revisión manual los desajustes con confianza high o medium
  • Abuso de promos y trials — limitar trials gratis, cupones y premios por referidos pedidos desde redes VPN conocidas, exits de Tor e IPs de datacenter

Lo que no hace

  • Señales, no veredictos. Un flag dice en qué tipo de red está una IP, no quién es el usuario ni qué intenta hacer; mucho tráfico de VPN y hosting es legítimo.
  • La ubicación es una estimación. Revisá accuracy_radius_km y confidence antes de actuar por un desajuste de país.
  • Las redes nuevas pueden tardar en aparecer. Un rango de VPN o un exit de Tor recién aparecido puede dar false hasta que lo incorporemos.

Pedí una verificación extra en vez de bloquear por un solo flag, y revisá los resultados para ajustar tus pesos.

Preguntas frecuentes

¿Devuelve un score de riesgo?

No. La API devuelve las señales por separado (ubicación con radio de precisión y confianza, red y traits), y vos las combinás en tu propio código. Por ejemplo: pesá is_tor más que is_vpn e is_hosting, sumá puntos si el país de la IP no coincide con el de facturación, y contá ese desajuste solo cuando confidence es high o medium.

¿Soporta IPv6?

Sí. GET /v0/ip/{ip} y POST /v0/bulk aceptan direcciones IPv4 e IPv6 (por ejemplo 2001:4860:4860::8888). Una IP mal formada devuelve 400 INVALID_IP.

¿Hay plan gratis?

Sí: 1.000 requests por día UTC con el schema completo, uso comercial OK. En bulk, cada IP cuenta como un request para la cuota diaria.

Empezá a construir

Creá una cuenta gratis, o leé el quickstart y la referencia completa en la documentación.

Registrarse Leer la documentación

APIs relacionadas