Etuovi Autocomplete API turns text into ranked Finnish places: cities, districts, postcodes and regions. Each result has a type and a code. Pass both to the search route as location_type and location_code. Never invent codes: an invented code returns no results. A result with searchable false cannot be used as a search location. An empty list is a valid answer and is billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
string
Required
Search text, 2 to 100 characters. Example: Tampere.
coffee shops
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"query": "Tamp",
"results": [
{
"geo": {
"lat": 61.498336,
"lng": 23.769304
},
"code": "FI_PIRKANMAA_TAMPERE",
"name": "Tampere",
"type": "CITY",
"region": {
"code": "FI_PIRKANMAA",
"name": "Pirkanmaa"
},
"full_name": "Tampere",
"searchable": true,
"municipality": {
"code": null,
"name": null
}
},
{
"geo": {
"lat": 61.482627,
"lng": 23.829865
},
"code": "FI_PIRKANMAA_TAMPERE_AAKKULA",
"name": "Aakkula",
"type": "DISTRICT",
"region": {
"code": "FI_PIRKANMAA",
"name": "Pirkanmaa"
},
"full_name": "Aakkula, Tampere",
"searchable": true,
"municipality": {
"code": "FI_PIRKANMAA_TAMPERE",
"name": "Tampere"
}
},
{
"geo": {
"lat": 61.514361,
"lng": 23.920749
},
"code": "FI_PIRKANMAA_TAMPERE_AHOLA",
"name": "Ahola",
"type": "DISTRICT",
"region": {
"code": "FI_PIRKANMAA",
"name": "Pirkanmaa"
},
"full_name": "Ahola, Tampere",
"searchable": true,
"municipality": {
"code": "FI_PIRKANMAA_TAMPERE",
"name": "Tampere"
}
}
]
},
"meta": {
"billable": true,
"endpoint_family": "autocomplete"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A required parameter or a value is invalid. This response is not billable.
{
"errors": {
"query": [
"The query field is required."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Etuovi could not be reached or returned data that does not match the request. This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "autocomplete"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "Etuovi could not be reached. Please retry shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.