API gratuita de geolocalización de IP y análisis de riesgos

API gratuita de geolocalización de IP & Riesgo

Alto rendimiento, doble pila IPv4/IPv6, soporte multilingüe. Gratis y sin registro.

⏱️
Límite de frecuencia Máximo 1 solicitud por segundo (1 req/s).
♾️
Cuota total Sin límites de cuota diaria ni total. 100% de uso gratuito.

Puntos finales de la API

GET https://api.myipdns.com/
IPv4 IPv6 Formato JSON
GET https://v4.api.myipdns.com/
Solo IPv4 Formato de Texto
GET https://v6.api.myipdns.com/
Solo IPv6 Formato de Texto

Parámetros

Parámetro Descripción Ejemplo
ip La dirección IP a consultar. Si se omite, devuelve la IP del solicitante. ?ip=8.8.8.8
lang Idioma de respuesta. Soportado: en, cn, ru, ja, fr, de, es, pt. ?lang=zh-CN

Ejemplo de respuesta JSON

Request: GET https://api.myipdns.com/?ip=8.8.8.8&lang=en

{
  "ip": "8.8.8.8",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "timezone": "America/Chicago",
  "latitude": 37.751,
  "longitude": -97.822,
  "asn": 15169,
  "as_org": "Google LLC",
  "native_type": "native",
  "rir_registry": "arin",
  "is_hosting": true,
  "usage_type": "DCH",
  "query_time": "0.03",
  "source": "maxmind.com"
}

API de Diagnóstico de Pila de Protocolos y Privacidad en Terminal (/check)

Punto de conexión de alta precisión para inspección directa de pila y topología de salida para curl, wget y scripts.

Límite de tasa de lectura 1 solicitud/segundo (ráfaga 5) por IP. El exceso devuelve HTTP 429.
🔗
Cuota de creación de enlaces 5 escrituras/hora por IP. El exceso continúa devolviendo el diagnóstico con normalidad sin generar enlace (HTTP 200).

Puntos finales de la API

GET https://myipdns.com/check
Dual-Stack Salida predeterminada (Color ANSI / Texto de terminal)
GET https://myipdns.com/check?format=line
Dual-Stack Formato de línea (KEY=VALUE para análisis en Shell y automatización)
GET https://myipdns.com/check?format=json
Dual-Stack Formato JSON estructurado

Parámetros

Parámetro Descripción Ejemplo
format Especificación de formato: json (JSON estructurado) o line (formato KEY=VALUE) ?format=line / ?format=json
share Genera un enlace de informe de 30 días y una insignia SVG (límite de 5 escrituras/hora/IP) ?share=1
color Desactiva los códigos de color ANSI: ?color=0 o ?plain=1 ?color=0 / ?plain=1
-4 / -6 Prueba explícita de pila IPv4 o IPv6: curl -4 o curl -6 curl -4 https://myipdns.com/check

Especificación completa de campos JSON

Field Type Description
ipstringDirección IP de salida del cliente
ip_versionstringVersión de IP (IPv4 o IPv6) (IPv4 / IPv6)
countrystringNombre del país resuelto por votación multifuente
country_codestringCódigo de país ISO 3166-1 alfa-2
citystring | nullNombre de la ciudad (o null si no se midió)
asnstringNúmero de Sistema Autónomo (ej. AS15169)
as_orgstringNombre de la organización o ISP del ASN
is_datacenterbooleanBooleano que indica red de centro de datos o alojamiento
is_proxybooleanBooleano que indica salida de proxy comercial o VPN
transportobjectObjeto de capa de transporte. 🔴 Métricas no medidas son estrictamente null (nunca 0 o false)
transport.mssstringTamaño máximo de segmento TCP observado (ej. 1380, o "n/a")
transport.mtuinteger | nullMTU de ruta deducida a partir de MSS (ej. 1420 para WireGuard, o null)
transport.mtu_notestring | nullClasificación heurística del tipo de enlace según MTU (o null)
transport.wscaleinteger | nullExponente de escala de ventana TCP (o null)
transport.syn_wininteger | nullTamaño de ventana SYN inicial de TCP (o null)
transport.syn_ttlinteger | nullTTL inicial estimado del SYN (o null)
transport.option_orderstring | nullOrden de opciones SYN de TCP (o null)
transport.ts_valinteger | nullValor de marca de tiempo TCP (o null)
transport.ts_hzinteger | nullFrecuencia del reloj de marca de tiempo TCP en Hz (o null)
transport.ecn_enabledboolean | nullEstado booleano de ECN (o null si no se midió)
cryptoobjectObjeto criptográfico y de aplicación (versión HTTP, versión TLS, JA4, JA3, ALPN)
verdictobjectVeredicto de topología, base de inferencia y resumen descriptivo
share_urlstring (optional)Enlace de 30 días generado cuando se solicita ?share=1 dentro de la cuota
badge_urlstring (optional)URL de insignia SVG generada cuando se solicita ?share=1 dentro de la cuota

Formato de línea (KEY=VALUE para análisis en Shell y automatización) Example:

ip=35.212.190.31
ip_version=IPv4
country=United States
country_code=US
city=San Jose
asn=AS15169
as_org=Google LLC
is_datacenter=true
is_proxy=false
mss=1380
mtu=1420
mtu_note=Encapsulated Tunnel (WireGuard / Tailscale / CDN)
wscale=7
syn_win=65535
syn_ttl=64
option_order=MSS,SACK_PERM,TS,NOP,WS
ts_val=987654
ts_hz=1000
ecn_enabled=true
http_proto=HTTP/2.0
tls_version=TLS 1.3
ja4=t13d1516h2_8daaf6152771_000000000000
verdict=topo_terminated_remote_protocol
verdict_basis=reputation
verdict_summary=Data Center / Proxy Egress (Hosting Network)

Formato JSON estructurado Example:

{
  "ip": "35.212.190.31",
  "ip_version": "IPv4",
  "country": "United States",
  "country_code": "US",
  "city": "San Jose",
  "asn": "AS15169",
  "as_org": "Google LLC",
  "is_datacenter": true,
  "is_proxy": false,
  "transport": {
    "mss": "1380",
    "mtu": 1420,
    "mtu_note": "Encapsulated Tunnel (WireGuard / Tailscale / CDN)",
    "wscale": 7,
    "syn_win": 65535,
    "syn_ttl": 64,
    "option_order": "MSS,SACK_PERM,TS,NOP,WS",
    "ts_val": 987654,
    "ts_hz": 1000,
    "ecn_enabled": true
  },
  "crypto": {
    "http_proto": "HTTP/2.0",
    "tls_version": "TLS 1.3",
    "ja4": "t13d1516h2_8daaf6152771_000000000000"
  },
  "verdict": {
    "key": "topo_terminated_remote_protocol",
    "basis": "reputation",
    "summary": "Data Center / Proxy Egress (Hosting Network)"
  }
}

Interfaz de línea de comandos (CLI / curl)

Sin necesidad de integraciones complejas. Ejecuta comandos directamente en tu terminal para obtener datos de IP o la IP en texto plano. Las solicitudes CLI están limitadas a 1 por segundo.

1. Obtener perfil JSON estándar de tu propia IP:

curl https://myipdns.com

2. Obtener perfil JSON estándar de una IP de destino (ej. 8.8.8.8):

curl https://myipdns.com/ip/8.8.8.8

3. Obtener cadena de IP en texto plano (ideal para scripts de shell):

curl https://myipdns.com/ip

Preguntas frecuentes sobre la API

Detalles sobre medición de pila de protocolos, reglas de valores nulos e integración de scripts.

/check emite una redirección HTTP 302 directamente a nuestro dominio de sondeo de doble pila (check_dns.myipdns.com). Al eludir proxies inversos y CDN, el kernel del servidor inspecciona directamente el paquete TCP SYN entrante.

Para evitar falsificaciones y lecturas erróneas. En el análisis de TCP, una MTU de 0 no es válida, y ECN desactivado es distinto de ECN no medido. Los parámetros no medidos devuelven estrictamente null.

Utilice curl -sL 'https://myipdns.com/check?format=line' para formato KEY=VALUE con awk o grep, o utilice ?format=json combinado con jq.

Las lecturas que superen 1 req/s (ráfaga 5) reciben HTTP 429 con cabecera Retry-After. La creación de enlaces que supere 5/hora/IP devuelve datos de diagnóstico con normalidad (HTTP 200) omitiendo el enlace.

Créditos y Agradecimientos

Utilizamos las siguientes API de terceros para verificar los puntos de salida de la red.