The RESTful single-line autocomplete flow lets users type a free-text address into one field and receive ranked suggestions via the single endpoint, then retrieve sub-building options from compl once they pick a result.
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