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

# /screen/export

`POST /v1/screen/export`

## 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/export`
- Auth: HTTP bearer

Export every company matching a set of screening filters to an Excel
file, delivered by email (the same asynchronous pipeline as lead lists
and CVR-list enrichment, including its field catalog).

Web flow only: requires a logged-in Pro/Team user (the file is
delivered to the account's email address). API integrators can build
the same by paging `/v1/screen` and posting the CVRs to
`/v1/enrichments`.

With `fields.financial_history` set, the download is a ZIP holding the
main file plus a financial-history file in long format: one row per
company per fiscal year, every year on record, with the selected
financial/ratio columns as reported in the annual filings.

Limits: at most 25,000 matching companies per export.

## Request body

- ScreenExportRequest: Request body for POST /v1/screen/export.
  - `filters` ScreenFilters, required: Screening criteria. All given filters are combined with AND. At least one filter beyond `statuses` must be set.
    - `industry_codes` string[]: DB07 industry codes, 2-6 digits. Codes shorter than 6 digits match as prefixes: `47` matches every retail code. Matches primary or secondary industry.
    - `company_types` string[]: Company type codes, e.g. A/S, ApS, ENK
    - `statuses` string[]: Company statuses to include. Defaults to active companies only. Valid values: active, dissolved, under_bankruptcy, liquidation.
    - `founded` DateRange: Inclusive date range. At least one bound must be set.
      - `from` string, date, nullable: Inclusive start date
      - `to` string, date, nullable: Inclusive end date
    - `municipality_codes` string[]: Municipality codes
    - `postal_codes` string[]: Postal codes
    - `region_codes` string[]: Region codes (resolved to the region's municipalities)
    - `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)
    - `employees` NumericRange: Inclusive min/max range. At least one bound must be set.
      - `min` number, nullable: Inclusive lower bound
      - `max` number, nullable: Inclusive upper bound
    - `financials` object: Key figure ranges, e.g. `{"equity_ratio": {"min": 0.15}}`. Valid keys: revenue, gross_profit, operating_profit, profit_loss, equity, total_assets, equity_ratio, current_ratio, return_on_equity, profit_margin, revenue_growth, gross_profit_growth, equity_growth. Amounts in DKK; ratios and growth rates as fractions. Note that most small companies (reporting class B) do not publish revenue, only gross profit. A company only matches a metric filter if its latest annual report contains that metric.
    - `reporting_classes` string[]: Reporting classes (regnskabsklasse) to include: A, B, C, D
    - `financial_period_end_after` string, date, nullable: Only match companies whose latest annual report period ends on or after this date (freshness guard)
    - `late_filings` NumericRange: Inclusive min/max range. At least one bound must be set.
      - `min` number, nullable: Inclusive lower bound
      - `max` number, nullable: Inclusive upper bound
    - `auditor_changes` 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_overdue_filing` boolean, nullable: Active companies whose next expected annual report has passed its statutory deadline without being published
    - `has_going_concern` boolean, nullable: The latest report carries a going concern emphasis from the auditor
    - `has_qualified_opinion` boolean, nullable: The latest auditor opinion is not unqualified
    - `cds_score` NumericRange: Inclusive min/max range. At least one bound must be set.
      - `min` number, nullable: Inclusive lower bound
      - `max` number, nullable: Inclusive upper bound
    - `cds_ratings` string[]: CDS rating buckets to include: excellent, good, moderate, high_risk, critical
    - `has_phone` boolean, nullable: Company has a phone number
    - `has_email` boolean, nullable: Company has an email address
    - `has_website` boolean, nullable: Company has a website
    - `has_properties` boolean, nullable: Company owns properties
    - `property_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
    - `property_zones` string[]: Planzone of owned properties: byzone, landzone and/or sommerhusomraade. Matches companies owning at least one property in any selected zone.
    - `has_flood_risk_properties` boolean, nullable: Company owns at least one property with elevated flood risk (in a cloudburst depression or flooded at a storm surge of 3 m or less, per Klimadatastyrelsen's DHM models)
    - `has_poor_energy_label` boolean, nullable: Company owns at least one property whose current energy label is D, E, F or G (per Energistyrelsen's EMOData register)
    - `auditor_cvrs` string[]: Companies whose current registered auditor is one of these audit firms (CVR numbers)
    - `contact_role_categories` string[]: Companies with an enriched contact person in any of these role categories (management, sales, marketing, it, hr, finance, operations, procurement, customer_service). Sourced from the company's own website.
    - `has_livestock` boolean, nullable: Company has at least one active livestock herd in CHR. Companies with a CHR marketing protection are excluded.
    - `livestock_species_codes` integer[]: CHR species (dyreart) codes, e.g. 12=Kvæg, 15=Svin, 13=Får. Matches companies with at least one active herd of any selected species. Implies the CHR marketing protection exclusion.
    - `exclude_advertising_protected` boolean, nullable: Exclude companies with CVR advertising protection (reklamebeskyttelse). Required when results are used for direct marketing.
  - `fields` ReportFieldSelection, required: Which fields to include in the report.
    - `basic_data` string[]: Basic company data fields
    - `management_ownership` string[]: Management and ownership data fields
    - `financial_data` string[]: Financial statement fields
    - `ratios` string[]: Financial ratio fields
    - `property_data` string[]: Property data fields
    - `livestock` string[]: CHR livestock fields (herd count, species, total animals) from Det Centrale Husdyrbrugsregister
    - `contact_enrichment` string[]: Enriched contact fields (discovered website, contact people, emails, phones) from our website-discovery pipeline
    - `cds` string[]: CDS score and credit recommendation fields (score, rating, confidence, credit limit, payment terms)
    - `tenders` string[]: Public procurement fields (tenders won, latest tender) computed from TED/udbud.dk award notices
    - `financial_history` boolean: Include the full financial-statement history in the export: a separate Excel file in long format, one row per company per fiscal year, covering every year on record (up to ~13) with the selected financial and ratio columns (raw reported figures, not recomputed). The download then becomes a ZIP holding the main file and the history file.
  - `name` string, required: Report name
  - `sort` ScreenSort: Result ordering. Sorting on a field implicitly restricts results to companies where that field is present (e.g. sorting by revenue only returns companies with a known revenue).
    - `field` string, required: Sort field: any financial metric name, or employees, founded_date, period_end
    - `direction` string: asc or desc
  - `locale` string: File and email language

## Response `201`

Successful Response

- ScreenExportResponse
  - `id` string, required: Report request id
  - `status` string, required
  - `matched_count` integer, required: Companies included in the export

## 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)
