Skip to main content
POST
Classify 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
Cutoff
number<double> | null

Minimum raw classifier score (bias + weighted terms), not a percentage.

Yes
string[] | null

List of company numbers to include in the classification

No
string[] | null

List of company numbers to exclude from the classification

VerticalSeed
string | null

Optional RTIC vertical code whose training rows are loaded from the vertical seed parquet.

UseTranslatedWebTextForYesNo
boolean | null

When true, adds translated web-text training rows for TDC_Global_Server_API_US.Models.Filtering.ClassificationFilters.Yes and TDC_Global_Server_API_US.Models.Filtering.ClassificationFilters.No companies. When omitted, uses the host default.

VerticalSeedNativeLanguageOnly
boolean

When true, vertical seed uses only the host native language, not English.

ManuallyInclude
string[] | null

List of company numbers to manually include in the classification

ManuallyExclude
string[] | null

List of company numbers to manually exclude from the classification

Response

OK

Complete classification API payload (host chooses for JSON shape, e.g. Siren vs company number).

Status
object

Status and timing metrics for a classification operation.

CompaniesAboveCutoff
integer<int64>

Count of companies scoring strictly above the cutoff.

CompaniesAboveCutoffMatchingFilters
integer<int64>

Count of those companies that also match active filters.

ModelCode
string | null

Classifier model identifier.

WordScores
object[] | null

Trained classifier vocabulary weights (linear model coefficients).

ScoreDistribution
object[] | null

Histogram of scores across the candidate set.

Results
object[] | null

Per-company classification results.

Last modified on July 30, 2026