---
title: "/screen/properties"
method: POST
path: "/v1/screen/properties"
tags: ["Screening"]
---

# /screen/properties

`POST /v1/screen/properties`

## Request

- Base URL: `https://api.companydata.dk` (the document declares no server; this is the origin it was published from)
- URL: `https://api.companydata.dk/v1/screen/properties`
- Auth: HTTP bearer

Property-first screening: find company-owned properties by building and
location attributes, with the owning companies attached.

Example: large buildings with elevated flood exposure in two
municipalities, excluding advertising-protected owners:

```json
{
  "filters": {
    "municipality_codes": ["751", "727"],
    "building_area": {"min": 200},
    "has_flood_risk": true,
    "exclude_advertising_protected": true
  }
}
```

**Scope**: results are exclusively properties with at least one active
company ownership registered in Ejerfortegnelsen; the owning companies
(CVR and name) are attached to each property. Set
`exclude_advertising_protected` when the results are used for direct
marketing (CVR-loven).

Flood exposure and energy labels are indicative, based on
Klimadatastyrelsen's open elevation models and Energistyrelsen's EMO
register. Results are ordered by BFE number; page with `meta.next_cursor`.

## Request body

- PropertyScreenRequest
  - `filters` PropertyScreenFilters, required: Filters for POST /v1/screen/properties. Results are always scoped to properties with at least one active company ownership.
    - `postal_codes` string[]
    - `municipality_codes` string[]: Resolved to the municipality's postal codes
    - `region_codes` string[]: Resolved to the region's postal codes
    - `geo` GeoRadius: Circular geographic area (same bounds as /v1/companies geo search).
      - `lat` number, required: Latitude of center
      - `lng` number, required: Longitude of center
      - `radius` integer, required: Radius in meters (50-50000)
    - `building_area` NumericRange: Inclusive min/max range. At least one bound must be set.
      - `min` number, nullable: Inclusive lower bound
      - `max` number, nullable: Inclusive upper bound
    - `has_flood_risk` boolean, nullable: At least elevated flood exposure per Klimadatastyrelsen's DHM models (cloudburst depression or storm surge at 3 m or less)
    - `energy_classifications` string[]: Current energy label letters to include (A-G; prefix matched)
    - `has_poor_energy_label` boolean, nullable: Current energy label D, E, F or G
    - `zone_statuses` string[]: Planzone: byzone, landzone and/or sommerhusomraade
    - `exclude_advertising_protected` boolean, nullable: Exclude properties whose only active company owners have CVR advertising protection. Required when results are used for direct marketing.
  - `cursor` integer, nullable: bfe_number cursor from the previous page's meta.next_cursor
  - `limit` integer

## Response `200`

Successful Response

- PropertyScreenResponse
  - `data` PropertyScreenItem[], required
    - `bfe_number` integer, required
    - `address` string, nullable
    - `postal_code` string, nullable
    - `building_area` number, nullable: Largest building's total area (m²)
    - `flood_flagged` boolean, nullable
    - `energy_classification` string, nullable
    - `zone_status` string, nullable
    - `owners` PropertyScreenOwner[]: Active company owners
      - `cvr` string, required
      - `name` string, nullable
  - `meta` PropertyScreenMeta, required
    - `limit` integer, required
    - `has_more` boolean, required
    - `next_cursor` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/companydata/apis/companydata-dk-api.md) · [All operations](https://skmtc.dev/companydata/apis/companydata-dk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/companydata/apis/companydata-dk-api/revisions/1cc6c361ae64?raw)
