> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openregister.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtering Guide

Our [advanced search endpoint](/endpoint/filter-company) offers a flexible and powerful way to find specific companies. This guide explains the various filtering options available.

## Basic Structure

The core of the filtering mechanism is the `filters` array in the request body. Each object in this array represents a single filter condition and must contain a `field` and a corresponding value using one of the available filter types.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "status",
      "value": "active"
    }
  ]
}
```

## Free-Text Search Query

Besides structured filters, you can also perform a free-text search using the `query` field. This is useful for finding companies by name or previous names.

```json theme={"dark"}
{
  "query": {
    "value": "Descartes"
  },
  "filters": [
    {
      "field": "city",
      "value": "Berlin"
    }
  ]
}
```

This will search for companies with "Descartes" in their name or previous names and are located in Berlin.

## Examples

Here are a few examples of how you can combine different filters to achieve specific search results.

### All Restaurants

To find all companies in the restaurant industry, you can filter by the `industry_codes` field.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "industry_codes",
      "value": "56.11" 
    }
  ]
}
```

### Newly Founded Companies

To find companies that were incorporated in the last week, you can use a range filter on the `incorporated_at` field.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "incorporated_at",
      "min": "15-07-2024"
    }
  ]
}
```

### High-Revenue Companies with a Large Workforce

To find companies with more than 100 employees and over 100 million EUR in revenue, you can combine two range filters. **Monetary filter values (revenue, balance\_sheet\_total, capital\_amount, etc.) are in cents** — 100 million EUR = 10,000,000,000 cents.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "employees",
      "min": "100"
    },
    {
      "field": "revenue",
      "min": "10000000000"
    }
  ]
}
```

### Companies in a Specific Location

To find all companies with a registered address in a specific postal code.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "zip",
      "value": "10117"
    }
  ]
}
```

### Companies with a Specific Legal Form and Capital

To find all GmbH companies with a capital of more than 1 million EUR. **Monetary filter values are in cents** — 1 million EUR = 100,000,000 cents.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "legal_form",
      "value": "gmbh"
    },
    {
      "field": "capital_amount",
      "min": "100000000"
    },
    {
      "field": "capital_currency",
      "value": "EUR"
    }
  ]
}
```

### Companies With or Without a Legal Entity Identifier (LEI)

Use `has_lei` with `value` `"true"` or `"false"` to restrict results to companies that have been indexed with a non-empty LEI (`true`) or without (`false`). Use `lei` with `value` for one LEI, or `values` for several (OR).

```json theme={"dark"}
{
  "filters": [
    {
      "field": "has_lei",
      "value": "true"
    }
  ]
}
```

Match one or more exact LEIs (20-character GLEIF identifiers):

```json theme={"dark"}
{
  "filters": [
    {
      "field": "lei",
      "values": ["5493001HCMGWDQ4MX390", "529900T8BM49AURSDO55"]
    }
  ]
}
```

### Companies with an Open Insolvency Proceeding

To find companies that currently have an open insolvency proceeding, opened since the start of 2026. The `insolvency_opened_at` range uses the `YYYY-MM-DD` format.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "has_open_insolvency",
      "value": "true"
    },
    {
      "field": "insolvency_opened_at",
      "min": "2026-01-01"
    }
  ]
}
```

You can also target specific stages of a proceeding, e.g. all companies in preliminary or opened proceedings:

```json theme={"dark"}
{
  "filters": [
    {
      "field": "insolvency_stage",
      "values": ["preliminary", "opened"]
    }
  ]
}
```

### Owner-Managed Companies for Succession Planning

To find owner-managed businesses with an older owner - ideal for identifying succession opportunities.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "has_representative_owner",
      "value": "true"
    },
    {
      "field": "is_family_owned",
      "value": "false"
    },
    {
      "field": "youngest_owner_age",
      "min": "60"
    }
  ]
}
```

## Filterable Fields

You can filter on a wide range of fields, listed below in two groups: general company fields and financial indicator fields.

### Company Fields

**Important:** `capital_amount` uses values in **cents**, not euros.

| Field                      | Description                                                                                                                                                                           |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `status`                   | The current status of the company (e.g., `active`, `inactive`, `liquidation`).                                                                                                        |
| `legal_form`               | The legal form of the company (e.g., `gmbh`, `ag`).                                                                                                                                   |
| `register_number`          | The company's registration number.                                                                                                                                                    |
| `register_court`           | The court where the company is registered.                                                                                                                                            |
| `register_type`            | The type of register (e.g., `HRB`, `HRA`).                                                                                                                                            |
| `city`                     | The city where the company is located.                                                                                                                                                |
| `active`                   | A boolean indicating if the company is active.                                                                                                                                        |
| `incorporated_at`          | The date of incorporation.                                                                                                                                                            |
| `purpose`                  | The business purpose of the company.                                                                                                                                                  |
| `zip`                      | The postal code of the company's address.                                                                                                                                             |
| `address`                  | The full address of the company.                                                                                                                                                      |
| `industry_codes`           | The company's industry codes (WZ2025).                                                                                                                                                |
| `capital_amount`           | The amount of the company's capital (in cents).                                                                                                                                       |
| `capital_currency`         | The currency of the company's capital.                                                                                                                                                |
| `number_of_owners`         | The number of company owners/shareholders. (enterprise only)                                                                                                                          |
| `has_sole_owner`           | Boolean indicating if the company has only one owner. (enterprise only)                                                                                                               |
| `has_representative_owner` | Boolean indicating if an owner is also in management (owner-managed). (enterprise only)                                                                                               |
| `is_family_owned`          | Boolean indicating if the company is family-owned. (enterprise only)                                                                                                                  |
| `youngest_owner_age`       | The age of the youngest owner/shareholder. (enterprise only)                                                                                                                          |
| `has_lei`                  | Boolean string `"true"` or `"false"`: company has a non-empty LEI indexed (`true`) or not (`false`).                                                                                  |
| `lei`                      | Legal Entity Identifier (GLEIF). Exact match via `value`, or `values` for multiple LEIs (OR).                                                                                         |
| `had_insolvency`           | Boolean string `"true"` or `"false"`: company has ever had an insolvency proceeding.                                                                                                  |
| `has_open_insolvency`      | Boolean string `"true"` or `"false"`: company currently has an open insolvency proceeding.                                                                                            |
| `insolvency_stage`         | Stage of the company's most relevant proceeding (e.g., `preliminary`, `opened`, `plan_supervised`, `lifted`, `discharge_granted`). Use `value`, or `values` for multiple stages (OR). |
| `insolvency_opened_at`     | The date the insolvency proceeding was opened. Range via `min`/`max` in `YYYY-MM-DD` format (note: unlike `incorporated_at`).                                                         |

### Financial Indicator Fields

Every financial indicator can be used as a range filter via `min`/`max`, based on the company's most recent available fiscal year.

**Important:** All financial indicator fields use values in **cents**, not euros — except `employees`. Divide by 100 to convert to EUR.

| Field                      | Description                                                                                |
| :------------------------- | :----------------------------------------------------------------------------------------- |
| `balance_sheet_total`      | Balance sheet total (Bilanzsumme).                                                         |
| `revenue`                  | Revenue (Umsatzerlöse).                                                                    |
| `net_income`               | Net income (Jahresüberschuss).                                                             |
| `parent_net_income`        | Net income attributable to the parent company.                                             |
| `income_before_tax`        | Income before taxes.                                                                       |
| `income_after_tax`         | Income after taxes.                                                                        |
| `ebit`                     | Earnings before interest and taxes.                                                        |
| `ebitda`                   | Earnings before interest, taxes, depreciation, and amortization.                           |
| `employees`                | The number of employees.                                                                   |
| `equity`                   | Equity (Eigenkapital).                                                                     |
| `cash`                     | Cash reserves.                                                                             |
| `fixed_assets`             | Fixed assets (Anlagevermögen).                                                             |
| `current_assets`           | Current assets (Umlaufvermögen).                                                           |
| `intangible_assets`        | Intangible assets (immaterielle Vermögensgegenstände).                                     |
| `tangible_assets`          | Tangible assets (Sachanlagen).                                                             |
| `financial_assets`         | Financial assets (Finanzanlagen).                                                          |
| `real_estate`              | Real estate (Grundstücke und Bauten).                                                      |
| `inventory`                | Inventory (Vorräte).                                                                       |
| `receivables`              | Receivables (Forderungen).                                                                 |
| `trade_receivables`        | Trade receivables (Forderungen aus Lieferungen und Leistungen).                            |
| `active_accruals`          | Prepaid expenses (aktive Rechnungsabgrenzungsposten).                                      |
| `passive_accruals`         | Deferred income (passive Rechnungsabgrenzungsposten).                                      |
| `liabilities`              | Liabilities (Verbindlichkeiten).                                                           |
| `other_liabilities`        | Other liabilities (sonstige Verbindlichkeiten).                                            |
| `bank_debt`                | Liabilities to banks (Verbindlichkeiten gegenüber Kreditinstituten).                       |
| `trade_payables`           | Trade payables (Verbindlichkeiten aus Lieferungen und Leistungen).                         |
| `shareholder_liabilities`  | Liabilities to shareholders (Verbindlichkeiten gegenüber Gesellschaftern).                 |
| `affiliated_liabilities`   | Liabilities to affiliated companies (Verbindlichkeiten gegenüber verbundenen Unternehmen). |
| `financial_debt`           | Financial debt (Finanzverbindlichkeiten).                                                  |
| `provisions`               | Provisions (Rückstellungen).                                                               |
| `other_provisions`         | Other provisions (sonstige Rückstellungen).                                                |
| `pension_provisions`       | Pension provisions (Pensionsrückstellungen).                                               |
| `capital_reserves`         | Capital reserves (Kapitalrücklage).                                                        |
| `retained_earnings`        | Retained earnings (Gewinnrücklagen).                                                       |
| `profit_carryforward`      | Profit carried forward (Gewinnvortrag).                                                    |
| `materials`                | Cost of materials (Materialaufwand).                                                       |
| `salaries`                 | Personnel expenses (Personalaufwand).                                                      |
| `operating_depreciation`   | Depreciation and amortization on fixed assets (Abschreibungen).                            |
| `financial_depreciation`   | Depreciation on financial assets (Abschreibungen auf Finanzanlagen).                       |
| `other_operating_income`   | Other operating income (sonstige betriebliche Erträge).                                    |
| `other_operating_expenses` | Other operating expenses (sonstige betriebliche Aufwendungen).                             |
| `interest_income`          | Interest income (Zinserträge).                                                             |
| `interest_expense`         | Interest expense (Zinsaufwendungen).                                                       |
| `commission_income`        | Commission income (Provisionserträge).                                                     |
| `commission_expense`       | Commission expense (Provisionsaufwendungen).                                               |
| `taxes`                    | Income taxes (Steuern vom Einkommen und vom Ertrag).                                       |
| `other_taxes`              | Other taxes (sonstige Steuern).                                                            |

### Insolvency Search Fields

The [insolvency search](/endpoint/search-insolvency) (`POST /v1/search/insolvency`) supports its own set of filterable fields:

| Field                    | Description                                                                                          |
| :----------------------- | :--------------------------------------------------------------------------------------------------- |
| `current_status`         | The current status of the proceeding (e.g., `preliminary`, `opened`, `lifted`, `discharge_granted`). |
| `has_open_insolvency`    | Boolean indicating if the proceeding is currently open.                                              |
| `proceeding_kind`        | The kind of proceeding (`regular_insolvency`, `consumer_insolvency`).                                |
| `administration_kind`    | The kind of administration (`external_administration`, `self_administration`, `protective_shield`).  |
| `insolvency_grounds`     | The legal grounds for the insolvency (e.g., `Zahlungsunfähigkeit`).                                  |
| `debtor_kind`            | The kind of debtor (`legal_person`, `natural_person`).                                               |
| `debtor_legal_form`      | The legal form of the debtor (e.g., `gmbh`).                                                         |
| `court`                  | The insolvency court handling the proceeding.                                                        |
| `city`                   | The city of the debtor.                                                                              |
| `opened_at`              | The date the proceeding was opened.                                                                  |
| `closed_at`              | The date the proceeding was closed.                                                                  |
| `last_event_at`          | The date of the most recent announcement.                                                            |
| `claims_filing_deadline` | The deadline for filing claims.                                                                      |
| `company_id`             | The OpenRegister company ID of the debtor.                                                           |
| `person_id`              | The OpenRegister person ID of the debtor.                                                            |

**Note:** The insolvency date fields (`opened_at`, `closed_at`, `last_event_at`, `claims_filing_deadline`) support `min`/`max` ranges and use the `YYYY-MM-DD` format — unlike the company `incorporated_at` examples above.

## Filter Types

There are several ways to specify the filter value, depending on the desired comparison.

### Exact Match: `value`

For a simple exact match, use the `value` property.

```json theme={"dark"}
{
  "field": "legal_form",
  "value": "gmbh"
}
```

### Multiple Values: `values`

To match against a list of possible values, use the `values` array. This is useful for "OR" conditions.

```json theme={"dark"}
{
  "field": "city",
  "values": ["Berlin", "Hamburg", "München"]
}
```

### Keyword Matching: `keywords`

For text fields, `keywords` allows you to find records containing any of the specified words.

```json theme={"dark"}
{
  "field": "zip",
  "keywords": ["10117", "10119"]
}
```

### Range Filtering: `min` and `max`

For numerical and date fields, you can specify a range using `min` and `max`.

```json theme={"dark"}
{
  "field": "employees",
  "min": "10",
  "max": "100"
}
```

You can also specify just a minimum or a maximum. For monetary fields, use cents (e.g. 1 million EUR = 100000000).

```json theme={"dark"}
{
  "field": "revenue",
  "min": "100000000"
}
```

### Date Formatting

When filtering by date, use the `DD-MM-YYYY` format.

```json theme={"dark"}
{
  "field": "incorporated_at",
  "min": "01-01-2020",
  "max": "31-12-2021"
}
```

## Location Filtering

You can also filter companies based on their geographical location by providing a `location` object in the request body. This allows you to find companies within a certain radius of a given point.

The `location` object requires `latitude` and `longitude`, and optionally accepts a `radius` in kilometers.

```json theme={"dark"}
{
  "location": {
    "latitude": 52.5200,
    "longitude": 13.4050,
    "radius": 10
  }
}
```

## Combining Filters

You can combine multiple filter objects in the `filters` array. These conditions are joined with an "AND" operator, meaning a company must satisfy all of them to be included in the results.

```json theme={"dark"}
{
  "filters": [
    {
      "field": "legal_form",
      "value": "gmbh"
    },
    {
      "field": "employees",
      "min": "50"
    }
  ]
}
```
