Skip to main content
POST
Filter companies

Authorizations

Authorization
string
header
required

An API key issued by The Data City, sent as: Authorization: Bearer YOUR_KEY

Body

application/json

Request model for filtering companies with comprehensive search criteria

WZs
string[] | null

Filter by primary industry scheme codes (wire name set at scaffold time).

Name
string | null

Filter by company name prefix, company number, Handelsregister number (OrgNumber / RegistrationNumber), VAT number (VATNumber), or website. Domain-style needles (keep dots) match Website exactly or as a subdomain suffix; other needles still substring-match website via contains.

Maximum string length: 500
Country
string | null

Filter by country

Maximum string length: 100
EmployeeRange
string | null

Filter by employee-range slug from GET /api/filters (employeeRanges[].id). Matches DuckDB EmployeesBand via URL-safe slug (API key EmployeeRange).

Maximum string length: 20

Filter by legal form slug from GET /api/filters (legalForms[].id).

Maximum string length: 150

Filter by one or more legal form slugs from GET /api/filters (legalForms[].id). Matches any listed form (OR).

Maximum array length: 100
HQPostcode
string | null

Filter by headquarters postal code

Maximum string length: 10
Pattern: ^[0-9]{5}$
HQAddress
string | null

Filter by headquarters address substring (case-insensitive).

Maximum string length: 500
DateOfIncorporation
string<date> | null

Filter by date of incorporation (exact match)

IncorporationDateFrom
string<date> | null

Filter by minimum date of incorporation (inclusive)

IncorporationDateTo
string<date> | null

Filter by maximum date of incorporation (inclusive)

HasWebsite
boolean | null

Filter companies that have a website

OperatingLocationAddresses
string[] | null

Filter by operating location addresses (partial match)

Maximum array length: 20
MinTurnover
integer<int64> | null

Minimum annual turnover value

Required range: 0 <= x <= 9223372036854776000
MaxTurnover
integer<int64> | null

Maximum annual turnover value

Required range: 0 <= x <= 9223372036854776000
MinEBIT
integer<int64> | null

Minimum EBIT (Earnings Before Interest and Taxes) value

Required range: -9223372036854776000 <= x <= 9223372036854776000
MaxEBIT
integer<int64> | null

Maximum EBIT (Earnings Before Interest and Taxes) value

Required range: -9223372036854776000 <= x <= 9223372036854776000
MinNetIncome
integer<int64> | null

Minimum net income value

Required range: -9223372036854776000 <= x <= 9223372036854776000
MaxNetIncome
integer<int64> | null

Maximum net income value

Required range: -9223372036854776000 <= x <= 9223372036854776000
FinancialYearEnding
integer<int32> | null

Filter by specific financial year ending

MinFinancialYearEnding
integer<int32> | null

Minimum financial year ending

MaxFinancialYearEnding
integer<int32> | null

Maximum financial year ending

AccountsType
string | null

Filter by accounts type (e.g., "Full", "Abbreviated", "Small")

Maximum string length: 50
RTICs
string[] | null

Filter by RTIC codes. Matches companies that have any of the specified RTIC codes.

RWZs
string[] | null

Filter by secondary industry scheme codes (wire name set at scaffold time).

State
string[] | null

Filter by Bundesland slug or name from GET /api/filters (states[].id / states[].name). Matches HQPostcodeDetails.County.

Maximum array length: 100
Zipcode
string[] | null

Filter by headquarters postal code(s) (5-digit German PLZ). Same column as TDC_Global_Server_API_DE.Models.Filtering.Filters.HQPostcode.

Maximum array length: 100
Town
string[] | null

Filter by town / PostTown from HQPostcodeDetails.PostTown (case-insensitive).

Maximum array length: 1000
Director
object

Optional director filter values for POST /api/companies (Director) and M:TDC_Global_Server_API_Core.Classes.Configuration.DirectorFilterSql.Build(TDC_Global_Server_API_Core.Classes.Configuration.DirectorFilterCriteria,TDC_Global_Server_API_Core.Classes.Configuration.DirectorFilterProfile,System.String,System.String).

LowerLatitude
number<double> | null

South edge of a geographic bounding box (minimum latitude), inclusive. WGS-84 decimal degrees.

Required range: -90 <= x <= 90
UpperLatitude
number<double> | null

North edge of a geographic bounding box (maximum latitude), inclusive. WGS-84 decimal degrees.

Required range: -90 <= x <= 90
LowerLongitude
number<double> | null

West edge of a geographic bounding box (minimum longitude), inclusive. WGS-84 decimal degrees.

Required range: -180 <= x <= 180
UpperLongitude
number<double> | null

East edge of a geographic bounding box (maximum longitude), inclusive. WGS-84 decimal degrees.

Required range: -180 <= x <= 180
HasWebText
boolean | null

Filter by companies that have web text

Includes
string[] | null

Restrict results to these company numbers (CompanyNumber IN (...)).

Maximum array length: 5000
Excludes
string[] | null

Exclude these company numbers (CompanyNumber NOT IN (...)).

Maximum array length: 5000
WebTextPositiveKeywords
string[] | null

Positive keywords matched against web text (BM25 when FTS index exists; otherwise ILIKE).

Maximum array length: 25
WebTextPositiveKeywordsOperator
string | null

Combines positive keywords: AND (all) or OR (any).

Pattern: ^(AND|OR)$
WebTextPositiveKeywordsMode
string | null
deprecated

Backward-compatible alias for TDC_Global_Server_API_DE.Models.Filtering.Filters.WebTextPositiveKeywordsOperator.

Pattern: ^(AND|OR)$
WebTextNegativeKeywords
string[] | null

Negative keywords: rows matching these are excluded.

Maximum array length: 25
WebTextNegativeKeywordsOperator
string | null

Combines negative keyword checks inside NOT (...).

Pattern: ^(AND|OR)$
WebTextNegativeKeywordsMode
string | null
deprecated

Backward-compatible alias for TDC_Global_Server_API_DE.Models.Filtering.Filters.WebTextNegativeKeywordsOperator.

Pattern: ^(AND|OR)$
IncludeInsights
boolean | null

When false, skips insight bucket aggregation. Omit or null for default (include insights).

IncludeTotalCount
boolean | null

When false, skips total-count queries and omits TotalCount from the response. Omit or null for default (include total count).

IncludesLocations
boolean

When true, nested location lists are loaded on each company. Omit or null for default (omit lists).

Limit
integer<int32> | null

Maximum number of results to return (uses QueryConstants.MaxQueryLimit)

Required range: 1 <= x <= 1000
Offset
integer<int32> | null

Number of results to skip for pagination (default: 0)

Required range: 0 <= x <= 2147483647
SortBy
object[] | null

Sort options for the results

Maximum array length: 10

Response

OK

Response model containing filtered companies with pagination and insights

Companies
object[] | null
required

List of companies matching the filter criteria

Insights
object

Aggregated insights about filtered company data

TotalCount
integer<int32> | null

Total number of companies matching the filter criteria (before pagination). Omitted when not requested.

Last modified on July 30, 2026