API gratuite de géolocalisation IP et d'analyse des risques

API gratuite de géolocalisation IP & Risque

Haute performance, double pile IPv4/IPv6, support multilingue. Gratuit et sans inscription.

⏱️
Limite de débit Maximum 1 requête par seconde (1 req/s).
♾️
Quota total Aucune limite de quota quotidienne ou totale. Utilisation 100% gratuite.

Points de terminaison API

GET https://api.myipdns.com/
IPv4 IPv6 Format JSON
GET https://v4.api.myipdns.com/
IPv4 Uniquement Format Texte
GET https://v6.api.myipdns.com/
IPv6 Uniquement Format Texte

Paramètres

Paramètre Description Exemple
ip L'adresse IP à interroger. Si omis, renvoie l'IP de l'appelant. ?ip=8.8.8.8
lang Langue de réponse. Supporté : en, cn, ru, ja, fr, de, es, pt. ?lang=zh-CN

Exemple de réponse 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 Diagnostic de Pile Protocolaire et de Topologie en Terminal (/check)

Point de terminaison haute précision pour inspecter la pile protocolaire et la topologie de sortie pour curl, wget et scripts.

Limite de lecture 1 requête/seconde (rafale 5) par IP. Tout dépassement renvoie HTTP 429.
🔗
Quota de création de partage 5 créations/heure par IP. En cas de dépassement, le diagnostic est renvoyé normalement sans lien de partage (HTTP 200).

Points de terminaison API

GET https://myipdns.com/check
Dual-Stack Format par défaut (Couleur ANSI / Texte de terminal)
GET https://myipdns.com/check?format=line
Dual-Stack Format de ligne (KEY=VALUE pour analyse Shell et scripts)
GET https://myipdns.com/check?format=json
Dual-Stack Format JSON structuré

Paramètres

Paramètre Description Exemple
format Format de sortie : json (JSON structuré) ou line (format KEY=VALUE) ?format=line / ?format=json
share Génère un lien de rapport de 30 jours et un badge SVG (limité à 5 créations/heure/IP) ?share=1
color Désactive les couleurs ANSI : ?color=0 ou ?plain=1 ?color=0 / ?plain=1
-4 / -6 Sonde explicitement la pile IPv4 ou IPv6 : curl -4 ou curl -6 curl -4 https://myipdns.com/check

Spécification complète des champs JSON

Field Type Description
ipstringAdresse IP de sortie du client
ip_versionstringVersion IP (IPv4 ou IPv6) (IPv4 / IPv6)
countrystringNom du pays issu du vote multi-sources
country_codestringCode pays ISO 3166-1 alpha-2
citystring | nullNom de la ville (ou null si non mesuré)
asnstringNuméro de système autonome (ex. AS15169)
as_orgstringNom de l'organisation ou du FAI de l'ASN
is_datacenterbooleanBooléen indiquant un réseau de centre de données ou d'hébergement
is_proxybooleanBooléen indiquant une sortie de proxy commercial ou VPN
transportobjectObjet de couche transport. 🔴 Les métriques non mesurées sont strictement null (jamais 0 ou false)
transport.mssstringTaille maximale de segment TCP observée (ex. 1380 ou "n/a")
transport.mtuinteger | nullMTU déduite à partir du MSS (ex. 1420 pour WireGuard, ou null)
transport.mtu_notestring | nullClassification heuristique de la liaison (ou null)
transport.wscaleinteger | nullFacteur d'échelle de fenêtre TCP (ou null)
transport.syn_wininteger | nullTaille de fenêtre SYN initiale TCP (ou null)
transport.syn_ttlinteger | nullTTL SYN initial estimé (ou null)
transport.option_orderstring | nullOrdre des options SYN TCP (ou null)
transport.ts_valinteger | nullValeur d'horodatage TCP (ou null)
transport.ts_hzinteger | nullFréquence d'horloge d'horodatage TCP en Hz (ou null)
transport.ecn_enabledboolean | nullÉtat ECN (ou null si non mesuré)
cryptoobjectObjet applicatif et cryptographique (version HTTP, version TLS, JA4, JA3, ALPN)
verdictobjectVerdict de topologie, base d'inférence et résumé descriptif
share_urlstring (optional)Lien de 30 jours généré lors de la demande ?share=1 dans la limite du quota
badge_urlstring (optional)URL du badge SVG généré lors de la demande ?share=1 dans la limite du quota

Format de ligne (KEY=VALUE pour analyse Shell et scripts) 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)

Format JSON structuré 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)"
  }
}

Interface en ligne de commande (CLI / curl)

Aucune intégration d'API complexe requise. Exécutez des commandes directement dans votre terminal pour obtenir les données IP ou l'adresse IP en texte brut. Les requêtes CLI sont limitées à 1 requête par seconde.

1. Obtenir le profil JSON standard de votre propre IP :

curl https://myipdns.com

2. Obtenir le profil JSON standard d'une IP cible (ex. 8.8.8.8) :

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

3. Obtenir l'adresse IP en texte brut (idéal pour les scripts shell) :

curl https://myipdns.com/ip

Foire Aux Questions sur l'API

Comprendre la mesure directe de la pile protocolaire et l'intégration automatisée.

/check effectue une redirection HTTP 302 directe vers notre sonde double pile (check_dns.myipdns.com). En contournant les reverse-proxies et CDN, le noyau du serveur analyse directement le paquet TCP SYN original.

Pour éviter toute falsification ou confusion. En analyse TCP, une MTU de 0 est invalide et un ECN désactivé est distinct d'un ECN non mesuré. Les valeurs non mesurées retournent strictement null.

Utilisez curl -sL 'https://myipdns.com/check?format=line' pour un format KEY=VALUE avec awk ou grep, ou ?format=json combiné avec jq.

Les lectures dépassant 1 req/s (rafale 5) reçoivent HTTP 429 avec Retry-After. La création de partage dépassant 5/heure/IP renvoie les données de diagnostic normalement (HTTP 200) sans lien de partage.

Crédits et Remerciements

Nous utilisons les API tierces suivantes pour vérifier les points de sortie du réseau.