Recherche IPv4

Localisation, fuseau horaire et informations réseau pour une adresse IPv4. Omettez l'adresse pour rechercher celle de l'appelant.

GEThttps://api.mygeocode.com/v1/ipv4

Paramètres

ParamètreTypeDescription
ipfacultatifchaîneAdresse IPv4 en notation décimale pointée. Par défaut : l'adresse d'où provient la requête.
ipsfacultatifchaîneAdresses séparées par des virgules, jusqu'à 100, pour un lot. Renvoie un tableau results dans le même ordre. Chaque adresse compte comme une requête.
langfacultatifchaîneCode ISO 639-1 pour les noms de pays, de région et de ville. Par défaut en.
keyfacultatifchaîneClé d'API, si elle n'est pas envoyée dans un en-tête.

Exemple

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/ipv4?ip=1.1.1.1"
// In a browser, with no ip parameter, this returns the visitor's own address
const geo = await (await fetch("https://api.mygeocode.com/v1/ipv4", { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(geo.country_code, geo.timezone);
import requests

geo = requests.get("https://api.mygeocode.com/v1/ipv4", params={"ip": "1.1.1.1"}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(geo["country_code"], geo["org"], geo["is_datacenter"])
Réponse
{
  "status": "ok",
  "ip": "1.0.164.165",
  "version": 4,
  "found": true,
  "prefix": "1.0.164.0/24",
  "country": "Thailand",
  "country_code": "TH",
  "continent": "Asia",
  "continent_code": "AS",
  "region": "Krung Thep Maha Nakhon",
  "region_code": null,
  "city": "Bangkok",
  "postcode": "10200",
  "lat": 13.749976,
  "lon": 100.516819,
  "timezone": "Asia/Bangkok",
  "utc_offset": "+07:00",
  "utc_offset_seconds": 25200,
  "is_eu": false,
  "asn": 23969,
  "as_name": "TOT Public Company Limited",
  "org": "TOT Public Company Limited",
  "usage_type": "Eyeball",
  "registry": "apnic",
  "allocated": "2008-10-22",
  "tags": ["dsl"],
  "is_anycast": false,
  "is_satellite": false,
  "is_datacenter": false,
  "is_proxy": false,
  "is_vpn_provider": false,
  "is_tor": false,
  "is_private": false,
  "abuse_email": "abuse@totisp.net",
  "threat": {
    "listed": true,
    "score": 90,
    "source_count": 2,
    "categories": ["abuse", "attacker"],
    "is_tor": false,
    "is_tor_exit": false,
    "is_bogon": false,
    "listings": [
      { "category": "abuse", "confidence": 100, "recency_days": 1 },
      { "category": "attacker", "confidence": null, "recency_days": null }
    ]
  },
  "updated_at": "2026-09-18 06:53:39"
}

Champs de la réponse

ChampTypeDescription
ip, versionchaîne, entierL'adresse recherchée, sous forme canonique, et 4 ou 6.
foundbooléenFaux lorsqu'aucun réseau ne couvre l'adresse ; les champs de localisation sont alors null.
prefixchaîneLe réseau le plus spécifique contenant l'adresse, en notation CIDR.
country, country_codechaîneNom du pays et code ISO 3166-1 alpha-2 en majuscules.
continent, continent_codechaîneNom du continent et code à deux lettres.
region, region_codechaîneDivision de premier niveau et son code court. Le code est renseigné pour les États-Unis, le Canada et l'Australie ; ailleurs, il n'est présent que lorsque le jeu de données en contient un.
city, postcodechaîneMeilleure estimation ; null si inconnu.
lat, lonnombreCentre de la zone connue la plus précise.
elevation_mnombre ou nullHauteur au-dessus du niveau moyen de la mer en ce point, en mètres, issue de la même grille de 15 secondes d'arc que l'endpoint d'altitude. Négative au-dessus des fonds marins.
timezone, utc_offset, utc_offset_secondschaîne, chaîne, nombreZone IANA, décalage en vigueur en ce moment au format +HH:MM, et ce même décalage en secondes. La zone est déterminée par les coordonnées et les limites des fuseaux horaires, elle concorde donc toujours avec lat et lon.
is_eubooléenLe pays fait partie de l'Union européenne.
asn, as_name, orgentier, chaîneNuméro de système autonome, son nom et l'organisation qui en est responsable.
usage_typechaîneLa nature de l'opérateur : Eyeball (FAI grand public), Carrier, Content, Hosting, Enterprise, Education, NSP ou unknown.
registry, allocatedchaîneRegistre régional qui a attribué l'ASN, et date d'attribution.
tagstableauÉtiquettes au niveau de l'opérateur, comme dsl, cdn, vpsh (hébergement VPS), vpn, satnet. Elles décrivent l'opérateur réseau, pas l'adresse individuelle.
is_anycast, is_satellitebooléenLe préfixe est anycast ; l'opérateur est un réseau satellitaire.
is_datacenterbooléenRéseau d'hébergement ou de contenu. Considérez la ville comme peu fiable et envisagez que le trafic puisse être automatisé.
is_proxy, is_torbooléenIndice propre à l'adresse indiquant qu'il s'agit d'un relais ou d'un nœud de sortie Tor, ou qu'elle est répertoriée comme proxy ou point de terminaison VPN.
is_vpn_providerbooléenL'opérateur exploite des services VPN ou proxy quelque part dans son réseau (un indice au niveau de l'opérateur, plus faible que is_proxy).
is_privatebooléenAdresse réservée, privée ou autrement non routable. Lorsque ce champ vaut true, la réponse ne contient que ip, version, is_private et reason.
abuse_emailchaîneContact abus enregistré pour le réseau.
threatobjetRéputation : listed, un score de 0 à 100 (le poids du pire signalement, minoré pour les signalements anciens), source_count (le nombre de signalements indépendants qui la répertorient), categories, les indicateurs Tor et bogon, et les listings individuels avec la catégorie, la confiance et le nombre de jours écoulés depuis chaque signalement.
updated_atchaîneDate de la dernière mise à jour de l'enregistrement de ce réseau.

Les deux versions en un seul appel

GET /v1/ip accepte une adresse IPv4 ou IPv6 (ou aucune, pour l'appelant) et renvoie le même enregistrement que les endpoints propres à chaque version. Utilisez-le lorsque vous ne savez pas à l'avance quel type d'adresse vous recevrez.

Remarques

La même recherche aux formats d'autres fournisseurs

Si vous avez déjà du code écrit pour l'un de ces fournisseurs, gardez-le : l'hôte compatible accepte le même chemin et les mêmes paramètres et répond dans le format de réponse de ce fournisseur, avec cet endpoint derrière. Voir le fonctionnement des hôtes compatibles.

FournisseurHôteChemin
Geoapifygeoapify.mygeocode.com/v1/ipinfo?ip=...
ip-api.comipapi.mygeocode.com/json/{ip}
/json/
/batch (POST, JSON array)
ipinfo.ioipinfo.mygeocode.com/{ip}/json
/{ip}
/json
/{ip}/{field}
ipstackipstack.mygeocode.com/{ip}
/check
/{ip},{ip},{ip}

Erreurs

400 invalid_request lorsque ip n'est pas une adresse IPv4 valide, lorsqu'une adresse IPv6 est envoyée à cet endpoint (utilisez /v1/ipv6), ou lorsque ips contient plus de 100 entrées.