Address API - Check and verify an address (Classic)

Support DQE
Support DQE
  • Updated
Validation - Standard API

Validates and normalises a complete address. Returns a corrected address, a deliverability verdict (DQECodeDetail), and optionally a breakdown of which fields were adjusted.

When to call this endpoint - RNVP is the Level 2 validation step. Trigger it when the user types an address freehand or modifies a DQE suggestion before submitting. If the user accepted a DQE suggestion as-is, quality is already guaranteed - no call needed.

Request

Both GET and POST are supported.

{SERVER_ADDRESS} and {LICENCE_CODE} are provided by DQE upon account creation. Contact your DQE account manager to obtain these credentials.
Address input must be URL-encoded - e.g. l'églisel%27%C3%A9glise.
GEThttps://{SERVER_ADDRESS}/RNVP/?Adresse={INPUT}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}

cURL examples

France - with Modification=O and Version=1.1

curl "https://{SERVER_ADDRESS}/RNVP/?Adresse=%7C1%20rue%20de%20la%20louisiane%7C%7C31200%7Ctoulouse&Pays=FRA&Taille=38&Modification=O&Version=1.1&Licence={LICENCE_CODE}"

International - Italy

curl "https://{SERVER_ADDRESS}/RNVP/?Adresse=%7CSTRADA%20BARDONEY%7C%7C11028%7CVALTOURNENCHE&Pays=ITA&Taille=38&Licence={LICENCE_CODE}"
POSThttps://{SERVER_ADDRESS}/RNVP/

Send all parameters in the request body using Content-Type: application/x-www-form-urlencoded. The server address remains in the URL.

cURL example

France - full address with Modification flag

curl -X POST "https://{SERVER_ADDRESS}/RNVP/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Adresse=%7C1+rue+de+la+louisiane%7C%7C31200%7Ctoulouse" \ -d "Pays=FRA" \ -d "Taille=38" \ -d "Modification=O" \ -d "Version=1.1" \ -d "Licence={LICENCE_CODE}"

Parameters

Parameter Value Description Mand / Opt
Licence {LICENCE_CODE} Your DQE licence key or OAuth2 token. Contact support if you do not yet have one. Mandatory
Adresse {INPUT} Pipe-separated address string. All five pipes are mandatory even when fields are empty. For France, a sixth segment can be prepended for the delivery point (apartment, floor, mailbox).
additional address|address|dependent locality or state|zip code|city

Example: |1 rue de la louisiane||31200|toulouse

Mandatory
Pays {COUNTRY_CODE} ISO 3166-1 alpha-3 country code for the address search scope. Example: FRA or GBR. Mandatory
Taille {LENGTH} Character limit for the Adresse response field. Applies to Latin-character addresses only. Default: 38. Recommended minimum: 32. Optional
Instance {INSTANCE} Not echoed back in results for this endpoint - safe to omit. Optional
Proposition {PROP} France only. Controls how correction results are returned.
O - Record "1" contains the standard correction result. If the address cannot be uniquely matched, additional suggestions are returned as records "2" to "n".
S - Record "1" returns the input address as-is with its validation status (not corrected). If a clear correction is found, it is returned as record "2". Automatically enables Modification=O.
Optional
Modification O Fixed value O. Adds Code_Modification and Status_Modification to the response, indicating which address fields were adjusted (additional address, address, dependent locality, zip code, or city). See Code_Modification. Optional
Version {VERSION} 1.1 - Adds geocoding quality fields (LibelleQualiteGeo, CodeQualiteGeo) to the response (France only, subscription required - contact your DQE account manager to enable).
2 - Returns additional address data in a ListeComplement field.
Optional
Segmentation O France only. Finesis subscription required - contact your DQE account manager to enable. Set to O to add Sprofil, Sportrait, Ssegment (population segmentation fields) to the response. Default: N. Optional

Response fields

The response is a JSON object with a single key "1" whose value is a dictionary of address fields. When Proposition=O, multiple numbered records may be returned.

Complement fields - Validation applies up to the street number. When a complement is submitted (building name, floor, etc.) and matches a referenced complement, the engine enriches it with the full registered name. When no complement is submitted, the full list of available complements is returned (semicolon-separated). Unrecognised complements are returned as-is.
Output casing - The casing follows the postal norm of the country concerned.
Key Description France International
DQECodeDetail Validation result code. See DQECodeDetail codes below. String (2) String (2)
DQELibErreur Plain-text validation result label (OK or an error description). String (38) String (38)
Adresse Normalised address line (street number, type and name). String (38) String (50)
Voie Street name without number or type. String (38) String (50)
TypeVoie Street type (e.g., RUE, AVENUE, BOULEVARD). String (20) String (20)
Numero Full street number including any complement (bis, ter, etc.). String (10) String (10)
NumSeul Street number only, without any complement (bis, ter, etc.). String (10) String (10)
CompNum Street number complement (bis, ter, etc.). String (38) String (50)
NbNumero
also: Nbnumero
When the queried number is not found or missing, returns the total count of valid street numbers for this street. Can be an empty string for some international addresses where this data is not available. String String
ListeNumero Semicolon-separated list of all valid numbers on this street. Populated when the submitted number is invalid or absent. String (1024) String (1024)
CodePostal Postal code. String (5) String (10)
Localite City name. String (38) String (50)
LieuDit Named locality or hamlet (France) or equivalent district-level field (international). Availability varies by country. String (38) String (50)
Cedex CEDEX indicator: 1 = CEDEX address, 0 = not CEDEX. String (1) String (1)
Ligne2 Additional information from address line 2. String (38) String (38)
Complement Additional address information (building name, floor, etc.). String (1024) String (150)
ListeComplement Semicolon-separated list of available address complements (buildings, residences, etc.) for the matched street. Returned when Version=2. String (1024) String (1024)
IDLocalite Unique city identifier (INSEE code for France). String (20) String (20)
IDVoie
or CodeVoie
Unique street identifier. String (20) String (20)
Pays ISO 3166-1 alpha-3 country code. String (3) String (3)
Province State or administrative region ISO code. Always "*" String (50)
Region1 State or region label. Not available String
Region2 County or equivalent administrative level. Not available String
Region3 County or equivalent (alternate level). Not available String
Region4 Additional regional or administrative information. Not available String
Thoroughfare Dependent street. Not available UK only
Entreprise Company name associated with the address. String (38) String (38)
Roudis Roudis routing code. France only. String (5) Not available
IDHexaposte Postal city identifier (Hexaposte code for France). String (6) Not available
IDCle Unique street number identifier (Hexaclé for France). String (10) Not available
Latitude Geocoordinates of the matched address. Not available for all countries - see coverage. String String
Longitude Geocoordinates of the matched address. Not available for all countries - see coverage. String String
Status_IrisIlot Origin of IRIS and Ilot codes. Subscription required - contact your DQE account manager to enable. String (5) Not available
iris IRIS statistical unit code. France only, subscription required - contact your DQE account manager to enable. String (9) Not available
ilot Ilot code. Subscription required - contact your DQE account manager to enable. String Not available
Instance Internal field. String (3) String (3)
LibelleQualiteGeo Geocoding quality label (e.g., ENTREE, BATIMENT). Populated when Version=1.1. See Geocoding quality. String Not available
CodeQualiteGeo Geocoding quality numeric code. Populated when Version=1.1. String Not available
Sprofil Population profile (Finesis). Returned when Segmentation=O. String (10) Not available
Sportrait Population portrait (Finesis). Returned when Segmentation=O. String (10) Not available
Ssegment Population segment (Finesis). Returned when Segmentation=O. String (10) Not available
Code_Modification 5-character binary string indicating which address fields were adjusted. Returned when Modification=O. See Code_Modification. String (5) String (5)
Status_Modification O if at least one field was adjusted, N otherwise. Returned when Modification=O. String (1) String (1)
DQECompte
DQECodeErreur
DQEPourcentErreur
Legacy fields kept for backward compatibility with old integrations. Do not use in new implementations. String Not available

Returned with Version=1.1 Returned with Segmentation=O Returned with Modification=O

Response examples

|1 Rue de la Louisiane||31200|Toulouse
{ "1": { "Roudis": "4221", "DQECompte": "", "Instance": "", "CodePostal": "31200", "Status_IrisIlot": "INSEE", "Latitude": "43.634746", "Localite": "TOULOUSE", "Province": "*", "NbNumero": "0", "Complement": "BATIMENT D RESIDENCE ALLEE DES CEDRES;BATIMENT A RESIDENCE ALLEE DES CEDRES;BATIMENT B RESIDENCE ALLEE DES CEDRES;BATIMENT C RESIDENCE ALLEE DES CEDRES", "Voie": "DE LA LOUISIANE", "Adresse": "1 RUE DE LA LOUISIANE", "Cedex": "", "Numero": "1", "ListeNumero": "", "IDHexaposte": "14411", "IDCle": "3155526YEA", "Nbnumero": "0", "LieuDit": "", "ilot": "", "TypeVoie": "RUE", "DQECodeDetail": "10", "DQELibErreur": "OK", "Longitude": "1.430098", "CompNum": "", "iris": "3701", "IDLocalite": "31555", "DQECodeErreur": "0", "Pays": "FRA", "IDVoie": "2408474", "NumSeul": "1", "Ligne2": "", "DQEPourcentErreur": "0" } }

DQECodeDetail codes

DQECodeDetail is the primary validation result indicator. Use it to determine which action to take on form submission.
For recommended UI messages associated with each code, refer to the Integration Guide.

Code Description
10 Correct address
20 Correct address (street not recognized, but it is a CEDEX or P.O. box)
21 Small town, street number out of range
22 Small town, street number missing (the rest of the address is correct)
23 Large city, street number out of range
24 Large city, street number missing (the rest of the address is correct)
25 CEDEX address unknown to CEDEXA (if CEDEXA is active)
30 Small town, street not recognized
31 Small town - street not recognised or missing; district info recognised but insufficient to determine the street. France only.
40 Not expected in current cloud deployments. Defined for compatibility.
41 Small town, street missing
50 Large city, street not recognized
51 Large city, street not recognised or missing (district information recognised but insufficient to determine the street). France only.
60 Not expected in current cloud deployments. Defined for compatibility.
61 Large city, street missing
70 Postal code / city mismatch - street present
71 Not expected in current cloud deployments. Defined for compatibility.
80 Postal code / city mismatch - street missing
81 Input address block empty. Not returned for France.
90 International address detected - the input country code does not seem to match the input address.
95 Missing or incorrect country code
Small vs Large city - In France, a city is considered Large when it has more than 2 500 inhabitants. Internationally, the threshold is 500 streets. This distinction determines whether small-town codes (21, 22, 30, 31, 41) or large-city codes (23, 24, 50, 51, 61) apply.
District - Codes 31 and 51 indicate that a district was recognised: a geographic zone identified by the engine (e.g. a hamlet or housing estate) that cannot be matched to a specific street. These codes are France only.
Postal address validation process

DQECodeDetail - input examples

Sample inputs that produce each code. Fields not listed are left empty.

Code France International
10 |20 rue Jean-Baptiste Pigalle||75009|Paris Albert Buildings|3 Scott Drive||WA15 8AB|ALTRINCHAM
GBR
20 |RUE DES FRERES LUMIERE|BP 30036|33564|CARBON BLANC -
21 |26 route du chardonnay||24130|Ginestet |Seulestraat 200||8950|Heuvelland
BEL
22 |route du chardonnay||24130|Ginestet |Seulestraat||8950|Heuvelland
BEL
23 |13 rue Jean-Baptiste Pigalle||75009|Paris |Rue Victor Hugo 235||7012|Mons
BEL
24 |rue Jean-Baptiste Pigalle||75009|Paris |Rue Victor Hugo||7012|Mons
BEL
25 |||82016|Montauban CEDEX -
30 |rue Jean-Baptiste Pigalle||24130|Ginestet |Via del lungo||70011|Alberobello
ITA
31 |SAINT SYMPHORIEN||12490|VIALA DU TARN Not returned outside of France
40 Not expected in current cloud deployments. Defined for compatibility. Not expected in current cloud deployments. Defined for compatibility.
41 |||24130|Ginestet |||70011|Alberobello
ITA
50 |route du chardonnay||75009|Paris |STREET ABCD||60607|CHICAGO
USA
51 |Lotissement Casella||20243|PRUNELLI DI FIUMORBO Not returned outside of France
60 Not expected in current cloud deployments. Defined for compatibility. Not expected in current cloud deployments. Defined for compatibility.
61 |||75009|Paris |||60607|CHICAGO
USA
70 |rue de la mairie||75009|Bordeaux |FRANKLIN GTWY SE||00067|MARIETTA
USA
71 Not expected in current cloud deployments. Defined for compatibility. Not expected in current cloud deployments. Defined for compatibility.
80 |||75009|Bordeaux |||00067|MARIETTA
USA
81 Not returned for France ||||
90 |7C avenue Monbijou||4960|Malmedy
Pays: FRA - address appears non-French
-
95 - -

Code_Modification

Returned when Modification=O is added to the request. Status_Modification is O if any field was adjusted, N otherwise. Code_Modification is a 5-character binary string, one position per address field. 1 = adjusted by DQE, 0 = unchanged.

additional address|address|dependent locality|zip code|city
Code_Modification Meaning
00000 No fields adjusted - address accepted as submitted.
11111 All five fields adjusted.
00011 Zip code and city adjusted; other fields unchanged.
01111 Address, dependent locality, zip code and city adjusted; additional address unchanged.
10000 Only additional address adjusted.
01000 Only address line adjusted.
00100 Only dependent locality adjusted.
Tip - When Status_Modification is O, at least one field was changed by DQE. Display the correction to the user as a popup, always preserving the option to keep their original input.

Geocoding quality

When Version=1.1 is set and geocoding is subscribed, two fields are added: LibelleQualiteGeo (label) and CodeQualiteGeo (numeric code). France only.

Code LibelleQualiteGeo Description
1 ENTREE Main access point to an enclosure, building group, or land parcel (address plate).
2 BATIMENT Building or part of a building.
3 ESCALIERS Stairwell, normally inside a building.
4 LOGEMENT Housing or room inside a building.
5 PARCELLE CADASTRALE Cadastral parcel.
6 SEGMENT DE VOIE Position derived from the connecting street segment. May be outside the city polygon but on the same street.
7 POINT D ACCESS TECHNIQUE Technical access point (water, electricity, gas shut-off, etc.).
8 POINT DELIVRANCE POSTALE Postal delivery point (mailbox).
9 ZONE D ADRESSAGE Point placed in the dependent locality.
10 CENTRE VILLE Centre of the city.
0 CENTRE DE LA VOIE Point in the centre of the street.
90 A CONTROLER Geocoding quality uncertain - to be checked.
99 NON PRESENTE Geocoding not available for this address.

Errors

Unlike the suggestion APIs, RNVP returns standard HTTP error codes (not an empty body) when required parameters are missing or invalid.

HTTP Error type Response body
400 Missing or empty Licence Bad Request Parameters empty fields
401 Incorrect Licence unauthorized_client
400 Missing or empty Adresse Bad Request Parameters empty fields
400 Missing or empty Pays Bad Request Parameters empty fields
400 Invalid parameter value Bad Request Parameters empty fields

Test the API

Click the button below to test this endpoint live in your browser.

Open console

See also

Related to

Was this article helpful?

0 out of 0 found this helpful