/api/findcompanies
Find Companies returns companies matching your criteria. Each result includes both search summary fields and a full companyData object (same shape as /api/companydata: profile, financials, officers, psc).
POST /api/findcompanies: Paid endpoint, 1 credit per company returned.POST /api/findcompanies/metadata: Free count endpoint for provided filter payload (returns JSON object withcount).
Billing note: Embedded companyData in the response does not consume additional credits. Billing is only 1 credit per company returned by /api/findcompanies.
The current financial filter definitions (labels, categories, and filter keys) are documented here:
Note: financialFilters[].filterName is case-insensitive.
Paging is applied server-side for this endpoint. The response contains only the requested page.
Requires API authentication headers. See Authentication documentation.
| Name | Type | Optional | Description |
|---|---|---|---|
apiVersion | string | No | API version. Must be "2". |
searchTerm | string | Yes | Company name/keywords. |
industries | integer[] | Yes | Array of SIC codes (ANY match). See /Documentation/v2/SicCodes. |
location | string | Yes | Town/city/postcode reference point for distance search. |
locationMaxDistance | integer | Yes | Distance in miles from location. |
status | string | Yes | Company status filter. |
incorporationDateFrom | string | Yes | From date (dd/MM/yyyy). |
incorporationDateTo | string | Yes | To date (dd/MM/yyyy). |
accountsDueDateFrom | string | Yes | Accounts due from date (dd/MM/yyyy). |
accountsDueDateTo | string | Yes | Accounts due to date (dd/MM/yyyy). |
cs01DueDateFrom | string | Yes | CS01 due from date (dd/MM/yyyy). |
cs01DueDateTo | string | Yes | CS01 due to date (dd/MM/yyyy). |
directorAgeMin | integer | Yes | Minimum director age. |
directorAgeMax | integer | Yes | Maximum director age. |
directorAgeFilterType | string | Yes | "any" or "all". |
maxOtherCompaniesAtAddress | integer | Yes | Upper bound on co-located companies. |
pageNumber | integer | Yes | 1-based page number. Default 1. |
pageSize | integer | Yes | Number of companies per page. Default 100, maximum 100. |
financialFilters | array | Yes | Advanced financial filters (see table below and metadata page). |
| Name | Type | Description |
|---|---|---|
filterName | string | Filter name from metadata. Matching is case-insensitive and accepts no-prefix/snake/title variants. |
description | string | Human-readable filter label from metadata endpoint. |
minValue | decimal? | Minimum value for concept filter. |
maxValue | decimal? | Maximum value for concept filter. |
category | string | Filter category name from metadata. |
isDurationBased | boolean | Duration/instant concept indicator. |
durationType | string | Duration type metadata value. |
The filter keys listed below already strip taxonomy prefixes (e.g. core_, direp_, aurep_). Use the values shown (case-insensitive) for financialFilters[].filterName when building search or metadata payloads.
| Filter Label | Category | Filter Key (financialFilters[].filterName) |
|---|---|---|
Cash at Bank/On Hand | Assets | CashBankOnHand |
Total Inventories | Assets | TotalInventories,OtherInventories |
Total Assets | Assets | TotalAssets |
Current Assets | Assets | CurrentAssets |
Fixed Assets | Assets | FixedAssets |
Net Current Assets Liabilities | Assets | NetCurrentAssetsLiabilities |
Total Assets Less Current Liabilities | Assets | TotalAssetsLessCurrentLiabilities |
Intangible Assets - All | Assets | IntangibleAssets |
Intangible Assets, Gross / At Cost | Assets | IntangibleAssetsGrossCost |
Intangible Assets - Accumulated Amortisation and Impairment | Assets | AccumulatedAmortisationImpairmentIntangibleAssets |
Total Liabilities | Liabilities | TotalLiabilities |
Accrued Liabilities | Liabilities | AccruedLiabilities |
Debtors | Debtors | Debtors,OtherDebtors |
Trade Debtors/ Trade Receivables | Debtors | TradeDebtorsTradeReceivables |
Creditors | Creditors | Creditors,OtherCreditors,AccruedLiabilitiesNotExpressedWithinCreditorsSubtotal |
Trade Creditors/ Trade Payables | Creditors | TradeCreditorsTradePayables |
TurnoverRevenue | TurnoverRevenue and Profit/Loss | TurnoverRevenue |
Profit/Loss | TurnoverRevenue and Profit/Loss | ProfitLoss |
Net Cash Generated from Operations | TurnoverRevenue and Profit/Loss | NetCashGeneratedFromOperations |
Interest Income on Bank deposits | TurnoverRevenue and Profit/Loss | InterestIncomeOnBankDeposits |
Pension and other post-employment benefit costs / other pension costs | Tax, Pension and Benefits | PensionOtherPost-employmentBenefitCostsOtherPensionCosts |
Pension costs - Defined Contribution Plan | Tax, Pension and Benefits | PensionCosts |
Pension - Unpaid contributions to Pension Schemes | Tax, Pension and Benefits | UnpaidContributionsToPensionSchemes |
Social Security, Taxation and other related costs | Tax, Pension and Benefits | SocialSecurityCosts,OtherTaxationSocialSecurityPayable,TaxationSocialSecurityPayable,TaxationSocialSecurityPayable |
Corporation Tax Payable | Tax, Pension and Benefits | CorporationTaxPayable |
Government Grant Income | Grants | GovernmentGrantIncome |
Government Grants Payable | Grants | GovernmentGrantsPayable |
Employee Wages & Salaries | Employees and Salaries | WagesSalaries |
Director Salaries and Fees | Employees and Salaries | SalariesFeesDirectors |
Average Number of Employees | Employees and Salaries | AverageNumberEmployeesDuringPeriod |
Amount of Specific Advance or Credit Made in Period to Directors | Uncategorised | AmountSpecificAdvanceOrCreditMadeInPeriodDirectors |
Amount of Specific Advance or Credit Made to Directors | Uncategorised | AmountSpecificAdvanceOrCreditDirectors |
Total Borrowings | Liabilities | TotalBorrowings |
Bank Overdrafts | Liabilities | BankOverdrafts |
Bank Borrowings | Liabilities | BankBorrowingsOverdrafts |
Other Remaining Borrowings | Liabilities | OtherRemainingBorrowings |
Loans From Directors | Liabilities | LoansFromDirectors |
Amounts Owed to Directors | Liabilities | AmountsOwedToDirectors |
Advances and Credits Repaid in Period to Directors | Liabilities | AdvancesCreditsRepaidInPeriodDirectors |
Finance Lease Liabilities - Present Value Total | Liabilities | FinanceLeaseLiabilitiesPresentValueTotal |
Investments | Investments | Investments |
Investments - Fixed Assets | Investments | InvestmentsFixedAssets |
Investments - Property | Investments | InvestmentProperty |
Investments - Property Fair Value Model | Investments | InvestmentPropertyFairValueModel |
Investments - Current Asset | Investments | CurrentAssetInvestments |
Investments - Other (excluding loans) | Investments | OtherInvestmentsOtherThanLoans |
Investments - Group Undertakings | Investments | InvestmentsInGroupUndertakings,InvestmentsInGroupUndertakingsParticipatingInterests |
Investments - In Subsidiaries | Investments | InvestmentsInSubsidiaries,InvestmentsInSubsidiariesMeasuredFairValue |
Investments - In Associates | Investments | InvestmentsInAssociates |
Investments - In Joint Ventures | Investments | InvestmentsInJointVentures |
Investments - Disposals(Property, Fair Value Model | Investments | DisposalsInvestmentPropertyFairValueModel |
Net Assets/Liabilities | Equity | NetAssetsLiabilities |
Equity - All | Equity | Equity |
Number of Shares Fully Paid | Equity | NumberSharesIssuedFullyPaid |
Dividends Paid | Equity | DividendsPaidOnShares,DividendsPaid |
Called Up Share Capital Not Paid | Equity | CalledUpShareCapitalNotPaidNotExpressedAsCurrentAsset |
Called Up Share Capital Not Paid | Equity | CalledUpShareCapitalNotPaid |
Property, Plant & Equipment | Property, Plant & Equipment | PropertyPlantEquipment |
Property, Plant & Equipment Gross Cost | Property, Plant & Equipment | PropertyPlantEquipmentGrossCost |
Audit - Fee/Expenses | Audit Related Fees | AuditFeesExpenses |
Audit - Fee for Non Audit Services | Audit Related Fees | FeesForNonauditServices,OtherNonauditServicesFees |
SIC lookup: /Documentation/v2/SicCodes.
{
"apiVersion": "2",
"searchTerm": "",
"industries": [62020, 70229, 47990],
"location": "Leeds",
"locationMaxDistance": 30,
"status": "Active",
"incorporationDateFrom": "01/01/2018",
"incorporationDateTo": "31/12/2024",
"directorAgeMin": 40,
"directorAgeMax": 50,
"directorAgeFilterType": "any",
"maxOtherCompaniesAtAddress": 50,
"financialFilters": [
{
"filterName": "turnoverrevenue",
"description": "Turnover / Revenue",
"minValue": 5000000,
"maxValue": 500000000,
"category": "Profit and Loss",
"isDurationBased": true,
"durationType": "Duration"
}
],
"sendAlerts": false,
"queryName": "",
"sortOrder": "",
"pageNumber": 1,
"pageSize": 10,
"id": 0
}
{
"apiVersion": "2",
"industries": [62020],
"financialFilters": [
{
"filterName": "TurnoverRevenue",
"description": "TurnoverRevenue",
"minValue": 5000000,
"maxValue": 500000000
}
]
}
{
"success": true,
"count": 10535,
"error": null,
"errorMessage": null
}
{
"status": "Ok",
"errorMessage": null,
"lastDataUpdatedDate": "20/02/2026",
"totalResults": 10535,
"pageNumber": 1,
"pageSize": 100,
"totalPages": 106,
"hasNextPage": true,
"hasPreviousPage": false,
"results": [
{
"companyNumber": "12345678",
"title": "EXAMPLE CONSULTING LTD",
"companyStatus": "Active",
"companyIncorporated": "12/05/2019",
"companyRegisteredAddress": "LEEDS",
"regAddressLine1": "1 EXAMPLE STREET",
"regAddressPostTown": "LEEDS",
"regAddressPostCode": "LS1 1AA",
"regAddressCountry": "UNITED KINGDOM",
"sicCode1": "62020",
"sicCode1Text": "Information technology consultancy activities",
"accountsDueDate": "30/09/2026",
"accountsOverDue": false,
"cs01DueDate": "18/06/2026",
"cs01OverDue": false,
"resultNumber": 1,
"companyData": {
"status": "Ok",
"profile": {
"companyNumber": "12345678",
"companyName": "Example Consulting Ltd"
},
"financials": {
"company_financial_list": []
},
"officers": [],
"psc": [],
"error_message": null
}
}
]
}
| Field | Type | Description |
|---|---|---|
status | string | Ok or Error. |
errorMessage | string? | Error details if request fails. |
lastDataUpdatedDate | string | Dataset refresh date. |
totalResults | integer | Total number of matched companies for the supplied filters. |
pageNumber | integer | Current 1-based page returned. |
pageSize | integer | Page size used to return results. |
totalPages | integer | Total available pages for current filters. |
hasNextPage | boolean | true when another page is available. |
hasPreviousPage | boolean | true when pageNumber > 1. |
results | array | Matched companies. |
| Group | Fields |
|---|---|
| Identity | companyNumber, title, companyStatus, companyIncorporated |
| Address | companyRegisteredAddress, regAddressLine1, regAddressLine2, regAddressPostTown, regAddressPostCode, regAddressCountry |
| SIC | sicCode1-4, sicCode1Text-4Text. Reference list: /Documentation/v2/SicCodes |
| Compliance dates | accountsDueDate, accountsOverDue, cs01DueDate, cs01OverDue |
| Other | resultNumber, companyData |
companyData follows the same contract as /api/companydata:
status, profile, financials, officers, psc, error_message.
See /Documentation/v2/CompanyData for full nested field details.
Root-level financial snapshot fields are not included in results[].
Use companyData.financials.company_financial_list for financial-year details.
Test key behavior: when test credentials are used, companyData.financials.company_financial_list
is reduced to sample-year data, root-level SIC fields (sicCode1-4, sicCode1Text-4Text) are masked, and sensitive profile/officers/psc fields are redacted as
"Not available when using Test key".
| Status Code | Description |
|---|---|
200 | Successful request. |
402 | Insufficient credits for /api/findcompanies. |
400 | Bad request, invalid auth headers, or invalid financialFilters. |
410 | /api/findcompanies/count and /api/searchresultscount are removed; use /api/findcompanies/metadata. |
429 | Rate limit exceeded. |
500 | Server error. |
When financialFilters are invalid, the API returns a helpful 400 payload with
per-filter details and suggested closest matches.
{
"success": false,
"count": 0,
"error": "InvalidRequest",
"errorMessage": "One or more request fields are invalid.",
"validationErrors": [
{
"field": "locationMaxDistance",
"message": "locationMaxDistance must be between 0 and 30."
}
]
}
{
"success": false,
"count": 0,
"error": "InvalidFinancialFilters",
"errorMessage": "One or more financial filters are invalid.",
"validationErrors": [
{
"index": 0,
"message": "Unknown filterName. Provide a valid filterName from the documentation.",
"providedDescription": null,
"providedFilterName": "TurnoverRevenuee",
"suggestions": ["TurnoverRevenue", "NetAssetsLiabilities", "CashBankOnHand"]
}
]
}
apiVersion: required and must be"2".- At least one search criterion/filter must be provided (for example
searchTerm,industries,location, date range, director age, status, orfinancialFilters). searchTerm: minimum 3 characters (when provided) and only allowed characters used by portal validation.locationMaxDistance: must be between0and30.directorAgeMin: must be at least18(if provided).directorAgeMax: must be98or less (if provided).- Date ranges: invalid dates are rejected; for each pair,
fromcannot be later thanto. financialFilters: unknown filters andminValue > maxValueare rejected.