Migration

Migrer depuis ip-api.com

ip-api.com s'est fait connaître grâce à un format de réponse vraiment simple : un objet JSON plat par recherche, avec des champs comme country, regionName, city, lat, lon, isp et query, ce dernier contenant l'adresse IP recherchée, pratiquement sans imbrication. Cette structure plate en a fait un premier choix courant pour quiconque ajoutait une géolocalisation IP basique à un projet sans vouloir apprendre un schéma plus élaboré.

La géolocalisation IP fait partie des recherches dont on peut réellement montrer le fonctionnement de bout en bout, contrairement au géocodage ou à la saisie semi-automatique, dont seul le format est décrit. Une requête portant sur une adresse IPv4 ou IPv6 renvoie le pays, la région, la ville, les coordonnées et des informations réseau issues de données tenues à jour par notre propre chaîne de mise en cache, plutôt que d'un jeu de données statique ou rarement actualisé.

L'hôte compatible ip-api de My Geocode reproduit exactement la structure de champs plate, y compris country, regionName, city, lat, lon, isp et query, le texte relatif aux droits d'auteur, aux conditions et à la confidentialité étant la seule différence de contenu. Les détails de référence se trouvent sur /compatibility/ip-api/. Le code qui lit directement response.city ou response.isp, sans déballer d'objet imbriqué, devrait continuer de fonctionner une fois l'hôte et la clé changés.

Ce qui change concrètement dans cette migration :

  • L'authentification passe par une clé, envoyée dans un en-tête X-API-Key, en Authorization: Bearer, via l'authentification HTTP Basic ou en paramètre de requête, au lieu d'une recherche publique non authentifiée ou faiblement limitée
  • Le quota est désormais visible directement sur chaque réponse grâce à des en-têtes comme X-Quota-Limit, X-Quota-Used et X-Quota-Reset, au lieu de devoir être déduit de limitations occasionnelles
  • Des champs supplémentaires facultatifs (informations sur les menaces IP et informations réseau plus détaillées) sont disponibles en ajoutant mg_extras=1 ou un en-tête X-MG-Extras, sans modifier la structure plate que votre code analyse déjà

Il y a 2 500 requêtes gratuites par jour sans aucune clé, et chaque clé dispose aussi de 2 500 requêtes gratuites par jour, décomptées par réseau, en IPv4 (par /24) comme en IPv6 (par /48), et partagées entre l'usage sans clé et l'usage avec clé depuis ce réseau. Au-delà de ce quota, c'est du crédit prépayé à 0,0001 € par requête ou une clé Unlimited à 50 € par mois, et chaque endpoint, y compris cet hôte compatible, est facturé au même prix.

Pour les applications qui effectuent des redirections par pays selon l'IP, des vérifications de signaux de fraude ou un enrichissement analytique basique, c'est généralement l'une des migrations les plus simples à tester de bout en bout, car les résultats sont concrets et directement comparables à ce que renvoie l'intégration actuelle pour le même ensemble d'adresses de test.