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
- Product packages and service addresses
- Conformance and products
- Coordinate systems
- Reference data
- End-user logging
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 package | Products in current and change-related data queriesä | Products in initial load queries | Service 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 | https://[SERVICE ADDRESS] Where [SERVICE ADDRESS] =
|
| 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]
|
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.
Sources and products
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).
| Product | Description | Information |
| Detailed information about the property transfer | UML charts (in Finnish): Detailed information about the property transfer (.pdf) Sub-charts (in Finnish): Characteristics of the property transfer (.pdf) Properties transferred (.pdf) | |
| Detailed information about the property transfer without personal identity codes | 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) | |
| Detailed information about the property transfer without personal data | 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) | |
| Identifying data of the property transfer (Simple) | UML charts (in Finnish): |
API query service products
| Product | Examples |
Detailed information about the property transfer
| FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenLaajatTiedot https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-125989
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-101549
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2014-171101
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedot/items?kiinteistonluovutustunnus=L2002-108086
|
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
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2014-101549
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2014-171101
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotunnuksia/items?kiinteistonluovutustunnus=L2002-108086
|
Detailed information about the property transfer without personal data
| FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistonluovutustunnus=L2014-171101
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenLaajatTiedotIlmanHenkilotietoja/items?kiinteistonluovutustunnus=L2002-108086
|
| Identifying data of the property transfer | FeatureCollection identifier (OGC API Features): KiinteistonluovutuksenTunnistetiedot https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot
https://[SERVICE ADDRESS]collections/KiinteistonluovutuksenTunnistetiedot
|
Queries and examples
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.
- 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
Examples
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
- For this example, the response is:
- 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
- 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"}
- Example of the rekisteritilannepvm data at the end of the first results file:
- 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"}
- Example of the rekisteritilannepvm data at the end of the first results file:
- 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