Skip to main content

Overview

The filters object is an optional parameter that can be included in API requests to enable advanced filtering of German company data. This comprehensive reference covers all supported filter entities, operators, and provides practical examples for every use case.
This filter object can be used with endpoints like /filter/companies to precisely control which companies are returned based on complex criteria.
The filtering system allows you to query across multiple data entities simultaneously, including company information, metadata, relationships (shareholders, representatives, etc.), and geographic location.
The filtering system supports 23 different operators across 6 entity types, enabling complex queries like โ€œFind all GmbH companies in Munich with share capital between โ‚ฌ25,000-โ‚ฌ100,000 that have a specific person as shareholder.โ€

How Filters Work

Filter Architecture

Our filtering system uses a multi-entity approach where you can filter across different data tables simultaneously:
  • Company: Basic company information (name, legal form, register details)
  • Company Metadata: Extended data (address, purpose, share capital)
  • Shareholders: Company ownership relationships
  • Representatives: Management and representation relationships
  • Limited Partners: Partnership relationships
  • Prokura: Power of attorney relationships

Filter Object Structure

The filters object follows this nested JSON structure:
Example API Request:

Filter Logic

  • Within Entity: All filters are combined with AND logic
  • Between Entities: Different entity filters are combined with AND logic
  • Joins: The system automatically handles database joins between entities

Available Operators

Equality Operators

Comparison Operators

Pattern Matching

List Operations

Range Operations

Geographic Operations

Company Filters

Filter companies by basic information from the Company table.

Supported Fields

Examples

Filter by City and Active Status

Geographic Search (Companies in Munich)

Register Number Range

Company Metadata Filters

Filter companies by extended information from the CompanyMetaData table.

Supported Fields

Examples

Filter by Business Purpose

Filter by Share Capital Range

Filter by Address

Relationship Filters

Filter companies based on their relationships with other entities (people or companies).

Shareholders

Find companies where specific entities are shareholders.

Supported Fields

Examples

Find Companies with Specific Company as Shareholder
Find Companies with Specific Person as Shareholder

Representatives

Find companies where specific entities are representatives/management.

Supported Fields

Examples

Find Companies with Specific Person as Representative
Find Companies with Multiple Representatives

Limited Partners

Find companies where specific entities are limited partners.

Supported Fields

Examples

Find Companies with Specific Company as Limited Partner
Find Companies with Specific Person as Limited Partner

Prokura (Power of Attorney)

Find companies where specific persons have prokura rights.

Supported Fields

Only persons can have prokura rights, not companies.

Examples

Find Companies with Specific Person Having Prokura

Combining Filters

You can combine filters across multiple entities for complex queries.

Example: Complex Multi-Entity Filter

Find active GmbH companies in Munich with share capital over โ‚ฌ50,000 that have a specific person as shareholder:

Example: Technology Companies with Management Filter

Find technology companies in Berlin with specific management:

Error Handling

Validation Errors

The system validates all filters before execution. Common validation errors:

Unknown Entity

Unknown Field

Invalid Operator

Missing Required Parameters

Query Execution Errors

No Results Found

Advanced Usage

Performance Optimization

  1. Use Specific Filters: More specific filters reduce result sets and improve performance
  2. Limit Result Sets: Use appropriate limit values (max 100)
  3. Geographic Filters: Use reasonable radius values for location searches
  4. Index-Friendly Operators: eq and in operators perform better than like patterns

Best Practices

Efficient Filtering

Combining Geographic and Entity Filters

Caching

  • Filter results are cached for 5 minutes
  • Cache keys include filter content, so different filters wonโ€™t interfere
  • Use consistent filter ordering for better cache hit rates
Complex filters with multiple relationship joins may impact performance. Monitor your query execution times and optimize filters as needed.

Filter Schema Reference

Complete Entity Schema

This comprehensive filtering system provides powerful capabilities for precise company data queries across all aspects of German company registry information.