Technical description of the Property Transaction Query Service (OGC API Features)
Content of the technical description
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 service provides access to the licensed products of the purchase price register. The products contain information about property transactions and other property transfers since 1985. The data is produced from the purchase price register.
You need a KHR permit and a user ID to test the products. See more at: Become a user.
In addition, your organisation must join the Suomi.fi Data Exchange Layer production environment to activate the service; read more about the Data Exchange Layer.
Read more about deploying different Data Exchange Layer environments.
The service is available with standard OGC API Features through the Suomi.fi Data Exchange Layer’s production environment. The service has been published in the Suomi.fi Data Exchange Layer’s 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 products of the interface are provided in the 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 •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/GOV/0245954-4/ KiinteistokaupatKyselypalvelu/ 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/GOV/0245954-4/ KiinteistokaupatKyselypalvelu/ 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/GOV/0245954-4/ KiinteistokaupatKyselypalvelu/ 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
Products 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. products 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 service are available in the Suomi.fi Reference Data service at: https://koodistot.suomi.fi/registry;registryCode=khr
It is worth noting that in the pilot/BETA service, the code lists are available at a different address.
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 server system of the property transaction query service (OGC API Features) also logs information about the end user identified in the client application if the client application transmits an identifier of the end user to the interface service with each query.
Technically, in the API service queries, the identifier must be transmitted as an HTTP standard Request Header field named "enduserid", and its value must be a string (no spaces, max. length 60 characters). Otherwise, the content of the string may be determined by the client application but so that the administrator of the client application is able to identify the end user based on the identifier.
Further general information about HTTP Request Header fields: https://developer.mozilla.org/en-US/docs/Glossary/Request_header
Verify the functionality of the log transfer by contacting the National Land Survey of Finland at verkkopalvelut@maanmittauslaitos.fi.
Log data must be retained for six years, after which it must be deleted.
Sources and products
Dataset
The data stored in the purchase price register (website 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.
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 oneproduct 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 productss, and it is therefore impossible to infer the structural format of the JSON response from them. The product schema describes the technical structure. Each product 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: the 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 a 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 product 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 Materials 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 are retrieved for a single municipality (kuntatunnus=143). 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: kuntatunnus=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 theproducts 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 collection, 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
Käytettävä sijaintioperaatio ja haluttu sijaintirajaus annetaan filter-parametrissa.
Oletuksena annettava sijaintirajaus sisältää WGS 84 koordinaatteja (CRS80).
Sijaintirajaus ETRS-TM35FIN koordinaateilla (EPSG:3067) annetaan filter-crs parametrin avulla.
Ensimmäisessä esimerkissä on käytetty S_INTERSECTS-sijaintioperaatiota ja haetaan voimassaolevia KiinteistonluovutuksenTunnistetiedot-kohteita annetulla vapaalla aluerajauksella (POLYGON). Sijaintirajaus on annettu ETRS-TM35 koordinaatistossa. Myös vastaus halutaan ETRS-TM35 koordinaatistoon.
Vastauksena saadaan ne voimassaolevat KiinteistonluovutuksenTunnistetiedot-kohteet, jotka sijaitsevat vapaan aluerajauksen sisällä tai rajalla.
https://[PALVELUOSOITE]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
Toisessa esimerkissä on käytetty S_INTERSECTS-sijaintioperaatiota ja haetaan voimassaolevia KiinteistonluovutuksenTunnistetiedot-kohteita annetun säteen etäisyydeltä (100 m) annetusta pisteestä (POINT). Sijaintirajaus on annettu ETRS-TM35 koordinaatistossa. Myös vastaus halutaan ETRS-TM35 koordinaatistoon.
Vastauksena saadaan ne voimassaolevat KiinteistonluovutuksenTunnistetiedot-kohteet, jotka sijaitsevat sen alueen sisällä tai rajalla, joka on 100 m etäisyydellä annetusta pisteestä.
https://[PALVELUOSOITE]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
Filters based on feature data
This example queries valid property transfers of one register unit using the kiinteistotunnus parameter. The queried 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 product 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 details
- 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 at the time a new property transfer is registered because not all information about property transfers is 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 collection 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 am
- 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"
}
- For this example, the response is:
- Examples of initial download queries
- Example 1: an initial download query for 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
- Example 1: an initial download query for the whole of Finland:
- 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/3067where 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/3067where 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)
- where the muutostietojenIrrotuksenAlkupvm data is given as the successfully retrieved register status date from the previous section (rekisteritilannepvm)
- Example 1: a change data query for the whole of Finland:
- 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"}
- "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 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 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 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 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