Gå til hovedinnhold
Beta! This documentation is automatically generated. Information may be incomplete or contain errors, especially screenshots and code samples. We'd love your feedback: use the "Did you find what you were looking for?" widget below, the chat in the bottom right, or email support@placepoint.no - we'll get back to you as soon as we can.

Placepoint API guide

The Placepoint API is a REST API for property, company and area data in Norway and Sweden: matrikkelnummer and fastighetsbeteckning lookups, owners, tenants, transactions, building permits, valuations, zoning and more, plus webhooks for change events. It uses OAuth2 client credentials, JSON bodies, cursor pagination and RFC 9457 error responses throughout.

Base URL and contact

The API is served from https://data.placepoint.no; api.placepoint.no becomes the host once the PropCloud APIs behind it are shut down.

Contact: support@placepoint.no.

This guide covers the parts that apply across the whole API. For request and response shapes, parameters and examples on a specific operation, use the operation pages listed under Every operation.

In this guide

  • Quickstart: a token, a property lookup, tenants, and a webhook subscription in under 10 minutes.
  • Authentication: the client-credentials grant, scopes, and getting a trial key.
  • Identifiers: matrikkelnummer, fastighetsbeteckning, organization schemes and address encoding.
  • Pagination and filtering: pageSize, pageToken, and which operations page.
  • Errors: the Problem Details body and the response types the spec uses.
  • Webhooks: CloudEvents payloads, signature verification, subscriptions.
  • Rate limits and quotas: rate-limit headers, the daily call cap, idempotency.
  • Sandbox: the demo properties a trial key can reach, until there is a separate sandbox host.
  • API lifecycle: what may change without notice, what counts as breaking, and the deprecation and sunset timeline.
  • Changelog: every change to the contract, newest first, with the version it shipped in.

Every operation

Generated from the spec; each row links its reference page for parameters, fields and examples.

MethodPathScopes
GET/.well-known/api-catalogpublic
GET/openapi.yamlpublic
GET/addresses/{country}/{address}properties.read
GET/coordinates/{country}/{lat}/{lon}properties.read
GET/properties/{country}/{cadastreId}properties.read
GET/properties/{country}/{cadastreId}/sectionsproperties.read
GET/properties/{country}/{cadastreId}/buildingsproperties.read
GET/properties/{country}/{cadastreId}/unitsproperties.read
POST/properties/{country}/lookupsproperties.read
GET/properties/{country}/{cadastreId}/ownersproperties.read
GET/properties/{country}/{cadastreId}/tenantsproperties.read
GET/properties/{country}/{cadastreId}/transactionsproperties.read
GET/properties/{country}/{cadastreId}/comparable-transactionsproperties.read
GET/properties/{country}/{cadastreId}/valuationsproperties.read
GET/properties/{country}/{cadastreId}/energy-certificatesproperties.read
GET/properties/{country}/{cadastreId}/certificationsproperties.read
GET/properties/{country}/{cadastreId}/zoning-plansproperties.read
GET/properties/{country}/{cadastreId}/utilizationproperties.read
GET/properties/{country}/{cadastreId}/building-permitsproperties.read
GET/properties/{country}/{cadastreId}/encumbrancesproperties.read
GET/properties/{country}/{cadastreId}/risksproperties.read
GET/properties/{country}/{cadastreId}/housing-cooperativeproperties.read
GET/properties/{country}/{cadastreId}/documentsproperties.read
GET/properties/{country}/{cadastreId}/boundaryproperties.read
GET/properties/{country}/{cadastreId}/buildings/{buildingNumber}/footprintproperties.read
GET/companies/{scheme}/{id}companies.read
GET/companies/{scheme}/{id}/propertiescompanies.read
GET/companies/{scheme}/{id}/employeescompanies.read
GET/companies/{scheme}/{id}/rolescompanies.read
GET/companies/{scheme}/{id}/shareholderscompanies.read
GET/companies/{scheme}/{id}/group-structurecompanies.read
GET/companies/{scheme}/{id}/financial-statementscompanies.read
GET/companies/{scheme}/{id}/premisescompanies.read
GET/companies/{scheme}/{id}/documentscompanies.read
GET/areas/{country}/{areaId}/statisticsareas.read
GET/areas/{country}/{areaId}/land-allocationsareas.read
GET/subscriptionssubscriptions.write
POST/subscriptionssubscriptions.write
DELETE/subscriptions/{subscriptionId}subscriptions.write
POST/auth/tokenpublic
GET/auth/metoken only

Some fields on owners, buyers and sellers are personal data and require the owners.read scope on top of the scope for the operation itself; without it, the field is omitted.

What may change without a new major version

The contract grows. Write clients that tolerate growth, and a new field or a new classification value never breaks them:

  • New response fields appear. Ignore what you don't read; don't reject a response because it carries a property you don't know.
  • Classification values grow. Document.kind, Certification.scheme and the webhook event types are marked x-extensible-enum in the spec: the documented values are the ones we serve today, and more follow as new registers and schemes are connected. Map an unknown value to your own fallback rather than failing the parse.
  • Request enums stay closed. A value we accept today keeps working; that is the half of the contract you can hard-code against.

What will not happen inside a major version: a field removed or renamed, a type changed, a required request parameter added, or an endpoint withdrawn. info.version in the spec is semver, and every change is listed in the release notes.

Beta! This documentation is automatically generated. Information may be incomplete or contain errors, especially screenshots and code samples. We'd love your feedback: use the "Did you find what you were looking for?" widget below, the chat in the bottom right, or email support@placepoint.no - we'll get back to you as soon as we can.