Guia de localização IP em JavaScript

Consulte a localização de um endereço IP a partir de um navegador ou do Node.js.

Consultar um endereço IP em JavaScript

A requisição aceita um endereço IPv4 ou IPv6 e solicita JSON. Substitua o endereço do exemplo pelo que você precisa inspecionar.

Requisição de localização de um único 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);

Execute em um navegador moderno ou no Node.js com fetch e AbortSignal.timeout. As requisições do navegador identificam o endereço informado; o endpoint de IP próprio identifica a conexão do navegador.

Ler os campos de localização e rede

location.country e location.country_code identificam o país aproximado. location.city pode estar vazio ou ser impreciso. isp.asn identifica a rede, que pode ser diferente da pessoa ou empresa que utiliza o endereço.

Para obter o endereço que faz a requisição, chame https://api.ipquery.io/?format=json. Uma requisição do servidor retorna o IP com o qual ele se conecta; uma requisição do navegador retorna o endereço visível da sua conexão.

Todos os campos da resposta

Usar o IPQuery no Dashy

O widget Public IP do Dashy oferece suporte ao IPQuery sem chave de API. Adicione esta entrada à lista widgets de uma das suas seções do Dashy:

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

Com as configurações de proxy do Dashy desativadas, o navegador envia a requisição e o widget mostra o IP público e a localização aproximada dessa conexão. Definir useProxy: true no nível superior do widget, ou ativar appConfig.widgetsAlwaysUseProxy, envia a requisição pelo servidor do Dashy e mostra o IP público do servidor. Definir useProxy: false no nível superior do widget não substitui a configuração global do painel.

O widget utiliza o endpoint de IP próprio do IPQuery. Para inspecionar outro endereço, utilize a requisição JavaScript de um único IP apresentada acima.

Opções do widget Public IP do Dashy

Precisão e segurança

A geolocalização IP é uma estimativa da localização da rede, não de um dispositivo. VPNs, proxies, redes móveis e gateways das operadoras podem situar o endereço longe do usuário. Trate os valores ausentes como desconhecidos em vez de preenchê-los com uma suposição.

Se sua aplicação lê X-Forwarded-For, confie nele apenas quando for fornecido por um proxy que você controla. Cabeçalhos enviados pelo cliente podem ser falsificados. Valide os endereços antes de realizar consultas e trate tempos limite e erros HTTP separadamente de um resultado bem-sucedido.

Referência da API

Acesso às listas completas.

Para preços ou acesso às listas completas, envie um e-mail para contact@ipquery.io.

Lista selecionada
Registros selecionados
Registros nesta lista