Skip to main content

Kontakto Business Data Service (1.0.0)

Download OpenAPI specification:Download

Kontakto API Support: [email protected] Terms of Service

The Kontakto Business Data Service is a high-performance, low-latency API for accessing Finnish business data from multiple sources.

Engineered with exceptional speed in mind, Kontakto is an ideal solution for powering real-time, user-facing applications where performance is critical.

Example Use Cases:

  • Instant Autocomplete: Type-ahead search boxes that feel instantaneous to the user.
  • Real-time Data Enrichment: Enrich user profiles or company records on the fly without adding user-perceptible delay.
  • Dynamic Form Validation: Validate business information (like company names or VAT numbers) as users type.

Register for an API key

Create an account at Kontakto.fi and get your API key.

Companies

Get company by business ID

Returns company details based on the business ID

Authorizations:
apiKeyAuth
path Parameters
businessId
required
string
Example: 1234567-8

Business ID of the company

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "businessId": "string",
  • "vatId": "string",
  • "businessName": "string",
  • "auxiliaryNames": [
    ],
  • "parallelNames": [
    ],
  • "operationalStatus": true,
  • "statusAsOf": "string",
  • "statusDescription": "string",
  • "countryCode": "string",
  • "languageCode": "string",
  • "domicileCity": "string",
  • "domicileCode": "string",
  • "industryDescription": "string",
  • "industryAsOf": "string",
  • "tol2008Code": "string",
  • "legalForm": "string",
  • "legalFormCode": "string",
  • "legalFormAsOf": "string",
  • "sector": "associations_and_foundations",
  • "establishmentDate": "string",
  • "otherAddress": [
    ],
  • "website": [
    ],
  • "domain": [
    ],
  • "phoneNumber": [
    ],
  • "register": [
    ],
  • "eInvoiceAddress": [
    ],
  • "kontaktoRating": {
    }
}

Company search (typeahead)

Search companies with compact results for typeahead functionality. Hides black-rated companies and companies who have requested to be hidden from Kontakto platform by default. You can use advanced search to get all companies and do the filtering manually.

Use Cases: Perfect for autocomplete dropdowns, company selection forms, and quick company lookups. Returns essential company information including business ID, name, auxiliary names, and Kontakto rating.

Authorizations:
apiKeyAuth
query Parameters
q
string
Example: q=Ratkaisu

Search query

limit
string
Example: limit=10

Maximum number of results

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "estimatedTotalHits": 0,
  • "processingTimeMs": 0
}

Advanced company search

Advanced company search with filtering and field projection capabilities.

Filtering: Use operations =, !=, >=, >, <=, <, IN, NOT IN, TO, EXISTS, NOT EXISTS, IS NULL, IS NOT NULL, IS EMPTY, IS NOT EMPTY, CONTAINS, NOT CONTAINS, STARTS WITH, NOT STARTS WITH

Field Projection: Use the fields parameter to specify which fields to include in the response. You can use any fields specified in the company schema, including nested fields with dot notation (e.g., kontaktoRating.color). If omitted, returns complete company data.

Authorizations:
apiKeyAuth
Request Body schema: application/json
q
string

Search query

filter
string

Filter syntax

fields
string

Comma-separated list of fields to include in the response. Use dot notation for nested fields (e.g., 'kontaktoRating.color'). If omitted, returns complete company data. Examples: 'businessId,businessName' for minimal data, 'businessId,businessName,kontaktoRating.color,address.city' for specific fields.

limit
number
Default: 10

Maximum number of results (1-100, default: 10)

offset
number
Default: 0

Number of results to skip

Responses

Request samples

Content type
application/json
{
  • "q": "Kontakto",
  • "filter": "kontaktoRating.color = \"green\" AND postalAddress.city = \"Helsinki\"",
  • "fields": "businessId,businessName,kontaktoRating.color,address.city,website",
  • "limit": 10,
  • "offset": 0
}

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "query": "Kontakto",
  • "processingTimeMs": 15,
  • "limit": 10,
  • "offset": 0,
  • "estimatedTotalHits": 471
}

Postal Codes

Search postal codes

Search Finnish postal codes with comprehensive location information. Returns postal code details including municipality names in Finnish and Swedish, administrative areas, and geographic codes. Ideal for address validation and location-based applications.

Authorizations:
apiKeyAuth
query Parameters
q
string
Example: q=Helsinki

Search query

limit
string
Example: limit=10

Maximum number of results

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "estimatedTotalHits": 0,
  • "processingTimeMs": 0
}

Addresses

Address search (typeahead)

Fast address suggestions for checkout forms, registration workflows, and autocomplete functionality. Returns essential address information optimized for user interface components including unique address identifiers for form handling.

Authorizations:
apiKeyAuth
query Parameters
q
required
string >= 2 characters
Example: q=Mannerheimintie

Search query (minimum 2 characters)

limit
string
Example: limit=10

Maximum number of results

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "estimatedTotalHits": 0,
  • "processingTimeMs": 0,
  • "source": "Suomen ympäristökeskuksen (Syke)"
}

Advanced address search

Advanced address search with filtering and field projection capabilities. Ideal for complex queries requiring detailed address information with geographic coordinates and municipality data.

Filtering: Use operations =, !=, >=, >, <=, <, IN, NOT IN, TO, EXISTS, NOT EXISTS, IS NULL, IS NOT NULL, IS EMPTY, IS NOT EMPTY, CONTAINS, NOT CONTAINS, STARTS WITH, NOT STARTS WITH

Field Projection: Use the fields parameter to specify which fields to include in the response. You can use any fields specified in the address schema, including nested fields with dot notation (e.g., coordinates.longitude). If omitted, returns complete address data.

Pagination: Use limit and offset parameters for result pagination. The hasMore field indicates if additional results are available.

Authorizations:
apiKeyAuth
Request Body schema: application/json
query
required
string non-empty

Search query

limit
number

Maximum number of results

offset
number

Number of results to skip

filters
Array of strings

Meilisearch filter expressions

fields
string

Comma-separated list of fields to include in the response. Use dot notation for nested fields (e.g., 'coordinates.longitude'). If omitted, returns complete address data. Examples: 'id,addressFin,postalCode' for minimal data, 'id,addressFin,postalCode,coordinates' for specific fields.

Responses

Request samples

Content type
application/json
{
  • "query": "Mannerheimintie Helsinki",
  • "limit": 20,
  • "offset": 0,
  • "filters": [
    ],
  • "fields": "id,addressFin,postalCode,coordinates"
}

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "estimatedTotalHits": 0,
  • "processingTimeMs": 0,
  • "query": "string",
  • "limit": 0,
  • "offset": 0,
  • "hasMore": true,
  • "source": "Suomen ympäristökeskuksen (Syke)"
}

Get single address by ID

Fetch complete address information by unique address identifier. Returns detailed address data including building information, coordinates, and all available fields.

Authorizations:
apiKeyAuth
path Parameters
id
required
string
Example: b75f82f3-4075-461a-b033-aa35724a3155

Unique address identifier

Responses

Response samples

Content type
application/json
{
  • "id": "b75f82f3-4075-461a-b033-aa35724a3155",
  • "addressFin": "Mannerheimintie 1",
  • "addressSwe": "Mannerheimvägen 1",
  • "addressNameFin": "Mannerheimintie",
  • "addressNameSwe": "Mannerheimvägen",
  • "numberPartOfAddressNumber": 71,
  • "postalCode": "00100",
  • "postalOfficeFin": "Helsinki",
  • "postalOfficeSwe": "Helsingfors",
  • "municipalityNumber": "091",
  • "domicileCode": "091",
  • "coordinates": {
    },
  • "country": "FI",
  • "buildings": [
    ]
}