Ir al contenido
Iniciar sesión Registrarse

IP Info (API gratuita de geolocalización de IP)

IP Info es una API gratuita de geolocalización de IP y ASN mantenida por Shifter. Una única solicitud GET devuelve el país, la región, la ciudad, las coordenadas, la zona horaria, el ISP, el ASN y el tipo de conexión de una dirección IP en formato JSON. No requiere registro, ni clave de API, ni suscripción.

Funciona sobre la misma base de datos de ubicación de IP y red que Shifter utiliza para sus propios pools de proxies, de modo que al comprobar una IP de salida de Shifter con IP Info se obtiene la ubicación tal como la ve nuestra red.

SolicitudDevuelve
GET http://ip-info.com/jsonLa IP que realizó la solicitud (tu servidor, o la salida de tu proxy cuando se envía a través de un proxy)
GET http://ip-info.com/json?ip=8.8.8.8Una dirección IPv4 o IPv6 pública específica
GET http://ip-info.com/8.8.8.8/jsonLa misma consulta, en formato de ruta

HTTP (http://ip-info.com/json) también funciona y no se redirige. Usa HTTPS desde páginas web para evitar bloqueos por contenido mixto. Las respuestas permiten GET entre orígenes, por lo que el código del navegador puede llamar directamente a la API.

Ventana de terminal
curl --max-time 10 "http://ip-info.com/json?ip=94.204.59.232"
{
"ip": "94.204.59.232",
"city": "Motor City",
"region": "Dubai",
"region_code": "DU",
"country": "AE",
"country_name": "United Arab Emirates",
"continent": "AS",
"loc": "25.0459,55.241",
"latitude": 25.0459,
"longitude": 55.241,
"postal": null,
"timezone": "Asia/Dubai",
"asn": 15802,
"as_name": "Emirates Integrated Telecommunications Company PJSC",
"isp": "Emirates Integrated Telecommunications Company PJSC",
"org": "Emirates Integrated Telecommunications Company",
"connection_type": "Corporate",
"user_type": "business",
"is_anycast": false
}

La respuesta real tiene 29 campos; el ejemplo anterior muestra los que leen la mayoría de las integraciones. Todos los campos están siempre presentes, y un valor que la base de datos no tiene se devuelve como null.

Envía la solicitud sin argumentos a través de tu proxy. La respuesta de IP Info describe la IP de salida, de modo que puedes confirmar que el país, la ciudad o el ASN que solicitaste son los que obtuviste.

Ventana de terminal
curl --max-time 15 \
--proxy http://p.shifter.io:443 \
--proxy-user "customer-USERNAME-country-us-city-new_york:PASSWORD" \
http://ip-info.com/json

Compara country (código ISO 3166 de dos letras) con el país que solicitaste y asn (un número simple, sin prefijo AS) con la red que segmentaste. Consulta Geo-targeting para conocer las marcas de nombre de usuario.

IP Info no requiere ningún flujo de autenticación, por lo que un agente puede llamarlo como cualquier otro endpoint HTTP. Publica descripciones legibles por máquinas que los agentes y creadores de herramientas pueden cargar directamente:

No se necesita ningún servidor MCP. Si tu framework acepta definiciones de funciones o herramientas, esta es suficiente:

{
"name": "ip_lookup",
"description": "Approximate geolocation and network (ASN, ISP) for a public IP address. Omit ip to look up the agent's own network exit.",
"input_schema": {
"type": "object",
"properties": {
"ip": { "type": "string", "description": "Public IPv4 or IPv6 literal. Leave empty for the caller's exit IP." }
}
}
}

Impleméntalo como GET http://ip-info.com/json cuando ip está vacío y como GET http://ip-info.com/json?ip=<URL-encoded ip> en caso contrario.

Proporciona al agente estas reglas junto con la herramienta:

  1. Una llamada sin ip describe el propio servidor o la salida de proxy del agente, no la del usuario humano. Para consultar la IP de un usuario, hay que proporcionar esa IP explícitamente al agente.
  2. Usa country para comparaciones de país y asn para comprobaciones de red.
  3. Trata null como desconocido. Nunca rellenes un campo ausente.
  4. La ubicación es aproximada, e IP Info no es un sistema de detección de VPN o proxy.

Usos habituales de los agentes: confirmar que el proxy de un agente de navegación está en el país correcto antes de que este extraiga datos de una página localizada, etiquetar los datos recopilados con la ubicación de salida desde la que se obtuvieron, y enriquecer las IPs de registros o de altas con el país y el ASN.

Los errores se devuelven como JSON con un código estable:

{ "error": { "code": "invalid_ip", "message": "Supply a literal IPv4 or IPv6 address." } }
EstadoCódigoSignificado
400invalid_ipEntrada mal formada, privada, reservada o de otro modo no pública, o parámetros contradictorios
404ip_not_foundNo hay registro para esta IP en la base de datos activa
405method_not_allowedUsa GET
503database_unavailableTemporal; reintenta con espera creciente
504timeoutTemporal; reintenta con espera creciente

Corrige las entradas 4xx antes de reintentar. Para 503, 504 y errores de conexión, reintenta con una espera creciente y acotada (por ejemplo 1, 2 y 4 segundos) y, después, desiste e informa del fallo.

  • Gratuito, sin cuota. No hay cuota por clave ni por aplicación, ni tampoco clave de API. Es un servicio compartido con capacidad finita: realiza las solicitudes que tu aplicación necesite y respeta los términos. Se permite el uso automatizado y comercial.
  • Aproximado por diseño. Las coordenadas señalan un área, no una dirección, y nunca identifican a una persona.
  • No es un detector de proxy o VPN. connection_type, user_type e is_anycast son clasificaciones de la base de datos, no una prueba de cómo se usa una IP.
  • Privacidad. La API no conserva historial de consultas. Consulta la política de privacidad.

Preguntas o discrepancias de datos: escribe a hi@shifter.io indicando la IP y la ubicación que esperabas.