Qu'est-ce que la normalisation d'adresses ?

Texte brut en entrée. Adresse vérifiée en sortie.


Les vrais utilisateurs ne saisissent pas les adresses comme votre base de données les attend. Ils abrègent, font des fautes, inversent les champs ou écrivent simplement ce qui leur vient à l'esprit. Le endpoint de normalisation transforme ce bruit en une adresse précise et structurée — vérifiée sur le registre fédéral officiel suisse.

Correction orthographique

"Zuric" devient "Zürich". "Bahnhofstr" devient "Bahnhofstrasse". Les fautes et abréviations sont résolues automatiquement.

Extraction de structure

Une chaîne non structurée est décomposée en rue, numéro, NPA, localité, commune et canton — chacun dans un champ dédié.

Correspondance registre fédéral

Le résultat est croisé avec les registres RegBL et swisstopo. Seules les adresses suisses réelles et existantes passent.

Score de confiance

Chaque résultat inclut un score de précision. Les correspondances ambiguës retournent des candidats classés pour permettre à l'utilisateur de confirmer.

Souveraineté & confidentialité

Vos adresses restent sur notre infrastructure suisse


Le pipeline de normalisation s'exécute intégralement en Suisse. Les données soumises ne sont pas relayées vers des services externes pour l'inférence.

Réponse courte : non, vos données d’adresse ne sont pas envoyées à des services d’inférence tiers.

Si vous utilisez HelvAddress, le corps de requête est traité sur notre infrastructure en Suisse. Nous ne transmettons pas les adresses soumises à des fournisseurs d’IA externes, à des services de géocodage tiers ou à des APIs hébergées hors de Suisse pour la normalisation.

Chaîne de normalisation 100% suisse
Aucun LLM ni modèle génératif dans le flux de requête
Des revues privacy et risque fournisseur plus simples

Concrètement, la compréhension de la saisie, la résolution de la localité, la recherche de rue, l'affinage bâtiment et le scoring sont exécutés sur nos propres serveurs en Suisse.

Les prestataires techniques que nous pouvons utiliser pour l'hébergement ou l'exploitation ne participent pas au moteur de normalisation et ne reçoivent pas les corps de requête pour effectuer des traitements d'IA ou d'enrichissement.

Notre infrastructure est hébergée en Suisse chez Infomaniak. Voir : la politique de confidentialité d’Infomaniak

Lire Privacy & Data Sovereignty
Ce que cela signifie pour vos équipes

Aucun transfert d'adresses vers des APIs tierces de géocodage, de LLM ou de modèles génératifs

Traitement, journalisation opérationnelle et gouvernance sous contrôle suisse

Un cadre plus simple pour la confidentialité, la conformité et les analyses de risque

Architecture de normalisation 100% suisse Votre saisie Adresse en texte libre Traitement HelvAddress en Suisse Analyse, matching, scoring Exécutés sur notre stack suisse Services externes Aucun envoi d'adresse
Intelligence d'adressage suisse

Une intelligence d'adressage pensée pour la Suisse


Normaliser une adresse suisse ne consiste pas simplement à corriger une faute de frappe. Il faut gérer les usages réels, les abréviations, le multilinguisme, les inversions d'ordre et les ambiguïtés propres au territoire suisse.

Notre moteur transforme une saisie libre, parfois incomplète ou imprécise, en une adresse structurée, fiable et exploitable. Il qualifie aussi le résultat pour que vos systèmes sachent quand accepter, quand demander confirmation et quand rejeter.

1
1. Comprendre la saisie

Le moteur harmonise d'abord l'écriture pour travailler sur une base cohérente, même quand la saisie est partielle, bruitée ou irrégulière.

2
2. Identifier les bons éléments

Il reconnaît ensuite les composants utiles — localité, NPA, rue, numéro et indices contextuels — sans exiger un ordre strict.

3
3. Replacer l'adresse dans son contexte suisse

La localité est résolue en tenant compte des réalités géographiques et linguistiques afin de réduire les ambiguïtés dès le départ.

4
4. Trouver la rue et affiner la correspondance

La rue est recherchée dans le bon contexte territorial, puis la résolution peut être affinée jusqu'au bâtiment lorsque l'information le permet.

5
5. Qualifier le résultat

Chaque correspondance est évaluée pour produire une adresse normalisée, un niveau de précision, un score de confiance et, si nécessaire, des alternatives pertinentes.

Résultat : une adresse libre devient une donnée homogène et directement exploitable pour la qualité de données, l'expérience utilisateur, le géocodage, la conformité et l'automatisation.

Cas d'usage

Là où la normalisation fait la différence


Chaque système qui collecte ou stocke des adresses suisses bénéficie de la normalisation.

E-commerce & Checkout

Les clients saisissent les adresses rapidement et imprécisément. Normalisez au checkout pour éliminer les livraisons échouées, réduire les retours et protéger votre marge logistique.

CRM & Données clients

Contacts importés, bases migrées ou saisies manuelles contiennent toutes des incohérences. Une passe de normalisation produit un référentiel d'adresses propre et dédupliqué.

Détection de fraude

Les commandes frauduleuses utilisent souvent des adresses légèrement modifiées ou inexistantes. La normalisation contre le registre fédéral expose les adresses invalides qui contournent les simples contrôles de format.

ERP & Systèmes logistiques

La planification de tournées et l'envoi de colis nécessitent des données structurées. La normalisation convertit les saisies libres des agents terrain ou des formulaires legacy en enregistrements lisibles par machine.

Courrier & Services documentaires

Le courrier imprimé, les factures et les contrats doivent atteindre le bon destinataire. Normalisez avant de générer les documents pour éviter la correspondance non distribuable.

KYC & Onboarding

Banques, assurances et plateformes fintech doivent vérifier les adresses clients à l'onboarding. La normalisation contre le registre officiel fournit une preuve vérifiable et horodatée de validation d'adresse.

Batch Job API

Normalisez des dizaines de milliers d'adresses en asynchrone


Soumettez de grands fichiers d'adresses suisses via un seul appel API et laissez HelvAddress les traiter en arrière-plan — sans timeout, sans relance manuelle et sans bricolage côté client.

La priorité d'exécution est attribuée automatiquement selon la taille du lot, de sorte que les petits jobs reviennent rapidement tandis que les volumes plus importants suivent des files dédiées adaptées aux workflows de data quality à grande échelle.

LIGHT ≤ 1 000
Les jobs LIGHT passent en premier

Jusqu'à 1'000 adresses. Idéal pour des nettoyages rapides, des contrôles avant import et des traitements opérationnels avec résultat en quelques secondes.

MEDIUM ≤ 10 000
Les jobs MEDIUM ont leur file dédiée

Jusqu'à 10'000 adresses. Parfait pour des exports CRM, des imports partenaires ou des routines récurrentes d'hygiène de base de données.

HEAVY > 10 000
Les jobs HEAVY sont planifiés proprement

Au-delà de 10'000 adresses. Conçu pour les grosses migrations et la remédiation de données maîtres sans perturber les flux temps réel.

1
1. Soumettre un payload JSON

Envoyez une liste complète d'adresses suisses en texte libre au endpoint batch. HelvAddress crée un job de fond et assigne automatiquement le bon niveau de priorité.

2
2. Suivre l'avancement en direct

Utilisez le endpoint de statut pour suivre `progressPercent`, `processedItems`, `failedItems` et `pendingItems` en temps réel depuis votre ERP, ETL ou back-office.

3
3. Récupérer les résultats quand c'est prêt

Une fois le job terminé, téléchargez les résultats normalisés et réinjectez-les directement dans vos migrations CRM, nettoyages de base client ou pipelines d'import.

Soumission du lot
POST /api/jobs/normalize
Authorization: Bearer {access_token}
Content-Type: application/json
X-HelvAddress-API-Version: 1.0.0

{
  "items": [
    {
      "id": "row-001",
      "address": "Bahnhofstr 1, 8001 zurich"
    },
    {
      "id": "row-002",
      "address": "1003 Lausanne, av gare 12"
    },
    {
      "id": "row-003",
      "address": "Grand- 22, 1470 Estavayer-le-Lac"
    }
  ]
}
Réponse de statut
{
  "jobId": "8a5f2b0d-4f1f-4a48-85d7-b8d6bca2e840",
  "status": "PROCESSING",
  "level": "LIGHT",
  "totalItems": 3,
  "processedItems": 2,
  "failedItems": 0,
  "pendingItems": 1,
  "progressPercent": 66.67,
  "createdAt": "2026-03-22T10:00:00Z",
  "startedAt": "2026-03-22T10:00:02Z"
}
Réponse d'acceptation
{
  "jobId": "8a5f2b0d-4f1f-4a48-85d7-b8d6bca2e840",
  "level": "LIGHT",
  "totalItems": 3,
  "statusUrl": "/api/jobs/8a5f2b0d-4f1f-4a48-85d7-b8d6bca2e840",
  "resultsUrl": "/api/jobs/8a5f2b0d-4f1f-4a48-85d7-b8d6bca2e840/results"
}
Valeur métier

La Batch Job API est pensée pour les équipes qui doivent fiabiliser des adresses suisses à grande échelle, pas seulement au fil de l'eau.

Automatiser les migrations CRM et ERP sans risque de timeout
Nettoyer des fichiers clients legacy avant import ou déduplication
Suivre précisément l'avancement pour les équipes opérations et support
Intégration API

Simple à intégrer. Sophistiqué sous le capot.


Envoyez une adresse en texte brut et recevez un JSON structuré. Le pipeline de normalisation s'exécute entièrement sur notre infrastructure suisse.

1
Envoyez l'adresse brute

POST n'importe quelle adresse en texte brut. Pas d'encapsulation JSON, pas de mapping de champs requis.

2
Le moteur analyse et correspond

Notre moteur hébergé en Suisse tokenise, corrige et met en correspondance l'adresse avec les registres officiels — sans transmettre la saisie à des services d'inférence externes.

3
Recevez le résultat structuré

Obtenez une adresse normalisée avec tous les champs, un score de confiance, les corrections appliquées et les candidats alternatifs éventuels.

Request
POST /api/addresses/normalize
Authorization: Bearer {access_token}
Content-Type: text/plain
X-HelvAddress-API-Version: 1.0.0

Grand- 22, 1470 Estavayer-le-Lac
Response
{
  "status": "MATCHED",
  "best": {
    "score": 0.85,
    "precision": "BUILDING",
    "normalized": {
      "streetName": "Grand-Rue",
      "houseNumber": "22",
      "zip4": 1470,
      "zipa": 0,
      "locality": "Estavayer-le-Lac",
      "municipality": "Estavayer",
      "lines": [
        "Grand-Rue 22",
        "1470 Estavayer-le-Lac"
      ]
    },
    "changes": [
      {
        "field": "STREET_NAME",
        "from": "Grand",
        "to": "Grand-Rue",
        "type": "STREET_TYPE_CORRECTION",
        "impact": 0.1
      }
    ],
    "meta": {
      "egaid": 101045004,
      "canton": "FR"
    }
  },
  "candidates": [],
  "issues": [],
  "dataVersion": "2026-03-14"
}
De l'entrée à la réponse, le corps de requête reste dans notre environnement de traitement suisse et n'est pas transmis à des services d'inférence tiers.
Exemples concrets

Voyez ce que l'API fait avec des saisies réelles


De la saisie utilisateur brute aux données prêtes pour la production.

Entrée Typo + abbreviation

bahnhofstr 1 zurick

Statut: MATCHED Précision: BUILDING  ·  Score: 0.70

Bahnhofstrasse 1

8001 Zürich · ZH

Correction appliquée:

bahnhofstr → Bahnhofstrasse

zurick → Zürich

Entrée Unordered fields

1003 Lausanne, av gare 12

Statut: MATCHED Précision: BUILDING  ·  Score: 0.8

Avenue de la Gare 12

1003 Lausanne · VD

Correction appliquée:

av gare → Avenue de la Gare

Fields reordered

Entrée Missing house number (ambiguous)

Route de Berne, 1000 Lausanne

Statut: AMBIGUOUS Précision: STREET

Multiple candidates returned — user confirmation recommended

Route de Berne 1, 1000 Lausanne

Route de Berne 2, 1000 Lausanne

Route de Berne 6, 1000 Lausanne

...

Entrée Entirely made-up address

Rue du Château 99, 9999 Fakestadt

Statut: NOT_FOUND Score: 0.00

No match found in the Swiss federal register. This address does not exist — ideal signal for fraud detection or data quality workflows.

Structure de la réponse API

Tout ce dont vous avez besoin en une seule réponse


La réponse de normalisation est conçue pour être immédiatement utilisable — sans lookup supplémentaire.

Field Type Description
statusstringMATCHED · AMBIGUOUS · NOT_FOUND · INVALID_INPUT · INTERNAL_ERROR
bestobjectBest candidate when a reliable match exists
best.scorefloatMatch confidence from 0.0 to 1.0
best.precisionstringPOSTAL · STREET · BUILDING
best.normalizedobjectStructured normalized Swiss address
best.changesarrayField-level changes applied during normalization
candidatesarrayAlternative candidates returned when status is AMBIGUOUS
issuesarrayWarnings explaining uncertainty or parsing limits
dataVersionstringBuilding datasource version used for matching
Status values

MATCHED Unique, high-confidence result

AMBIGUOUS Multiple candidates — present choices to user

NOT_FOUND No match in federal register

INVALID_INPUT Input could not be parsed reliably

INTERNAL_ERROR Unexpected server-side normalization failure

Full response example
{
  "status": "MATCHED",
  "best": {
    "score": 0.9812,
    "precision": "BUILDING",
    "normalized": {
      "streetName": "Bahnhofstrasse",
      "houseNumber": "1",
      "zip4": 8001,
      "zipa": 0,
      "locality": "Zürich",
      "municipality": "Zürich",
      "lines": [
        "Bahnhofstrasse 1",
        "8001 Zürich"
      ],
      "lat": 47.376887,
      "lng": 8.541694
    },
    "changes": [
      {
        "field": "STREET_NAME",
        "from": "bahnhofstr",
        "to": "Bahnhofstrasse",
        "type": "ABBREVIATION_EXPANSION",
        "impact": 0.03
      },
      {
        "field": "CITY",
        "from": "zurick",
        "to": "Zürich",
        "type": "SPELLING_CORRECTION",
        "impact": 0.02
      }
    ],
    "meta": {
      "egaid": 100497285,
      "canton": "ZH"
    }
  },
  "candidates": [],
  "issues": [],
  "dataVersion": "2026-03-14"
}

Prêt à nettoyer vos données d'adresses ?

La normalisation d'adresses est incluse dans le plan Business. Essayez la démo live ou lisez la documentation API pour commencer.


Essayer la démo Référence API Voir les plans