Guide pratique

Passer d'api-adresse.data.gouv.fr au géocodage de la Géoplateforme

L'API Adresse de la Base adresse nationale a déménagé. La documentation officielle annonce que l'URL api-adresse.data.gouv.fr « sera décommissionnée fin janvier 2026 » et renvoie vers le service de géocodage de la Géoplateforme de l'IGN, à l'adresse data.geopf.fr/geocodage. Le 27 septembre 2026, l'ancienne adresse répond encore, et elle rend octet pour octet la même réponse que la nouvelle. Ce n'est pas une raison d'attendre : ses en-têtes disent eux-mêmes qu'elle est en sursis. La bascule tient en une ligne de configuration, à condition de connaître les trois pièges qui l'entourent.

Par Lucas Tesnier, co-fondateur de La Trace · Publié le 27 septembre 2026 · Lecture 9 minutes

  • 200le code rendu par api-adresse.data.gouv.fr le 27 septembre 2026, avec une réponse identique à celle de la GéoplateformeMesure La Trace par curl, 27/09/2026
  • 31 janvier 2026la date inscrite dans ses en-têtes « Deprecation » et « Sunset »En-têtes HTTP de l'API, relevés le 27/09/2026
  • 50requêtes par seconde et par adresse IP, au-delà un code 429Documentation du géocodage, cartes.gouv.fr, consultée le 27/09/2026
  • 200 000lignes ou 50 Mo au plus par fichier CSV en géocodage par lotDocumentation du géocodage, cartes.gouv.fr, consultée le 27/09/2026
  • 720 806sessions sur les cartes La Trace du 10 avril au 26 septembre 2026, 353 s en moyenneMesure La Trace en base, 27 septembre 2026

L'essentiel

  • Remplacez https://api-adresse.data.gouv.fr par https://data.geopf.fr/geocodage. Les chemins /search, /reverse et /search/csv restent les mêmes.
  • Les paramètres et le format GeoJSON de la réponse n'ont pas changé : même libellé, même score, mêmes identifiants BAN.
  • L'ancienne URL répond encore au 27 septembre 2026, mais sa date de fin annoncée est passée. Aucune nouvelle date n'est publiée : ne comptez pas dessus.
  • La limite reste 50 requêtes par seconde et par IP. Au-delà, un 429 et un en-tête retry-after à respecter.
  • La Géoplateforme ajoute des lieux nommés et des parcelles cadastrales, et des filtres à valeurs multiples. L'autocomplétion séparée parle un autre format.

Ce qui a changé, et où en est l'ancienne adresse

Le 27 septembre 2026 à 19 h, nous avons envoyé la même requête, « 8 bd du port amiens », aux deux adresses. Les deux ont répondu 200 en un peu plus de 200 millisecondes, avec le même corps de 582 octets et le même etag. Même libellé, « 8 Boulevard du Port 80000 Amiens », même score, même identifiant BAN. Le géocodage inverse sur la place Victor-Hugo de Grenoble et le géocodage d'un fichier CSV ont donné le même résultat, ligne pour ligne.

La différence est dans les en-têtes de l'ancienne adresse. Elle en porte une série que la nouvelle n'a pas : deprecation et sunset datés du 31 janvier 2026, x-api-deprecated: true, x-api-migration: permanent, x-api-new-host qui donne la nouvelle URL, un location qui pointe vers le même chemin sur data.geopf.fr, et un x-api-notice en toutes lettres : « L'URL api-adresse.data.gouv.fr va être décommissionnée. » Un dernier, x-infra: gpf, dit que la réponse sort déjà de l'infrastructure de la Géoplateforme.

La règle : l'ancienne adresse n'est plus qu'un relais vers la nouvelle, et la date de fin écrite dans la documentation est dépassée depuis huit mois. Tant qu'elle répond, rien ne casse. Le jour où elle s'arrête, aucun préavis supplémentaire n'est promis. Migrez maintenant.

Ce qui change dans vos appels : l'URL, et presque rien d'autre

Un code qui appelle /search/?q=... n'a qu'une chose à changer : la racine. Le moteur est le même (la BAN reste la source des adresses, actualisée chaque semaine selon la documentation), les paramètres sont les mêmes, et la réponse garde sa forme GeoJSON avec label, score, id, banId, citycode, context et les coordonnées Lambert 93 en x et y.

UsageAncienne URLNouvelle URL
Rechercheapi-adresse.data.gouv.fr/search/data.geopf.fr/geocodage/search
Géocodage inverseapi-adresse.data.gouv.fr/reverse/data.geopf.fr/geocodage/reverse
Fichier CSV, rechercheapi-adresse.data.gouv.fr/search/csv/data.geopf.fr/geocodage/search/csv
Fichier CSV, inverseapi-adresse.data.gouv.fr/reverse/csv/data.geopf.fr/geocodage/reverse/csv
Capacités du serviceaucunedata.geopf.fr/geocodage/getCapabilities

Le getCapabilities est la vraie nouveauté pour un développeur : il décrit en JSON chaque opération, chaque paramètre, ses valeurs par défaut et ses exemples. C'est lui qu'il faut lire avant d'écrire un client, pas un billet de blog de 2022.

Le piège du location sur un 200

L'ancienne adresse renvoie un en-tête location vers la Géoplateforme, mais avec un code 200, pas 301 ni 308. Aucun client HTTP ne suit un location sur un 200 : fetch, axios ou curl -L restent sur l'ancienne URL et vous ne voyez rien. Le seul signal est dans les en-têtes, et personne ne lit les en-têtes d'une réponse qui marche. Cherchez api-adresse.data.gouv.fr dans votre code, votre configuration et vos variables d'environnement, pas dans vos journaux d'erreurs.

Les limites de débit : 50 par seconde, puis un 429

Le 27 septembre 2026, nous avons lancé 80 requêtes simultanées sur data.geopf.fr/geocodage/search depuis une même adresse IP. Résultat : 50 réponses 200 et 30 réponses 429. La requête suivante portait retry-after: 3. La documentation de cartes.gouv.fr décrit exactement ce comportement : 50 appels par IP et par seconde, un blocage de 5 secondes au-delà, et un retry-after qui décroît dès que la sur-sollicitation cesse.

Les deux adresses annoncent la même limite dans leurs en-têtes (ratelimit-limit: 50). La bascule ne vous fait donc rien gagner en débit. Deux cas posent problème. Un script qui géocode un fichier ligne à ligne sans pause, d'abord : il passe les 50 premières lignes et prend un mur de 429 sur les suivantes. Un serveur qui relaie la saisie de tous vos visiteurs ensuite, parce que la limite s'applique à son IP, pas à celle du visiteur.

Pour le premier cas, le fichier CSV est la bonne réponse : un appel, jusqu'à 200 000 lignes. Au-delà, la Géoplateforme propose un géocodage asynchrone par projet, pour des fichiers jusqu'à 1 Go. Pour le second, appelez l'API depuis le navigateur du visiteur quand c'est possible : l'en-tête access-control-allow-origin: * le permet, et chaque visiteur compte alors pour lui-même. Un acteur public qui bute régulièrement sur la limite peut demander à l'IGN d'étudier sa levée, par le formulaire de contact de geoservices.

À emporter : la checklist de mise en production d'une carte web

Recevoir la checklist

Ce que la Géoplateforme ajoute à l'ancienne API

La même URL cherche désormais dans trois index, choisis par le paramètre index. address est le défaut et reste la BAN. poi interroge les lieux nommés de la BD TOPO : « col du coq » rend le col de Saint-Pierre-de-Chartreuse, classé « col », avec son code commune et son département. parcel retrouve une parcelle cadastrale par son identifiant, depuis le Parcellaire Express. Les deux derniers sont actualisés chaque trimestre, pas chaque semaine.

Le changement du 22 avril 2026 a ajouté le filtre depcode et les valeurs multiples : postcode et citycode acceptent jusqu'à 50 valeurs séparées par des virgules, depcode jusqu'à 10. Une recherche « place victor hugo » limitée à depcode=38,73 nous a rendu Grenoble, Vienne et Aix-les-Bains, et rien d'autre.

Un point d'attention : l'autocomplétion proposée à part, sur /completion, ne parle pas le format de /search. Elle rend un objet status et une liste results avec x, y, fulltext et kind, pas un GeoJSON. Si vous branchez un champ de saisie dessus, écrivez un adaptateur, ne réutilisez pas le code de lecture de /search.

Une recherche de lieu nommé prend tout son sens sur une carte de randonnée, où l'on cherche un col, un refuge ou un parking plus souvent qu'un numéro de rue.

La carte du Parc naturel régional de Chartreuse, telle qu'elle s'intègre sur un site : on y cherche une adresse, un col ou un départ de sentier, et les itinéraires et les lieux autour s'affichent.

Migrer en cinq étapes

Une bascule sans surprise tient en une demi-journée pour un site ordinaire. L'ordre compte plus que la durée.

  1. 1

    Trouver tous les appels

    Cherchez api-adresse.data.gouv.fr dans le code, la configuration, les variables d'environnement, les scripts d'import et les outils no-code (Zapier, Make, tableurs). Les appels oubliés sont presque toujours dans un script lancé une fois par mois.

  2. 2

    Remplacer la racine, et elle seule

    Mettez https://data.geopf.fr/geocodage dans une variable de configuration. Gardez les chemins /search, /reverse et /search/csv, et les paramètres tels quels.

  3. 3

    Comparer sur un échantillon

    Passez cent adresses réelles aux deux URL et comparez label, score et id. Le 27 septembre 2026, les réponses étaient identiques : un écart est le signe d'une URL mal réécrite, pas d'une différence de moteur.

  4. 4

    Respecter le 429

    Lisez retry-after, attendez, relancez. Pour un volume, passez par le CSV plutôt que par une boucle d'appels unitaires.

  5. 5

    Surveiller la fin de l'ancienne adresse

    Une fois la bascule faite, un test automatique qui échoue si api-adresse.data.gouv.fr réapparaît dans le code évite le retour en arrière par copier-coller.

Un appel à la Géoplateforme qui respecte le 429

const GEOCODAGE = 'https://data.geopf.fr/geocodage';

async function geocode(q, { limit = 5, tries = 3 } = {}) {
  const url = `${GEOCODAGE}/search?q=${encodeURIComponent(q)}&limit=${limit}`;
  for (let i = 0; i < tries; i++) {
    const res = await fetch(url);
    if (res.status === 429) {
      const wait = Number(res.headers.get('retry-after')) || 5;
      await new Promise(r => setTimeout(r, wait * 1000));
      continue;
    }
    if (!res.ok) throw new Error(`Géocodage : ${res.status}`);
    return (await res.json()).features;
  }
  throw new Error('Géocodage : limite de débit dépassée');
}

Avant de fermer le ticket de migration

  • Plus aucune occurrence de api-adresse.data.gouv.fr dans le code et la configuration
  • La racine de l'API est une variable, pas une chaîne répétée
  • Un échantillon d'adresses réelles rend les mêmes résultats sur les deux URL
  • Le code traite le 429 et lit retry-after
  • Les traitements de masse passent par /search/csv, pas par une boucle
  • L'autocomplétion, si vous l'utilisez, a son propre adaptateur

FAQ

L'API api-adresse.data.gouv.fr fonctionne-t-elle encore ?

Oui, au 27 septembre 2026 elle répond 200, avec une réponse identique à celle de data.geopf.fr/geocodage. La documentation officielle annonçait sa décommission pour fin janvier 2026, et ses en-têtes portent toujours cette date. Aucune nouvelle date n'est publiée : elle peut s'arrêter sans autre préavis.

Quelle est la nouvelle URL de l'API Adresse ?

https://data.geopf.fr/geocodage, suivie des mêmes chemins qu'avant : /search pour la recherche, /reverse pour le géocodage inverse, /search/csv et /reverse/csv pour les fichiers.

Faut-il une clé d'API pour le géocodage de la Géoplateforme ?

Non. Le service est ouvert et sans clé, comme l'était l'API Adresse. La seule contrainte est la limite de 50 requêtes par seconde et par adresse IP.

Les résultats changent-ils après la migration ?

Pas pour les adresses. Le moteur et la BAN sont les mêmes, et nos requêtes du 27 septembre 2026 ont rendu des réponses identiques, identifiants compris. Ce qui change, ce sont les index en plus : lieux nommés et parcelles, à demander explicitement avec index.

Combien d'adresses peut-on géocoder d'un coup ?

Jusqu'à 200 000 lignes ou 50 Mo par fichier CSV en UTF-8 sur /search/csv. Au-delà, le géocodage asynchrone de la Géoplateforme traite des fichiers jusqu'à 1 Go, par projet.

Sources

  1. Service de géocodage de la Géoplateforme, adresse.data.gouv.fr, annonce de la décommission « fin janvier 2026 » et limite d'usage, consulté le 27 septembre 2026
  2. Géocodage, documentation de la Géoplateforme, cartes.gouv.fr, limite de 50 requêtes par seconde, sources de données, traitement par lot, consulté le 27 septembre 2026
  3. Changement sur le géocodage, cartes.gouv.fr, 22 avril 2026, consulté le 27 septembre 2026
  4. GetCapabilities du géocodage de la Géoplateforme, consulté le 27 septembre 2026
  5. Mesures La Trace par curl sur api-adresse.data.gouv.fr et data.geopf.fr/geocodage (search, reverse, search/csv, completion, 80 requêtes simultanées), 27 septembre 2026
Lucas Tesnier

Lucas Tesnier

Co-fondateur de La Trace

Lucas Tesnier a cofondé La Trace en 2023 et en dirige le produit et la technique. Il écrit sur ce qu'il voit chez les offices, les parcs et les hébergeurs qui publient leurs itinéraires : l'intégration, les données, les marchés publics.

Tous ses guides · Comment nous écrivons

À emporter

La checklist de mise en production d'une carte sur un site

Consentement et cookies, clés et quotas, tuiles, géocodage, accessibilité et performance : les points à vérifier avant de mettre une carte en ligne, avec une case par point.

Merci, la checklist part dans votre boîte mail.

Ouvrir la checklist

Votre carte cherche des adresses, des cols et des parkings ?

Une démonstration de trente minutes pour voir une carte La Trace posée sur votre site, avec sa recherche d'adresse, ses itinéraires et ses lieux, sans clé ni quota à surveiller de votre côté.

Demander une démonstration
Thank you! Your submission has been received!
L'envoi n'a pas abouti. Réessayez, ou écrivez-nous à contact@latrace.com.
Les VéloroutesPour les prosMes enregistrementsMes informationsBlogNous contacterAidez-nous à nous améliorer