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 US companies with comprehensive search criteria

NAICS
string[] | null

Filter by specific NAICS codes (US business classification). Wire name NAICS.

Name
string | null

Filter by company name prefix, company number, 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 (e.g., "1-9", "10-49", "50-249", "250+")

Maximum string length: 20

Filter by legal form (e.g., "Corporation", "LLC", "Partnership", "Sole Proprietorship")

Maximum string length: 150

Filter by one or more legal forms 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}$
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 in US dollars

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

Maximum annual turnover in US dollars

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

Minimum EBIT (Earnings Before Interest and Taxes) in US dollars

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

Maximum EBIT (Earnings Before Interest and Taxes) in US dollars

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

Minimum net income in US dollars

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

Maximum net income in US dollars

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.

RNAICS
string[] | null

Filter by RNAIC codes. Matches companies that have any of the specified RNAIC codes. Wire name RNAICS.

State
string[] | null

Filter by state slug or display name from GET /api/filters (states[].id / states[].name), e.g. new-york or New York.

Maximum array length: 100
Zipcode
string[] | null

Filter by zipcode

Maximum array length: 100
Town
string[] | null

Filter by town

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_US.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_US.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. Default is false.

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