Skip to main content

Technical description of the test use service for the Property Transaction Query Service (OGC API Features)

Content of the technical description of the test use service

General

Sources and products

Queries and examples

Examples

General

The test use service allows free test use of the licensed products of the purchase price register. The products contain information about property transactions and other property conveyances.

The material in the service is test data and may only be used for testing. The test data is based on the purchase price register from 10/2020, with the purchase prices changed, and personal data anonymised. The test data also includes fictitious data.

You need a test use permit and a user ID to use the service. See more at: Become a user.

In addition, your organisation must also join the Suomi.fi Data Exchange Layer test environment to activate the test use service; read more about the Data Exchange Layer.

In the production service of the property transaction query service (OGC API Features), the organisation must have joined the production environment of the Suomi.fi Data Exchange Layer.

Read more about deploying different Data Exchange Layer environments.

The test use service is available with standard OGC API Features through the Suomi.fi Data Exchange Layer test environment. The test use service has been published in the Suomi.fi Data Exchange Layer test environment API Catalogue. The API description can be obtained from the query service – see Conformance and products.

The service supports two types of data query: use of the query service in accordance with the standard OGC API Features; and asynchronous API queries. Detailed descriptions are available through the drop-down menu under Queries and examples.

Product packages and service addresses

The following table describes the service product packages. Please note that only the product with the broadest data content of each product package is available for asynchronous interface queries.

The data collections of the interface are in GeoJSON format.

Product packageProducts in current and change-related data queriesäProducts in initial load queriesService address
In other documentation, the service address is referred to as [SERVICE ADDRESS]
 
Information from the purchase price register with personal identity code
  • Detailed information about the property transfer
  • Detailed information about the property transfer without personal identity codes
  • Detailed information about the property transfer without personal data
  • Identifying data of the property transfer (Simple)
     
• Detailed information about the property transfer

https://[SERVICE ADDRESS]
 

Where [SERVICE ADDRESS] =
[HOST]/r1/FI-TEST/GOV/0245954-4/
KiinteistokaupatKyselypalveluKoekaytto/
viranomainen-laaja/features/v1/
where [HOST] is the customer's interface server
 

 

Information from the purchase price register without a personal identity code• Detailed information about the property transfer without personal identity codes
• Detailed information about the property transfer without personal data
• Identifying data of the property transfer (Simple)
 
• Detailed information about the property transfer without personal identity codes
https://[SERVICE ADDRESS]
where [SERVICE ADDRESS] =
[HOST]/r1/FI-TEST/GOV/0245954-4/
KiinteistokaupatKyselypalveluKoekaytto/
viranomainen-ilman-henkilotunnuksia/features/v1/
where [HOST] is the customer's interface server
 
Information from the purchase price register without the personal identity data of natural persons• Detailed information about the property transfer without personal data
• Identifying data of the property transfer (Simple)
 
• Detailed information about the property transfer without personal data

https://[SERVICE ADDRESS]
where [SERVICE ADDRESS] =
[HOST]/r1/FI-TEST/GOV/0245954-4/
KiinteistokaupatKyselypalveluKoekaytto/
perus-ilman-henkilotietoja/features/v1/
where [HOST] is the customer's interface server
 

 

Conformance and products

Service address (landing page):

The service address of each product package is listed in the "Product Packages" table and is referred to in the documentation as follows: [SERVICE ADDRESS]

Supported conformance classes:
https://[SERVICE ADDRESS]conformance

Collections provided by the service and supported coordinate systems:
https://[SERVICE ADDRESS]collections

API description (Open API 3.0 -compliant description, which includes the available query parameters)
https://[SERVICE ADDRESS]api

queryables, i.e. collections such as KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja. The response contains the query parameters available for the filter section of the query:
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/queryables
 

Coordinate systems

WGS 84 lon-lat geographic coordinates (CRS84) are used by default in accordance with the OGC API Features standard and the GeoJSON specification. The service also supports the projected coordinate systems ETRS-TM35FIN, ETRS-TM34..36 and ETRS-GK19..31FIN, the WGS84 coordinate system with identifier EPSG:4326, the ETRS89 (2D) geographic coordinate system, and the Web Mercator coordinate system.

Reference data

Some search parameters and certain features of property data items have been modelled as code values, whose descriptions have been published through a separate service. The code lists for the test service are available in the Suomi.fi Reference Data test service at: https://koodistot.test.yti.cloud.dvv.fi/registry;registryCode=khr

In the production service, the code lists can be found in the Suomi.fi Reference Data service.

The product schemata include a URI reference to the corresponding code list for each product feature if the property is of the code list type (the URI reference to the code list is in the ‘externalDocs’ field). In addition, the ‘enum’ field lists the code values that can appear in the data for the given information, and the ‘description’ field lists the code values and their corresponding explanations in Finnish. The corresponding information is available in the Open API description under the query parameters of the code type.

End-user logging

The use of the test use service does not need to be logged. The deployment of production services requires compliance with security requirements such as user management and logging.

Dataset

The data stored in the purchase price register (read more in Finnish) is transferred to the information service in the early morning from Monday to Saturday (in normal circumstances before 5 a.m.), and upon successful transfer, the current date is set as the register status date. In the test use service, the data is transferred from the test database of the Purchase Price Register.

The register status date is available in the service products, where it is presented in JSON format in the meta section:

  • rekisteritilannepvm
    • The current date of the Purchase Price Register information service. Indicates the date of the information provided in the service.

The register status date can also be queried for free with a separate metadata query.

Example of a metadata query for the product KiinteistonluovutuksenTunnistetiedot. (It is sufficient to query the information about one product because the register status date is the same for all products):
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/metadata
 

Products

The descriptions of the products are available in the table below. The information content is described in UML diagrams and in the written descriptions (PDF). Their purpose is to provide an overview of the information content of the products. They do not describe the technical structure of the products, and it is therefore impossible to infer the structural format of the JSON response from them. The collection schema describe the technical structure. Each collection schema can be queried from the service. For example, the schema for the product KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja is requested as follows: https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/schema

Examples of the products are also available in JSON format under the heading API query service products (the examples are queried from the service).

ProductDescriptionInformation
Detailed information about the property transfer.pdf

UML charts (in Finnish):

Detailed information about the property transfer (.pdf)

Sub-charts (in Finnish):

Characteristics of the property transfer (.pdf)

Properties transferred  (.pdf)

Parties of the property transfer (.pdf)

Procedures of the property transfer  (.pdf)

Detailed information about the property transfer without personal identity codes.pdf

UML charts (in Finnish):

Detailed information about the property transfer 

without personal identity codes  (.pdf)

Sub-charts (in Finnish):

Characteristics of the property transfer (.pdf)

Properties transferred (.pdf)

Parties of the property transfer (.pdf)

Procedures of the property transfer (.pdf)

Detailed information about the property transfer without personal data.pdf

UML charts (in Finnish):

Detailed information about the property transfer without personal data (.pdf)

Sub-charts (in Finnish):

Characteristics of the property transfer  (.pdf)

Properties transferred  (.pdf)

Parties of the property transfer (.pdf)

Identifying data of the property transfer (Simple).pdf

UML charts (in Finnish):

 Identifying data of the property transfer (.pdf)

API query service products

ProductExamples

Detailed information about the property transfer

 

FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenLaajatTiedot

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-125989

  • Many areas, many register units, retained parcels, recipient: natural person

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-101549

  • Parcels, recipient: legal persons

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-171101

  • Unseparated parcel of a register unit, gift

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2002-108086

  • Denomination in FIM
     

 

Detailed information about the property transfer without personal identity codes

 

FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2014-125989

  • Many areas, many register units, retained parcels, recipient: natural person

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2014-101549

  • Parcels, recipient: legal persons

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2014-171101

  • Unseparated parcel of a register unit, gift

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2002-108086

  • Denomination in FIM

Detailed information about the property transfer without personal data

 

FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja
/items?kiinteistonluovutustunnus=L2014-125989

  • Many areas, many register units, retained parcels, recipient: natural person

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja
/items?kiinteistonluovutustunnus=L2014-101549

  • Parcels, recipient: legal persons

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistonluovutustunnus=L2014-171101

  • Unseparated parcel of a register unit, gift

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistonluovutustunnus=L2002-108086

  • Denomination in FIM
Identifying data of the property transfer 

FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenTunnistetiedot

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot
/items?kiinteistonluovutustunnus=L2014-125989

  • valid property transfer

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot
/items?kiinteistonluovutustunnus=L2014-143036
 

  • terminated property transfer

 

The service supports two types of data query: use of the query service and asynchronous API queries. 

Use of the query service

Use of the query service is done in compliance with the OGC API Features standard (https://ogcapi.ogc.org/features/). It allows a variety of query options for the data in the Purchase Price Register (current-data queries) and all products in the customer's product package. However, downloading large datasets (e.g. initial download for the whole of Finland) is not supported.

One of the query terms is to retrieve changed items (new and changed items from the given register status date to the register status date at the time of the query, query parameter: muutostietojenIrrotuksenAlkupvm). The service can also be used to query only new property transfers within a specific time period. However, maintaining an complete register copy requires both the inclusion of new and changed data, as well as a complete starting point on which changes are applied. The property transfer identifier is used as the unique identifier.

Please note that there is a per-query fee for the “Identifying data of the property transfer” product in production use, while all other products are charged per product (= price per returned item).

The query service can be used to determine the total number of items that match the query criteria (OGC-NumberMatched) and how many items the service would return as a subset of the first query (OGC-NumberReturned).

Querying the number of items is free. An example of a query for the number of items is available below under "Using the OGC API Features service".

Examples of possible query methods

The location of the property transfer has been saved as a point. Property transfers can be queried using bbox queries (rectangular selection), for example.

In addition, the system offers versatile options for location queries in accordance with OGC API - Features - Part 3.

The following are some of the location selection methods available in accordance with Part 3:
•    point with radius
•    line string with buffer (distance from line)
•    polygon
•    polygon with buffer (distance from outer ring of polygon)
 

The query can also select an area based on feature data. A wide range of query parameters are available. Examples of the query parameters available:
•    municipality code or name (at the time of property transfer)
•    property identifier of the transferred item
•    unseparated parcel identifier of the transferred item
•    property transfer code
•    purchase price, date of the property transfer, purpose of use of the property transfer (e.g. holiday home site), adjacence to the shore, surface area, etc.

The query parameters are the same for all products of the same product package. 

The query parameters can be freely combined.

When using a query parameter related to surface areas (e.g. maapintaalaYhteensa, metsamaanPintaala, etc.), it is not recommended to set the lower limit to 0. (This may not query every item because the surface area is not set for all of them.)

In addition, example queries in the products for different use cases are available in the Examples drop-down menu.

Asynchronous API queries

Asynchronous API queries are intended to be used when a large amount of data needs to be retrieved from the service, such as an initial download of the entire country (i.e. the entire content of the register). They can also be used to request changed items (new and changed items from a given register status date to the register status date at the time of the query), i.e. to maintain a complete register copy (or a copy of a part of the register) after the initial download, or if there is already a complete register, to start downloading new and changed items on top of it. The property transfer identifier is used as the unique identifier.

The asynchronous data retrieval request (execution) made by the client application launches a batch job, the status of which can be monitored via the link received in response. When the batch job has been successfully completed ("status": "successful"), the response indicating the status of the batch job also includes a link to the results query, which provides the user with links to the downloadable result files in JSON format. The JSON file containing the file links must be saved if the client application wants to retrieve the generated result files later.

It should be noted that the service address of the product package must be added to the beginning of the links returned in the different phases of the batch job.

Result files are stored for 30 days, but the data is based on the register status at the time of retrieval. See also the register status date in more detail in the Sources and products drop-down menu.

This operation also differs from the query service in the following respects:
•    cannot query the number of items in advance
•    cannot limit the number of items with the limit parameter
•    all survey items are always returned as result files (no maximum limit value is used)
•    print files do not contain next links or allow streaming (paging)

The client application can list the batch processing processes available in the service with the following command (GET /collections/<collectionId>/processes). For example:
 

https://[SERVICE ADDRESS]KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/processes

Example of a response to a processes query:
{
 "processes" : [ {
   "id" : "items",
   "version" : "1.0.0",
   "jobControlOptions" : [ "async-execute" ],
   "outputTransmissions" : [ "reference" ],
   "links" : [ {
     "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/processes/items",
     "rel" : "self"
   } ]
 } ],
 "links" : [ {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/processes",
   "rel" : "self"
 } ]
}
 

The following describes an example of how to use an asynchronous API query. In the example, all property transfers for one municipality (municipality code = 143) are retrieved (in the test use service, property transfers are test data). The answer is desired in the ETRS-TM35FIN coordinate system (EPSG:3067).

The product package used in the example is: "Data in the purchase price register without personal identification data of natural persons", in which the product with the broadest data content is KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja.

  1. The client application makes a data retrieval request by initiating the batch retrieval process execution query with the chosen query parameters (in the example: municipality code=143) (GET /collections/<collectionId>/processes/<processId>/execution?<parameters>)

The Open API specification’s query parameters are available.

For example:
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/processes/items/execution?kuntatunnus=143&crs=http://www.opengis.net/def/crs/EPSG/0/3067

After the execution query, the interface returns a link to the unique batch job started by the process. 

Example of an execution query response:
{
"links" : [ {
  "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861",
  "rel" : "job",
  "type" : "application/json"
} ]
}

2. The client application can monitor the progress of the batch job with the unique link to the batch job (GET /collections/<collectionId>/jobs/<jobId>), such as in this example case:


https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861

The query returns the status of the batch job as the response. The status of a successful batch job is "successful". A successful batch job also returns a link to the results query, which includes links to the downloadable files for the client.

Example of a successfully completed batch job response:
{
"type" : "process",
"jobID" : "446f9895-9a61-45da-ab3b-9294b800c861",
"status" : "successful",
"created" : "2026-02-13T15:04:08.704406329Z",
"started" : "2026-02-13T15:04:08.707631719Z",
"finished" : "2026-02-13T15:04:27.557029095Z",
"updated" : "2026-02-13T15:04:27.557069241Z",
"progress" : 0,
"links" : [ {
  "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results",
  "rel" : "results",
  "type" : "application/json"
} ]
}

If necessary, the following command can list all available batch jobs: GET /collections/<collectionId>/jobs

3.   The client application sends a results query (GET /collections/<collectionId>/jobs/<jobId>/results), for example: 

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results

Example of a response to the results query. The response is a JSON file that contains links to downloadable output files:

{
 "jobID" : "446f9895-9a61-45da-ab3b-9294b800c861",
 "status" : "successful",
 "progress" : 0,
 "links" : [ {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results/batches/1.json",
   "rel" : "result",
   "type" : "application/geo+json"
 }, {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results/batches/2.json",
   "rel" : "result",
   "type" : "application/geo+json"
 }, {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results/batches/3.json",
   "rel" : "result",
   "type" : "application/geo+json"
 }, {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results/batches/4.json",
   "rel" : "result",
   "type" : "application/geo+json"
 }, {
   "href" : "collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/jobs/446f9895-9a61-45da-ab3b-9294b800c861/results/batches/5.json",
   "rel" : "result",
   "type" : "application/geo+json"
 } ]
}
 

More examples of asynchronous interface queries adapted to different use cases are available in the Examples drop-down menu. In particular, asynchronous interface queries are used to maintain a complete register copy or a part of it. 

Using the OGC API Features service

Here is a short guide on how to use the OGC API Features API service. The examples use the following products: KiinteistonluovutuksenTunnistetiedot and KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja. The Open API description includes the possible service queries for different products and their query parameters.

The service address of each product package is listed in the "Product packages" table and is referred to in the example cases as follows: [SERVICE ADDRESS]

Further example queries in the products for different use cases are available in the Examples drop-down menu.
 

Query for a topographic feature with its identifier

The response is in GeoJSON format:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items/42602656?

If the customer maintains their own copy of the register or a part thereof, the property transfer identifier is used as the unique identifier.
 

Pagination of answers

The service is implemented in accordance with the OGC API Features interface and has good support for the pagination of item products. For example, the following query returns a subset of the KiinteistonluovutuksenTunnistetiedot product, i.e. the first 100 items:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?limit=100
The response will include 100 items, as well as a link to the next 100 items at the end of the response, e.g.:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?next=MTAwOg%3D%3D&limit=100

This in turn returns the survey link to the next subset, and so on.

If the limit parameter has not been specified in the query, the service uses the default value defined in the API description. The default limit value of the service is subject to change.

The API description also defines the maximum value for the limit parameter, which is the maximum number of items that a client application can request to be displayed in a subset of a query. The maximum limit value of the service is subject to change.

From the perspective of usability, it is good to query with the most suitable limit value for the current use case of the client application.
 

Querying the number of items

The HEAD operation is used to query the number of items. The returned data includes the OGC headers.

For a given query, it is possible to determine the total number of items that match the query criteria (OGC-NumberMatched) and how many items the service would return as a subset of the first query (OGC-NumberReturned). 

For example, if you want to know how many items meet the following query criteria: query KiinteistonluovutuksenTunnistetiedot for the identification data of property transfers in Espoo (kuntatunnus=049) that are valid (olotila=1), where one of the types of property transfer is a property transaction (kiinteistonluovutuslaji=1), and the primary purpose of use (kayttotarkoitustiedonEnsisijaisuuslaji=1) is a holiday home site (kiinteistonluovutuksenKayttotarkoituslaji=703). Make a HEAD query:

curl -H "Authorization:Basic [HASH]" -H "X-Road-Client:[CLIENT]" -I "https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?kuntatunnus=049&olotila=1&kiinteistonluovutuslaji=1&kayttotarkoitustiedonEnsisijaisuuslaji=1&kiinteistonluovutuksenKayttotarkoituslaji=703"

The query is free of charge.
 

Coordinate systems and rectangular boundaries

The default is a bbox rectangular boundary, and the geometries of the topographic features to be returned as a response contain WGS 84 coordinates (CRS80), for example:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?&bbox=22.15,63.45,22.2,63.5

Boundary with ETRS-TM35FIN coordinates (EPSG:3067) is done with the bbox-crs parameter, for example:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?bbox=116000,6654000,140000,6666000&bbox-crs=http://www.opengis.net/def/crs/EPSG/0/3067

The previous example returns the geometry of the items as WGS 84 coordinates. If you also want to project the response in another coordinate system, you can use the crs parameter. If you only want to search for valid items, add the query term olotila=1 to the query, as shown here:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&bbox=116000,6654000,140000,6666000&bbox-crs=http://www.opengis.net/def/crs/EPSG/0/3067&crs=http://www.opengis.net/def/crs/EPSG/0/3067

A list of the identifiers of the supported coordinate systems is available at:

https://[SERVICE ADDRESS]collections
 

Diverse location queries

The chosen location operation and the desired location boundary are given in the filter parameter.

By default, the location boundary is given in WGS 84 coordinates (CRS80).

Location boundaries with ETRS-TM35FIN coordinates (EPSG:3067) are given with a filter-crs parameter.

The first example uses the S_INTERSECTS location operation and queries for valid KiinteistonluovutuksenTunnistetiedot items with the given free area boundary (POLYGON). The location boundary is given in the ETRS-TM35 coordinate system. The answer is also requested in the ETRS-TM35 coordinate system.

The response contains the valid KiinteistonluovutuksenTunnistetiedot objects that are located within or on the border of the free area boundary.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&filter=S_INTERSECTS(geometry,POLYGON((573442%206986417,580025%206986572,579888%206992142,573316%206991987,573442%206986417)))&filter-crs=http://www.opengis.net/def/crs/EPSG/0/3067&filter-lang=cql2-text&crs=http://www.opengis.net/def/crs/EPSG/0/3067

The first example uses the S_INTERSECTS location operation and queries for valid KiinteistonluovutuksenTunnistetiedot items within a given radius (100 metres) from a given point (POINT). The location boundary is given in the ETRS-TM35 coordinate system. The answer is also requested in the ETRS-TM35 coordinate system.

The response contains the valid KiinteistonluovutuksenTunnistetiedot objects that are located within or on the border of the area that is 100 metres from the point.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&filter=S_INTERSECTS(geometry,BUFFER(POINT(533598%206972406),100))&filter-crs=http://www.opengis.net/def/crs/EPSG/0/3067&filter-lang=cql2-text&crs=http://www.opengis.net/def/crs/EPSG/0/3067
 

Boundaries based on feature data

This example queries valid property transfers of one register unit using the kiinteistotunnus parameter. The requested product is KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistotunnus=58140900050039&olotila=1

Valid property transfers for multiple register units can be queried with a single query by listing comma-separated property identifiers (in which case the values are processed according to the OR operation, which in this example are "58140900050039" or "62540500630000"). The requested collection is KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja:

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistotunnus=58140900050039,62540500630000&olotila=1
 

 

Maintaining a complete copy of the register

The initial download query and change data queries are performed consistently with asynchronous API calls; see the chapter “Queries and examples” for technical details on using asynchronous interface queries.

The process from the client's perspective

  • the client application retrieves the initial download of data from the API, which specifies the date of the Purchase Price Register data service record to which the initial download corresponds (the date is available in the metadata of the response under the rekisteritilannepvm)
    • The client application stores the information about the successful retrieval – see the example for more details
  • the client application retrieves the first change data set from the API, with the date of the successful retrieval saved in the previous section as the limit, and the response indicates the date of the purchase price register data service register to which the returned change data corresponds (the date is available in the response metadata under the name rekisteritilannepvm)
    • the client application stores the information about the successful retrieval – see the example for more detail
  • etc

The customer application must use the property transfer identifier (kiinteistonluovutustunnus) as the unique identifier for updating its internal storage. If the client application mainly wants the property transfers with completed data content, this can be achieved by requesting change data with a certain delay such as once per month. The information content is not always completed when a new property transfer is registered because not all information about property transfers is not added to the Purchase Price Register until after the fact.

Both the retrieval of the original data and the retrieval of the change data should be scheduled between Monday and Saturday and during the early morning, after 5 a.m, which is when the register status has normally been updated to reflect the current day.


Maintaining a complete copy of the register for the whole of Finland or for the desired municipality

The example uses the KiinteistonluovutuksenLaajatTiedot product and the ETRS-TM35FIN coordinate system (EPSG:3067) 

  • the client application retrieves the initial download from the interface; in the example, the initial download is requested on Mon 16 Feb 2026 at 6 a.m.
    • if desired, the registration status can be verified before starting the data retrieval. On Mondays–Saturdays and after 5 a.m, this status should be the current day. On Sundays, the status is normally that of the previous day. The register status is queried with the following query: https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/metadata
      • For this example, the response is:
        • {
           "rekisteritilannepvm" : "2026-02-16"
            }
      • Examples of initial download queries
        • Example 1: an initial download query of the whole of Finland:

          https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?crs=http://www.opengis.net/def/crs/EPSG/0/3067

        • Example 2: an initial download query for one municipality (in the example, the municipality code used is 420)

          https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?kuntatunnus=420&crs=http://www.opengis.net/def/crs/EPSG/0/3067

        • Example 3: an initial download query for one municipality (in the example, the municipality code used is 420). Only those property transfers from the specified municipality are to be retrieved where the purpose of use for the property transfer is a holiday home site (kiinteistonluovutuksenKayttotarkoituslaji=703) 

          https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?kuntatunnus=420&kiinteistonluovutuksenKayttotarkoituslaji=703&crs=http://www.opengis.net/def/crs/EPSG/0/3067

  • the client application retrieves the initial download; see the use of the asynchronous API query in the “Queries and examples” chapter
  • the client application saves the successful response for rekisteritilannepvm (the information is saved from the first results file in the links section of the JSON response)
    • Example of the rekisteritilannepvm data at the end of the first results file:
      • "meta":{"rekisteritilannepvm":"2026-02-16"}
  • The client application retrieves the first change data set from the API; in the example, the change data set is requested on Tuesday, 17 February 2026, at 6 a.m.
    • the register status can be verified before the data retrieval process begins, such as by retrieving the initial data set as described with https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/metadata
    • Example queries for change data
      • Example 1: a change data query for the whole of Finland:

        https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?muutostietojenIrrotuksenAlkupvm=2026-02-16&crs=http://www.opengis.net/def/crs/EPSG/0/3067

        • where the muutostietojenIrrotuksenAlkupvm data is given as the successfully retrieved register status date from the previous section (rekisteritilannepvm)
      • Example 2: a change data query for one municipality (in the example, the municipality code used is 420)

        https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?muutostietojenIrrotuksenAlkupvm=2026-02-16&kuntatunnus=420&crs=http://www.opengis.net/def/crs/EPSG/0/3067

        • where the muutostietojenIrrotuksenAlkupvm data is given as the successfully retrieved register status date from the previous section (rekisteritilannepvm)
      • Example 3: a change data query for one municipality (in the example, the municipality code used is 420). Only those property transfers from the specified municipality are to be retrieved where the purpose of use for the property transfer is a holiday home site

        https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/processes/items/execution?muutostietojenIrrotuksenAlkupvm=2026-02-16&kuntatunnus=420&kiinteistonluovutuksenKayttotarkoituslaji=703&crs=http://www.opengis.net/def/crs/EPSG/0/3067

        • where the muutostietojenIrrotuksenAlkupvm data is given as the successfully retrieved register status date from the previous section (rekisteritilannepvm)
  • the client application retrieves the set of changed data; see the use of the asynchronous API query in the Queries and examples chapter
  • the client application saves the successful response for rekisteritilannepvm (the information is saved from the first results file in the links section of the JSON response)
    • Example of the rekisteritilannepvm data at the end of the first results file:
      •  "meta":{"rekisteritilannepvm":"2026-02-17"}
  • etc.

In initial download and change data queries, it is possible to limit the query with the same query parameters as are available in the query service (e.g. examples 2 and 3 above). However, it is important to ensure that the query parameters are consistent between the initial download query and the change data query to retain data integrity.

If the client application has an internal status that corresponds to a specific point in time, the change data download can be scheduled by setting the muutostietojenIrrotuksenAlkupvm of the change data to that of the complete register.
 

Examples of current data queries

(for the query service)

Product: KiinteistonluovutuksenTunnistetiedot

Query for the identification data of valid (olotila=1) property transfers with a property transfer date between 1 Jan 2019 and 31 Dec 2019 from the area delimited by a rectangle. In addition, the agreement type of the property transfer is limited to include only actual property transfers (kiinteistonluovutuksenSopimuslaji=1), i.e. preliminary agreements are not included. The location boundary is given in the ETRS-TM35 coordinate system. The answer is also requested in the ETRS-TM35 coordinate system.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&kiinteistonluovutuksenSopimuslaji=1&filter=kiinteistonluovutuspvm%3E=DATE(%272019-01-01%27)%20AND%20kiinteistonluovutuspvm%3C=DATE(%272019-12-31%27)&filter-lang=cql2-text&crs=http://www.opengis.net/def/crs/EPSG/0/3067&bbox=116000,6654000,140000,6666000&bbox-crs=http://www.opengis.net/def/crs/EPSG/0/3067&f=json

The identification data of the property transfer is queried with the property transfer code

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot
/items?kiinteistonluovutustunnus=L2014-125989&f=json


Query for the valid (olotila=1) property transfer identification data in Tampere (kuntatunnus=837) with transfer dates between 1 Oct 2024 and 31 Dec 2024. The answer is desired in the ETRS-TM35 coordinate system.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&kuntatunnus=837&filter=kiinteistonluovutuspvm%3E=DATE(%272024-10-01%27)%20AND%20kiinteistonluovutuspvm%3C=DATE(%272024-12-31%27)&filter-lang=cql2-text&crs=http://www.opengis.net/def/crs/EPSG/0/3067&f=json

Query for the valid (olotila=1) property transfer identification data in Espoo (kuntatunnus=049), where the property transfer type is a property transaction (kiinteistonluovutuslaji=1) and whose primary purpose of use (kayttotarkoitustiedonEnsisijaisuuslaji=1) is a holiday home site (kiinteistonluovutuksenKayttotarkoituslaji=703)

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?kuntatunnus=049&olotila=1&kiinteistonluovutuslaji=1&kayttotarkoitustiedonEnsisijaisuuslaji=1&kiinteistonluovutuksenKayttotarkoituslaji=703

Query for all property transfers in Finland with a purchase price of at least EUR 100,000 and no more than EUR 200,000. The answer is desired in the ETRS-TM35 coordinate system. The queried product is KiinteistonluovutuksenTunnistetiedot.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?olotila=1&filter=kauppahintaEuroina+BETWEEN+100000+AND+200000&crs=http://www.opengis.net/def/crs/EPSG/0/3067&f=json

Query for all newly recorded property transfers from 1 Dec 2025 to 31 Jan 2026. The answer is desired in the ETRS-TM35 coordinate system. The queried product is KiinteistonluovutuksenTunnistetiedot. (The query is not limited to the status of the property transfer, i.e. it includes both existing and potentially terminated transfers)

Please note: This query is not intended for maintaining a complete copy of the register. To do so, follow the specific instructions.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot/items?filter=rekisterointipvm%3E=DATE(%272025-12-01%27)%20AND%20rekisterointipvm%3C=DATE(%272026-01-31%27)&filter-lang=cql2-text&crs=http://www.opengis.net/def/crs/EPSG/0/3067&f=json

Product: KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja

Query for the valid property transfers for a single register unit with the property identifier parameter. The queried product is KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistotunnus=58140900050039&olotila=1

Single query for the valid property transfers for multiple register units by listing the comma-separated property identifiers. The queried product is KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja.

https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistotunnus=58140900050039,62540500630000&olotila=1