Skip to main content
The search endpoints accept structured filters to narrow down results. This guide explains how filters work and which fields you can filter on. It applies to: All three share the same request structure and filter types; they differ only in which fields are filterable (see Filterable Fields).

Request Structure

Filters go into the filters array of the request body. Each object in the array is one condition and must contain a field plus one of the filter types (value, values, keywords, or min/max).
All conditions in the filters array are combined with AND — a result must satisfy every one of them:
For an OR across several values of the same field, use values (see below).

Filter Types

Exact Match: value

For a simple exact match, use the value property.

Multiple Values: values

To match any one of a list of values (“OR” within a field), use the values array.

Keyword Matching: keywords

For free-text fields, keywords finds records whose field contains any of the specified words — unlike values, which requires the whole field to match exactly. Use it on fields like purpose or address.
This matches companies whose business purpose mentions “Photovoltaik” or “Solar” anywhere in the text.

Range Filtering: min and max

For numerical and date fields, specify a range using min and/or max. Both bounds are optional — use just one for an open-ended range.

Value Conventions

A few conventions apply across all fields:
Monetary values are in cents, not euros. This applies to capital_amount and every financial indicator field (revenue, ebitda, balance_sheet_total, …). For example, 1 million EUR = 100000000 cents.
  • Dates use the DD-MM-YYYY format, e.g. "01-01-2026". (The ISO YYYY-MM-DD format is also accepted.) Date fields support min/max ranges:
  • Booleans are passed as the strings "true" or "false":

Free-Text Search Query

Besides structured filters, you can perform a free-text search using the query field. This is useful for finding companies by name or previous names. query and filters can be combined:
This searches for companies with “Descartes” in their name or previous names that are located in Berlin.

Location Filtering

For company search, you can filter by geographical location with a location object in the request body. It requires latitude and longitude, and optionally accepts a radius in kilometers.

Estimated Financials

Most German companies publish a balance sheet but no income statement, so revenue and EBITDA are missing for the large majority of them. For those companies, OpenRegister estimates both figures from what they do publish, with models trained on the companies that report them. Estimates are available as filters: estimated_revenue and estimated_ebitda for the figure, estimated_revenue_confidence and estimated_ebitda_confidence for how reliable it is. A few rules keep reported and estimated figures apart:
  • Reported figures are included. estimated_revenue matches the best available figure: the reported revenue where a company publishes one, the estimate everywhere else. A company never has both, so nothing is counted twice and no fiscal years are mixed. Use revenue instead if you want published figures only.
  • Same freshness as reported figures. An estimate refers to the company’s latest fiscal year with a filing and, like reported indicators, ages out after four years.
  • Cents, like every other monetary field.
  • Not estimated: companies in an open insolvency proceeding, and companies under a profit transfer agreement (their reported profit is zero by contract, so nothing can be inferred from it).

How confidence works

Every estimate is a range, not just a number: a median plus an 80% interval from the 10th to the 90th percentile. The models are calibrated on companies they never saw during training so that the true figure falls inside this interval for roughly 80 of 100 companies. Range filters on estimated_revenue and estimated_ebitda apply to the median. How wide that interval is varies a lot between companies: a GmbH with a detailed balance sheet, a headcount and an industry code gets a tight band, a holding with three balance sheet lines does not. The confidence tier summarises the width so you can filter on it without reasoning about quantiles: Revenue uses a ratio because it scales with company size. EBITDA is measured against the balance sheet total instead, because its median is often close to zero, where a relative width would say nothing. Use estimated_revenue_confidence and estimated_ebitda_confidence with value or values to pick the tiers you accept. Companies with a reported figure pass whichever tiers you pick — a published number is the most confident value there is — so ["high"] means reported figures plus tight estimates. For lead lists, where a wrong size costs an outreach, ["high"] or ["high", "medium"] is the usual choice. For market sizing across many companies, all tiers are fine: the errors average out, the individual ranges do not. Combine the tier with a range on the figure itself, here 1 to 5 million EUR in cents:

Examples

Common company search recipes, combining the building blocks above.

All Restaurants

Filter by the industry_codes field (WZ2025 codes):

Newly Founded Companies

Companies incorporated since the start of 2026, using a range filter on incorporated_at:

High-Revenue Companies with a Large Workforce

Companies with more than 100 employees and over 100 million EUR in revenue (remember: monetary values are in cents — 100 million EUR = 10,000,000,000 cents):

Companies in a Specific Location

All companies with a registered address in a specific postal code:
All GmbH companies with a capital of more than 1 million EUR (= 100,000,000 cents):
Use has_lei with "true" or "false" to restrict results to companies that have been indexed with a non-empty LEI (true) or without one (false):
Or match one or more exact LEIs (20-character GLEIF identifiers) via lei:

Companies by VAT ID

Use vat_id to look up companies by their VAT identification number (Umsatzsteuer-Identifikationsnummer). VAT IDs are collected from company websites, so they are only available for companies whose website has been indexed.

Companies by Estimated Revenue

Companies with revenue between 5 and 20 million EUR (cents: 5 million EUR = 500,000,000), reported or estimated, keeping reported figures and the tighter confidence tiers — see How confidence works:

Companies with an Open Insolvency Proceeding

Companies that currently have an open insolvency proceeding, opened since the start of 2026:
You can also target specific stages of a proceeding, e.g. all companies in preliminary or opened proceedings:

Owner-Managed Companies for Succession Planning

Owner-managed businesses with an older owner — ideal for identifying succession opportunities:

Filterable Fields

The company search supports general company fields, financial indicator fields and estimated financial fields.

Company Fields

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.
All financial indicator fields use values in cents, not euros — except employees.

Estimated Financial Fields

Where a company reports neither figure, the search carries model estimates; these filters match the reported figure where there is one and the estimate otherwise — see Estimated Financials for the rules and how the confidence tiers are defined. Monetary values are in cents. The person search supports the following filterable fields: The insolvency search supports the following filterable fields. The date fields (opened_at, closed_at, last_event_at, claims_filing_deadline) support min/max ranges.