Use the /RNVP/ endpoint to verify and normalise an existing address. The API checks whether the address is valid, corrects formatting, and returns a quality score. Unlike the autocomplete endpoints, /RNVP/ takes a complete address as input and returns the normalised result.
GET request
Endpoint
https://{SERVER_ADDRESS}/RNVP/?Adresse={INPUT}&Instance={VALUE}&Taille={LENGTH}&Pays={COUNTRY_CODE}&Proposition={PROP}&Modification=O&Version={VERSION}&Licence={LICENCE_CODE}&Segmentation={Segmentation}The Adresse parameter must follow this pipe-separated format:
additional address|address|dependent locality or state|zip code|cityAll pipes are mandatory even when a section is empty. Examples:
||75008|Paris|12 rue de la Paix||75001|Paris
Replace the values in braces with your own information.
| Parameter | Value | Description | Mandatory/Optional |
|---|---|---|---|
| SERVER_ADDRESS | {SERVER_ADDRESS} | Address of the DQE server that will process the data. | Mandatory |
| Licence | {LICENCE_CODE} | Licence code assigned to your account or token generated by oauth2. | Mandatory |
| Adresse | {INPUT} | Address to verify. Pipe-separated format: additional address|address|dependent locality or state|zip code|city. | Mandatory |
| Pays | {COUNTRY_CODE} | ISO 3-letter country code. | Mandatory |
| Taille | {LENGTH} | Character limit for the address. Works only on Latin addresses. | Optional. Default: 38. Recommended minimum: 32. |
| Instance | {VALUE} | Allows you to pass a value during the call, returned in the response. | Optional |
| Proposition | {PROP} | France only. O: returns multiple address options (keys 1 to n). S: returns state and suggestions. | Optional |
| Modification | O | When set to O, indicates which address fields were adjusted in the response. | Optional |
| Version | {VERSION} | 1.1: returns geocoding nature for France (populates LibelleQualiteGeo and CodeQualiteGeo). 2: adds ListeComplement field. | Optional |
| Segmentation | {Segmentation} | When set to O, adds Sprofil, Sportrait, and Ssegment fields to the response. Default: N. | Optional |
POST request
Endpoint
https://{SERVER_ADDRESS}/RNVP/Add the parameters below in the request body using x-www-form-urlencoded. The Adresse parameter must use the same pipe-separated format as the GET request.
| Parameter | Value | Description | Mandatory/Optional |
|---|---|---|---|
| Licence | {LICENCE_CODE} | Licence code assigned to your account or token generated by oauth2. | Mandatory |
| Adresse | {INPUT} | Address to verify. Pipe-separated format: additional address|address|dependent locality or state|zip code|city. | Mandatory |
| Pays | {COUNTRY_CODE} | ISO 3-letter country code. | Mandatory |
| Taille | {LENGTH} | Character limit for the address. | Optional. Default: 38. Recommended minimum: 32. |
| Instance | {VALUE} | Allows you to pass a value during the call. | Optional |
| Proposition | {PROP} | France only. O: multiple options. S: state + suggestions. | Optional |
| Modification | O | When set to O, indicates which fields were adjusted. | Optional |
| Version | {VERSION} | 1.1: geocoding nature. 2: adds ListeComplement. | Optional |
| Segmentation | {Segmentation} | O: adds Sprofil, Sportrait, Ssegment. Default: N. | Optional |
Response
Success response
The JSON response is a dictionary whose keys are numbered from "1" to "n". When Proposition is not set, only key "1" is returned. When Proposition=O, multiple address suggestions are returned.
{
"1": {
"Adresse": "STRADA BARDONEY",
"DQECompte": "",
"Instance": "",
"CodePostal": "11028",
"Status_IrisIlot": "",
"Latitude": "",
"Localite": "VALTOURNENCHE",
"Province": "AO",
"NbNumero": "",
"Complement": "",
"Voie": "BARDONEY",
"Roudis": "",
"ListeNumero": "",
"Numero": "",
"Cedex": "",
"IDHexaposte": "",
"IDCle": "",
"LieuDit": "",
"ilot": "",
"TypeVoie": "STRADA",
"Longitude": "",
"CompNum": "",
"iris": "",
"IDLocalite": "16237",
"DQECodeErreur": "",
"IDVoie": "",
"NumSeul": "",
"DQEPourcentErreur": "",
"Region1": "VALLE D'AOSTA",
"Region2": "VALLE D AOSTA",
"Region3": "",
"Region4": "",
"Ligne2": "",
"Pays": "ITA",
"DQELibErreur": "Small city, street name not found",
"DQECodeDetail": "30"
}
}| Key | Value | France | International |
| Roudis | Roudis Code (France only) | STRING(5) | Not available |
| CodePostal | City Zip Code | STRING(5) | STRING(10) |
| Localite | City name | STRING(38) | STRING(50) |
| Province | Region where the city is located. Type will depend on the country where the search is performed. For the USA, the state's 2-letter code is returned here. | Not available | STRING(50) |
| IDLocalite | Unique code for each city (INSEE code for France) | STRING(20) | STRING(20) |
| Pays | ISO country code | STRING(3) | STRING(3) |
| Numero | Number in the street with the number complement (bis, ter, etc.) | STRING(4) | STRING(4) |
| NumSeul | Number in the street | STRING(4) | STRING(4) |
| ListeNumero | List of available numbers in the street. This key is available when the number entered is invalid or when no number has been entered. | STRING(1024) | STRING(1024) |
| NbNumero or Nbnumero | Number of numbers in the street | STRING(4) | STRING(4) |
| CompNum | Number complement (bis, ter, etc.) | STRING(38) | STRING(50) |
| TypeVoie | Street type (street, avenue, etc.) | STRING(20) | STRING(20) |
| Voie | Street name, without number or type | STRING(38) | STRING(50) |
| Adresse | Street including street number and type | STRING(38) | STRING(50) |
| Cedex | Cedex from the address entered | STRING(5) | STRING(10) |
| Ligne2 | Contains additional information from line 2 of the address | STRING(38) | STRING(38) |
| LieuDit | Dependent locality if applicable | STRING(38) | STRING(50) |
| IDVoie or CodeVoie | Unique number to designate the street | STRING(20) | STRING(20) |
| Complement | Additional address information | STRING(1024) | STRING(150) |
| Instance | Number passed as a parameter during the call and returned in the response | STRING(1) | STRING(1) |
| Latitude | Latitude code of the centre of the locality | DECIMAL(18) | DECIMAL(18) |
| Longitude | Longitude code of the centre of the locality | DECIMAL(18) | DECIMAL(18) |
| Status_IrisIlot | Origin of IRIS and Ilot codes | STRING(5) | Not available |
| iris | IRIS code | STRING(9) | Not available |
| ilot | Ilot code | ||
| IDHexaposte | Hexaposte ID | STRING(6) | Not available |
| IDCle | Hexaclé ID | STRING(10) | Not available |
| DQECodeDetail | Return code detailed below | STRING(2) | STRING(2) |
| DQELibErreur | OK or KO | STRING(38) | STRING(38) |
| DQECompte | Old response - kept for compatibility reasons on old integrations | STRING | Not available |
| DQECodeErreur | Old response - kept for compatibility reasons on old integrations | STRING | Not available |
| DQEPourcentErreur | Old response - kept for compatibility reasons on old integrations | STRING | Not available |
| Region1 | Region | Not available | STRING |
| Region2 | County | Not available | STRING |
| Region3 | County | Not available | STRING |
| Region4 | County | Not available | STRING |
| Thoroughfare | Dependant street | Not available | UK Only |
| Entreprise | Company name | STRING(38) | UK Only |
| Sprofil | If Segmentation=O, profile of the address | STRING(10) | Not available |
| Sportrait | If Segmentation=O, portrait of the address | STRING(10) | Not available |
| Ssegment | If Segmentation=O, segment of the address | STRING(10) | Not available |
DQECodeDetail schema
The DQECodeDetail field returns one of the following quality codes:
| Code | Description | Internal Description | UI Display |
| 10 | Correct address | Valid address | Valid address |
| 20 | Correct address (street not recognized, but it is a CEDEX or P.O. box) | Valid address | Valid address |
| 21 | Small town, street number out of range | Please confirm the address with the client (street number does not exist) | Please check your postal address |
| 22 | Small town, street number missing (the rest of the address is correct) | Please confirm the address with the client (street number missing) | Please check your postal address |
| 23 | Large city, street number out of range | Please confirm the address with the client (street number does not exist) | Please check your postal address |
| 24 | Large city, street number missing (the rest of the address is correct) | Please confirm the address with the client (street number missing) | Please check your postal address |
| 25 | CEDEX address unknown to CEDEXA (if CEDEXA is active) | Valid address | Valid address |
| 30 | Small town, street not recognized | Please confirm the address with the client (street name not found) | Please check your postal address |
| 31 | Small town, street not recognized | Please confirm the address with the client (street name not found) | Please check your postal address |
| 40 | Small town, street missing (district information recognized, but not enough to deduce the street) | Please confirm the address with the client (street name not found) | Please check your postal address |
| 41 | Small town, street missing | Please confirm the address with the client (street name missing) | Please check your postal address |
| 50 | Large city, street not recognized | Please confirm the address with the client (street name not found) | Please check your postal address |
| 51 (France only) | Large city, street not recognized (district information recognized, but not enough to deduce the street) | Please confirm the address with the client (street name not found) | Please check your postal address |
| 60 | Large city, street missing (district information recognized, but not enough to deduce the street) | Please confirm the address with the client (street name not found) | Please check your postal address |
| 61 | Large city, street missing | Please confirm the address with the client (street name missing) | Please check your postal address |
| 70 | Postal code/City not correctable (street present) | Address is incorrect. The postal code/city do not match. | Please check your postal address |
| 71 | Postal code/City not correctable (street missing) | Address is incorrect. The postal code/city do not match. | Please check your postal address |
| 80 | Input “address” block empty | Address not filled in | Please check your postal address |
| 81 | Input “address” block empty | Address not filled in | Please check your postal address |
| 90 | International address detected | Valid address | Valid address |
| 95 | Missing or incorrect country code | Missing or incorrect country code | Please check your postal address |
CodeModification (when Modification=O)
The CodeModification field is a 5-character string where each position corresponds to an address component. 0 means not modified; 1 means modified.
| Position | Address component |
|---|---|
| 1 | Additional address |
| 2 | Address (street) |
| 3 | Dependent locality or state |
| 4 | Zip code |
| 5 | City |
LibelleQualiteGeo / CodeQualiteGeo (when Version=1.1)
These fields describe the geocoding precision level.
| CodeQualiteGeo | LibelleQualiteGeo | Description |
|---|---|---|
1 | ENTREE | Main access point to an open or closed enclosure, a group of buildings, or a piece of land. |
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. |
7 | POINT D ACCESS TECHNIQUE | Technical access point. |
8 | POINT DELIVRANCE POSTALE | Postal delivery point, such as a mailbox. |
9 | ZONE D ADRESSAGE | Point placed in the dependent locality. |
10 | CENTRE VILLE | City center. |
00 | CENTRE DE LA VOIE | Point in the center of the street. |
90 | A CONTROLER | To check. |
99 | NON PRESENTE | Not available. |
Error response
| Error type | Request | Response type |
Missing Licence parameter | https://{SERVER_ADDRESS}/RNVP/?Pays=FRA&Adresse=%7C5%20rue%20des%20Pyrenees%7C%7C75020%7CPARIS&Taille=38 | Empty response |
Empty Licence parameter | https://{SERVER_ADDRESS}/RNVP/?Pays=FRA&Adresse=%7C5%20rue%20des%20Pyrenees%7C%7C75020%7CPARIS&Taille=38&Licence= | Empty response |
| Incorrect licence number | https://{SERVER_ADDRESS}/RNVP/?Pays=FRA&Adresse=%7C5%20rue%20des%20Pyrenees%7C%7C75020%7CPARIS&Taille=38&Licence={INCORRECT_LICENCE_CODE} | Empty response |
Missing Adresse parameter | https://{SERVER_ADDRESS}/RNVP/?Pays=FRA&Taille=38&Licence={LICENCE_CODE} | 400 Bad Request Error |
Missing Pays parameter | https://{SERVER_ADDRESS}/RNVP/?Adresse=%7C5%20rue%20des%20Pyrenees%7C%7C75020%7CPARIS&Taille=38&Licence={LICENCE_CODE} | 400 Bad Request Error |
| Error on a parameter | https://{SERVER_ADDRESS}/RNVP/?Adrese=%7C5%20rue%20des%20Pyrenees%7C%7C75020%7CPARIS&Pays=FRA&Taille=38&Licence={LICENCE_CODE} | 400 Bad Request Error |
Related to