Detectar VPN y proxy
No todo visitante es quien su IP sugiere, y distinguir una conexión residencial o móvil de una dirección de datacenter alquilada cambia cómo debería tratar esa solicitud.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Este endpoint marca si la IP detrás de una petición pertenece a un rango de datacenter u hosting — el tipo de infraestructura que los navegadores reales rara vez usan, pero sobre la que corren los bots, los scrapers y la mayoría de las VPN y proxies comerciales — para que aplique reglas distintas según el tipo de tráfico, sin adivinar.
La distancia entre una IP y la persona que la usa
Una VPN comercial, un servicio de proxy o un bot automatizado suelen correr sobre infraestructura de servidor alquilada, lo que significa que una solicitud que llega desde un rango de datacenter u hosting muchas veces no tiene relación con una persona navegando desde su casa ni con qué dispositivo usa. Esa distancia es normal y suele ser legítima — pero para decisiones de registro, checkout o contenido, saber que la solicitud vino de infraestructura de servidor y no de una conexión residencial o móvil cambia lo que conviene hacer después.
Qué le dice la comprobación
La respuesta indica si la IP pertenece a un rango conocido de datacenter, hosting o nube, según cómo esté registrado ese bloque de direcciones y qué operador lo administra. Es una clasificación de la infraestructura por la que llegó la solicitud —un rango de servidores frente a un proveedor residencial o móvil—, no un juicio sobre la persona detrás, y no una etiqueta por servicio que nombre una VPN, un proxy o un nodo Tor concreto. Mucho tráfico legítimo pasa por IPs de datacenter por razones completamente normales, como privacidad o política de red corporativa.
Por qué se marcan los rangos de datacenter
Los proveedores residenciales y móviles asignan direcciones a hogares y teléfonos; los proveedores de hosting y las plataformas en la nube asignan direcciones a servidores. Un tráfico que dice ser un comprador individual pero se origina en un rango de hosting es una discrepancia que vale la pena conocer, porque los navegadores reales rara vez corren desde infraestructura de servidor — las herramientas automatizadas, los scrapers y las VPN y proxies que se apoyan en servidores alquilados sí lo hacen con frecuencia.
Una capa de información, no un veredicto
Este tipo de señal creció junto con las mismas herramientas de anonimización: a medida que las VPN y los proxies se volvieron comunes por privacidad, y que la mayoría pasó a correr sobre IPs de datacenter, los servicios que clasifican infraestructura de IP se convirtieron en un insumo habitual para los sistemas antifraude, que se combina con otras señales en vez de sustituirlas.
Cómo se integra en un flujo de decisión
Envía la IP, recibe un task_id, y la clasificación llega por su webhook firmado o por un enlace firmado válido por 24 horas. La mayoría de las integraciones la combinan con historial de cuenta o señales de comportamiento en vez de bloquear solo con esta señal, ya que una marca de datacenter u hosting por sí sola rara vez justifica un rechazo automático.
Qué puede hacer con ella
Prevención de abuso en registros
Añada fricción o verificación adicional a intentos de crear cuenta desde rangos de datacenter u hosting conocidos por abuso automatizado.
Integridad de cupones y promociones
Reduzca el farming de cupones marcando registros repetidos que pasan por infraestructura de datacenter u hosting.
Cumplimiento de licencias por región
Detecte cuándo una solicitud llega desde un rango de datacenter en vez de una conexión de hogar —por donde salen la mayoría de las VPN comerciales—, para decidir con qué rigor aplicar reglas de ubicación.
Capas de riesgo en el checkout
Combine la señal de datacenter u hosting con otras señales para priorizar qué pedidos reciben revisión manual.
Preguntas frecuentes
¿Cómo funciona esta api para detectar vpn?
Revisa la IP detrás de una solicitud contra rangos conocidos de datacenter, hosting y nube, identificados por el operador que administra cada bloque, y devuelve si es un rango de servidores en vez de una conexión residencial o móvil. No etiqueta una VPN, un proxy ni un nodo Tor concreto por su nombre.
¿Detecta todas las VPN, proxies o nodos Tor?
No. Marca los rangos de datacenter y hosting, que es donde se alojan la mayoría de las VPN y proxies comerciales, así que atrapa a muchos de forma indirecta. Pero no identifica servicios de VPN o proxy por su nombre, y una VPN sobre una IP residencial, un proxy residencial o tráfico de Tor que salga por un rango que no sea de datacenter pueden aparecer como tráfico residencial normal.
¿El tráfico de datacenter siempre es malo?
No. Muchos usuarios legítimos pasan por IPs de datacenter —VPN por privacidad, redes corporativas—, así que esta señal busca informar una decisión, no reemplazarla — la mayoría de los equipos la combinan con otras señales de riesgo en vez de bloquear directamente.
¿Es gratuita?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Puedo revisar IPs en bloque?
Cada llamada clasifica una IP; para mayor volumen, envíe una solicitud por IP y deje que la cola asíncrona las procese en paralelo.
¿Qué tan rápido llega el resultado?
El task_id se devuelve de inmediato, y la clasificación llega por su webhook firmado o por un enlace firmado válido por 24 horas.
¿Se conservan mis datos después de la consulta?
No, los resultados se eliminan al cerrarse la ventana de retención y nunca se usan para entrenar modelos.
¿Qué pasa si una consulta falla?
Se reintenta automáticamente hasta tres veces antes de devolver un error claro, y las solicitudes fallidas nunca se cobran.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/verify/ip-vpn \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ip":"8.8.8.8"}'const res = await fetch("https://api.kit.forhosting.com/verify/ip-vpn", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ip": "8.8.8.8"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/ip-vpn",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ip": "8.8.8.8"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/ip-vpn", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ip":"8.8.8.8"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ip":"8.8.8.8"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/ip-vpn", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"ip": "8.8.8.8"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.ip_vpn",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |