Two-step address autocomplete using the RESTful API. single returns ranked address suggestions from free-text input; compl retrieves sub-building options after the user selects a suggestion.
The user types freely; /single/ returns ranked suggestions in real time. After selection, /compl/ retrieves sub-building options (building names, floor numbers, apartment numbers).
single
RESTful endpoint for address autocomplete. Accepts partial or complete free-text input and returns a ranked list of address suggestions. Each suggestion carries a StreetId used as input to compl for sub-building completion.
Request
Both GET and POST are supported.
l'église → l%27%C3%A9glise.cURL examples
France - partial input
Japan - Kanji, with Langue parameter
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 - partial input
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 |
| Address | {INPUT} |
Free-text address string entered by the user. Accepts partial input - street fragment, street number, postal code, or city name. Must be URL-encoded. No pipe format required - pass the raw string as typed. | Mandatory |
| Country | {COUNTRY_CODE} |
ISO 3166-1 alpha-3 country code for the address search scope. Example: FRA or GBR. |
Mandatory |
| Length | {LENGTH} |
Maximum character length for address suggestions returned. Applies to Latin-character addresses only. Setting this too low may truncate results. Default: 38. Recommended minimum: 32. |
Optional |
| Limit | {NB} |
Maximum number of address suggestions returned. Default: 20. |
Optional |
| Version | 1 |
When set to 1, the street type is extracted from the Street key and returned in a dedicated StreetType field. Without this parameter, the street type remains part of Street (e.g., RUE DE LA PAIX) and StreetType is empty. |
Optional |
| Langue | {LANGUAGE} |
Filters results by language/script (e.g. JPN: JP = Kanji · JK = Katakana · EN = Romanized). See Language guide. |
Optional |
| Filter | {FILTER} |
France only. Filters CEDEX addresses: 1 all addresses; 2 non-CEDEX only; 3 CEDEX only. |
Optional |
Response
On success, the response is a JSON object with two top-level keys: Found (integer) and Addresses (array of address suggestion objects, up to Limit items). The first result is the closest match to the input.
Addresses[0] is the best match; items further down the array are alternate candidates. The Label field contains the ready-to-display string for your autocomplete dropdown - everything else gives you the structured components to populate form fields.Top-level
| Key | Description | Type |
|---|---|---|
| Found | Number of address suggestion objects returned. | Integer |
| Addresses | Array of address suggestion objects. | Array |
Address suggestion object - Addresses[n]
| Key | Description | France | International |
|---|---|---|---|
| Label | Ready-to-display string for an autocomplete dropdown. Numbers in [brackets] indicate the number was not found in the reference data. See Label field - display only for usage notes.
Only use
Label to populate the suggestion dropdown - never to store the address. See integration guide →
|
String (255) | String (255) |
| Street | Street name. | String (38) | String (150) |
| StreetType | Street type (e.g., RUE, AVENUE, BOULEVARD). Only populated when Version=1 is set - in that case the street type is removed from Street and returned here instead. |
String (20) | String (20) |
| StreetNumber | Full street number including any complement (bis, ter, etc.). | String (38) | String (38) |
| StreetNumberOnly | Street number only, without any complement (bis, ter, etc.). | String (4) | String (4) |
| StreetNumberListCount | 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 |
| IsValidStreetNumber | Street number validity indicator. 1 if the number exists in the reference data, 0 otherwise. Returns an empty string for some international addresses where number-level validation is not available. |
Integer | Integer |
| StreetNumberList | Semicolon-separated list of valid street numbers. Contains all numbers when no number was entered or when the entered number is not found; contains only the matched number otherwise. | String (1024) | String (1024) |
| StreetId | Unique street identifier. Used as input to compl. | String (20) | String (20) |
| PostalCode | Postal code of the address. | String (10) | String (10) |
| City | City name. | String (38) | String (50) |
| Hamlet | Named locality or hamlet (France) or equivalent district-level field (international). Availability varies by country. | String (38) | String (50) |
| SubLocality | Sub-locality (district, borough, suburb). | Empty | String (50) |
| SpecialDistribution | Not in use. Always returned as an empty string. | String | String |
| CityId | Unique city identifier (INSEE code for France). | String (20) | String (20) |
| StateCode | State or administrative region ISO code (e.g. 17 for Japan). |
Empty | String (50) |
| StateLabel | State or administrative region ISO label (e.g. ISHIKAWA for Japan). |
Not available | String (50) |
| AdministrativeArea | County or equivalent administrative level. | Empty | String (50) |
| Suburb | Suburb or district. | Empty | String (50) |
| AdditionalAddress | Additional address information (building name, floor, etc.). Availability varies by country - see integration guide. | Empty | String (50) |
| Company | Company name associated with the address. | String (38) | String (38) |
| Input | Normalised form of the submitted address. May differ from the original input in casing or formatting. Not populated for all countries. | String (255) | String (255) |
| Country | ISO 3166-1 alpha-3 country code. | String (3) | String (3) |
| 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 |
Populated with Version=1
Response example
United Kingdom - input "Abbey Road NW10 7TJ London"
Japan - input "三田", Langue=JP
Errors
The RESTful endpoint returns a structured JSON error body with an HTTP status code, a message, and an error identifier.
| HTTP | Error type | Response body |
|---|---|---|
| 400 | Missing Licence parameter |
{"status":400,"message":"Missing parameters","details":"Licence","error":"bad request"} |
| 400 | Empty Licence parameter |
{"status":400,"message":"Licence must be filled","details":"Empty","error":"bad request"} |
| 401 | Incorrect licence number | {"status":401,"message":"Your licence is not allowed to cover this functionnality","details":"{WRONG}","error":"unauthorized_client"} |
| 400 | Missing Address parameter |
{"status":400,"message":"Missing parameters","details":"Address","error":"bad request"} |
| 400 | Missing Country parameter |
{"status":400,"message":"Missing parameters","details":"Country","error":"bad request"} |
| 400 | Empty Country parameter |
{"status":400,"message":"Country must be filled","details":"Empty","error":"bad request"} |
| 400 | Typo in parameter name | {"status":400,"message":"Missing parameters","details":"Address","error":"bad request"} |
Test the API
Click the button below to test this endpoint live in your browser.
Open console
compl
Second step of the single-line approach. Given a street ID and street number selected from a single result, returns a list of sub-building suggestions: building names, floor numbers, company names, apartment numbers.
StreetId and StreetNumber returned by single to get granular sub-building options. If no sub-building options exist for the address, no numbered entries are returned.Request
Both GET and POST are supported.
cURL example
France
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
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 |
| StreetId | {STREETID} |
Unique street identifier returned by single in the StreetId field. |
Mandatory |
| StreetNumber | {STREETNUMBER} |
Street number selected by the user - corresponds to the StreetNumber field from the single response. |
Mandatory |
| Country | {COUNTRY_CODE} |
ISO 3166-1 alpha-3 country code for the address search scope. Example: FRA or GBR. |
Mandatory |
| Length | {LENGTH} |
Maximum character length for address fields returned. Applies to Latin-character addresses only. Setting this too low may truncate results. Default: 38. Recommended minimum: 32. |
Optional |
| Search | {SEARCH} |
For the United States: filters complement suggestions based on what the user has typed. Pass the partial complement type entered (e.g., FL, STE, RM) - only complement entries matching that value are returned. |
Optional |
Response
On success, the response is a JSON object with two top-level keys: Found and AdditionalAddresses (array), plus a Geolocalisation object. Geocoding coverage varies by country - see Geographic coverage.
| Key | Description | France | International |
|---|---|---|---|
| Found | Number of address complements found. | Integer | Integer |
| AdditionalAddresses | Array of additional address objects. | Array | Array |
| AdditionalAddresses[0]. AdditionalAddress |
Additional address label (building name, floor, apartment, etc.). | String (38) | String (150) |
| AdditionalAddresses[0]. PostalCode |
Postal code specific to this sub-unit, when available (e.g. ZIP+4 for the USA). | Empty | String (10) |
| Geolocalisation | Geolocation information for the address. | Object | Object |
| Geolocalisation. Latitude |
Geocoordinates of the matched address. Not available for all countries - see coverage. | String | String |
| Geolocalisation. Longitude |
Geocoordinates of the matched address. Not available for all countries - see coverage. | String | String |
Response example
France
Errors
| HTTP | Error type | Response body |
|---|---|---|
| 400 | Missing StreetId
|
{"status":400,"message":"Missing parameters","details":"StreetId","error":"bad request"} |
| 400 | Missing StreetNumber
|
{"status":400,"message":"Missing parameters","details":"StreetNumber","error":"bad request"} |
| 400 | Missing Country
|
{"status":400,"message":"Missing parameters","details":"Country","error":"bad request"} |
| 400 | Missing Licence
|
{"status":400,"message":"Missing parameters","details":"Licence","error":"bad request"} |
| 401 | Unauthorized client (licence invalid, expired, or out of scope) | {"status":401,"message":"Your licence is not allowed to cover this functionnality","details":"{INVALID_LICENCE}","error":"unauthorized_client"} |
Test the API
Click the button below to test this endpoint live in your browser.
Open console
See also
Related to