Basic Structure
The core of the filtering mechanism is thefilters 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.
Free-Text Search Query
Besides structured filters, you can also perform a free-text search using thequery field. This is useful for finding companies by name or previous names.
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 theindustry_codes field.
Newly Founded Companies
To find companies that were incorporated in the last week, you can use a range filter on theincorporated_at field.
High-Revenue Companies with a Large Workforce
To find companies with more than 100 employees and over 100 million in revenue, you can combine two range filters.Companies in a Specific Location
To find all companies with a registered address in a specific postal code.Companies with a Specific Legal Form and Capital
To find all GmbH companies with a capital of more than 1 million EUR.Owner-Managed Companies for Succession Planning
To find owner-managed businesses with an older owner - ideal for identifying succession opportunities.Filterable Fields
You can filter on a wide range of fields. Here is a list of all available fields:| 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. |
zip | The postal code of the company’s address. |
address | The full address of the company. |
balance_sheet_total | The total of the balance sheet. |
revenue | The company’s revenue. |
cash | The company’s cash reserves. |
employees | The number of employees. |
equity | The company’s equity. |
real_estate | The value of the company’s real estate. |
materials | The value of the company’s materials. |
pension_provisions | The company’s pension provisions. |
salaries | The company’s salary expenses. |
taxes | The company’s tax expenses. |
liabilities | The company’s liabilities. |
capital_reserves | The company’s capital reserves. |
net_income | The company’s net income. |
industry_codes | The company’s industry codes (WZ2025). |
capital_amount | The amount of the company’s capital. |
capital_currency | The currency of the company’s capital. |
number_of_owners | The number of company owners/shareholders. |
has_sole_owner | Boolean indicating if the company has only one owner. |
has_representative_owner | Boolean indicating if an owner is also in management (owner-managed). |
is_family_owned | Boolean indicating if the company is family-owned. |
youngest_owner_age | The age of the youngest owner/shareholder. |
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.
Multiple Values: values
To match against a list of possible values, use the values array. This is useful for “OR” conditions.
Keyword Matching: keywords
For text fields, keywords allows you to find records containing any of the specified words.
Range Filtering: min and max
For numerical and date fields, you can specify a range using min and max.
Date Formatting
When filtering by date, use theDD-MM-YYYY format.
Location Filtering
You can also filter companies based on their geographical location by providing alocation 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.
Combining Filters
You can combine multiple filter objects in thefilters array. These conditions are joined with an “AND” operator, meaning a company must satisfy all of them to be included in the results.