
Linda Koeleman
Responsable de la réussite des clients
API code postal et communes : relier code postal, commune et code INSEE
2026-07-19

API code postal et communes : relier code postal, commune et code INSEE
Beaucoup de besoins ne portent pas sur l'adresse exacte mais sur la maille administrative. À quelle commune correspond ce code postal, quel est son code INSEE, quelles communes couvrent ce département, comment répartir mes clients par territoire.
C'est un besoin distinct de la validation d'adresse, et il repose sur une réalité que presque tout le monde se représente mal au départ.
Un code postal n'est pas une commune
C'est le point de départ, et il est contre-intuitif : en France, la correspondance entre code postal et commune n'est pas univoque, dans les deux sens.
Un code postal peut couvrir plusieurs communes. En zone rurale, un même code postal dessert couramment une dizaine de communes voisines rattachées au même centre de distribution.
Une commune peut avoir plusieurs codes postaux. Les grandes villes en ont beaucoup : Paris, Lyon et Marseille en comptent un par arrondissement.
La raison est simple : le code postal est un objet postal, conçu pour organiser l'acheminement du courrier, pas pour découper le territoire administratif. Il suit les tournées, pas les frontières communales.
Le code INSEE, l'identifiant qui ne bouge pas
Puisque le code postal n'identifie pas une commune, il faut autre chose. C'est le rôle du code INSEE, aussi appelé code officiel géographique ou code commune : cinq caractères qui désignent une et une seule commune.
C'est l'identifiant à utiliser dès que vous devez :
- rapprocher vos données de statistiques publiques, qui sont presque toutes publiées par code INSEE ;
- agréger proprement par commune sans dépendre de l'orthographe du nom ;
- suivre les évolutions du territoire, notamment les communes nouvelles issues de fusions.
Retenez la règle : stockez le code INSEE, affichez le nom de la commune. Comparer des chaînes de caractères pour identifier une commune est une source d'erreurs sans fin, entre accents, tirets, articles et variantes d'écriture.
Les erreurs classiques
Quatre bugs que l'on retrouve dans presque tous les systèmes qui n'ont pas traité le sujet :
- Utiliser le code postal comme clé de commune. Vos agrégats sont faux dès qu'un code postal couvre plusieurs communes.
- Déduire le département des deux premiers chiffres du code postal. Cela marche la plupart du temps et casse sur les cas limites, notamment en Corse et dans les territoires d'outre-mer.
- Rapprocher les communes par leur nom. « Saint-Étienne », « St-Etienne » et « SAINT ETIENNE » sont trois chaînes différentes et la même commune.
- Ignorer les communes nouvelles. Les fusions de ces dernières années ont fait disparaître des codes et en ont créé d'autres. Un référentiel figé depuis cinq ans contient des communes qui n'existent plus.
Quelles API pour cette couche
Deux familles de services répondent à ce besoin.
Côté service public, l'API Découpage administratif expose les communes, les départements, les régions et les intercommunalités, avec la recherche par nom, par code postal ou par coordonnées. C'est gratuit, à jour et parfaitement adapté si votre besoin s'arrête là et que votre volume reste raisonnable. Attention toutefois à ne pas la confondre avec les API de l'INSEE elles-mêmes, qui portent surtout sur le répertoire des entreprises et les statistiques, et non sur l'adresse.
Côté API d'adresse, la couche administrative est renvoyée en même temps que l'adresse. C'est l'approche à préférer quand la commune et son code INSEE ne sont pas votre besoin final mais une conséquence de la validation d'adresse : vous faites un appel au lieu de deux, et les deux informations sont cohérentes par construction.
Le cas des données à télécharger
Certains usages ne réclament pas une API mais un fichier : constituer une liste déroulante, alimenter un moteur de recherche interne, faire tourner un calcul hors ligne.
Deux précautions. D'abord, datez votre extraction et prévoyez de la rafraîchir, puisque le découpage communal évolue. Ensuite, vérifiez ce que couvre réellement le fichier : une liste de codes postaux n'est pas une liste de communes, et une liste de communes n'est pas une liste d'adresses.
Ce que propose Pro6PP
Pro6PP renvoie, avec chaque adresse française validée, la commune et son code INSEE ainsi que les coordonnées géographiques. La recherche par zone permet par ailleurs de retrouver les adresses autour d'un point ou dans un périmètre, ce qui couvre les besoins de zones de chalandise et de secteurs commerciaux.
Les exemples de code et le détail des champs renvoyés sont dans la documentation développeur.
La même API couvre les Pays-Bas, la Belgique, l'Allemagne, le Luxembourg, le Danemark, l'Autriche, la Suisse, l'Espagne et le Royaume-Uni. Si vos clients dépassent la frontière, les codes postaux et adresses des pays voisins détaille ce qui change pays par pays. Tout le reste du sujet se trouve dans notre guide des API d'adresse en France.
Questions fréquentes
Un code postal correspond-il à une seule commune ?
Non. Un code postal peut desservir plusieurs communes, et une commune peut utiliser plusieurs codes postaux. La correspondance n'est univoque dans aucun des deux sens.
Qu'est-ce que le code INSEE d'une commune ?
Un identifiant de cinq caractères, issu du code officiel géographique, qui désigne une commune de façon unique. C'est la bonne clé de rapprochement, contrairement au nom ou au code postal.
Peut-on déduire le département du code postal ?
Dans la plupart des cas oui, à partir des deux premiers chiffres, mais il existe des exceptions notamment en Corse et outre-mer. Pour un traitement fiable, passez par le code INSEE.
Où trouver la liste des communes françaises à jour ?
Le service public expose ces données par API et en téléchargement. Pensez à dater votre extraction et à la rafraîchir, car les fusions de communes modifient régulièrement la liste.
L'API de l'INSEE sert-elle à valider des adresses ?
Non. Les API de l'INSEE portent principalement sur le répertoire des entreprises et les statistiques. Pour l'adresse, il faut passer par un référentiel d'adresses ou par une API d'adresse.