Guía de ubicación IP en JavaScript

Consulta la ubicación de una dirección IP desde un navegador o Node.js.

Consultar una dirección IP en JavaScript

La solicitud acepta una dirección IPv4 o IPv6 y pide JSON. Sustituye la dirección del ejemplo por la que necesitas inspeccionar.

Solicitud de ubicación de una sola IP
const ip = '8.8.8.8'; // Replace with an IPv4 or IPv6 address.
const response = await fetch(
  'https://api.ipquery.io/' + encodeURIComponent(ip) + '?format=json',
  { signal: AbortSignal.timeout(8000) }
);
if (!response.ok) throw new Error('IPQuery returned HTTP ' + response.status);
const data = await response.json();
if (data.ip !== ip || !data.location || !data.isp) {
  throw new Error('Unexpected IPQuery response');
}
console.log(data.location.country, data.location.city, data.isp.asn);

Ejecuta el ejemplo en un navegador moderno o en Node.js con fetch y AbortSignal.timeout. Las solicitudes del navegador identifican la dirección que proporcionas; el endpoint de IP propia identifica la conexión del navegador.

Leer los campos de ubicación y red

location.country y location.country_code identifican el país aproximado. location.city puede estar vacío o ser impreciso. isp.asn identifica la red, que puede ser distinta de la persona o empresa que utiliza la dirección.

Para obtener la dirección desde la que se realiza la solicitud, llama a https://api.ipquery.io/?format=json. Una solicitud desde un servidor devuelve la IP con la que ese servidor se conecta; una solicitud desde un navegador devuelve la dirección visible de su conexión.

Todos los campos de respuesta

Usar IPQuery en Dashy

El widget Public IP de Dashy admite IPQuery sin clave de API. Añade esta entrada a la lista widgets de una de tus secciones de Dashy:

Widget Public IP de Dashy
- type: public-ip
  options:
    provider: ipquery

Con los ajustes de proxy de Dashy desactivados, el navegador envía la solicitud y el widget muestra la IP pública y la ubicación aproximada de esa conexión. Establecer useProxy: true en el nivel superior del widget, o activar appConfig.widgetsAlwaysUseProxy, envía la solicitud a través del servidor de Dashy y muestra la IP pública del servidor. Establecer useProxy: false en el nivel superior del widget no anula el ajuste global del panel.

El widget utiliza el endpoint de IP propia de IPQuery. Para inspeccionar otra dirección, utiliza la solicitud JavaScript de una sola IP que aparece arriba.

Opciones del widget Public IP de Dashy

Precisión y seguridad

La geolocalización IP es una estimación de la ubicación de la red, no de un dispositivo. Las VPN, los proxies, las redes móviles y las pasarelas de los operadores pueden situar la dirección lejos del usuario. Trata los valores ausentes como desconocidos en lugar de rellenarlos con una suposición.

Si tu aplicación lee X-Forwarded-For, confía en él solo cuando lo proporcione un proxy que controles. Las cabeceras proporcionadas por el cliente pueden falsificarse. Valida las direcciones antes de realizar consultas y gestiona los tiempos de espera y los errores HTTP por separado de los resultados correctos.

Referencia de la API

Acceso a listas completas.

Para precios o acceso a listas completas, escribe a contact@ipquery.io.

Lista seleccionada
Registros seleccionados
Registros de esta lista