Skip to main content
Our advanced search endpoint 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.

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.
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.

Newly Founded Companies

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

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.

Companies in a Specific Location

To find all companies with a registered address in a specific postal code.
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.
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).
Match one or more exact LEIs (20-character GLEIF identifiers):

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.
You can also target specific stages of a proceeding, e.g. all companies in preliminary or opened proceedings:

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, listed below in two groups: general company fields and financial indicator fields.

Company Fields

Important: capital_amount uses values in cents, not euros.

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.

Insolvency Search Fields

The insolvency search (POST /v1/search/insolvency) supports its own set of filterable fields: 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.

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.
You can also specify just a minimum or a maximum. For monetary fields, use cents (e.g. 1 million EUR = 100000000).

Date Formatting

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

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.

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.