Documentation
API DOCUMENTATION

/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).

Method: POST Auth: API Key Required Version: 2

Version and Endpoint

Additional optional request parameters and response properties may be added in the future to support enhancements. Integrations are encouraged to ignore unknown request parameters and gracefully handle any extra response fields. Existing parameters and properties will not be removed or renamed within the same API version.

Endpoints

  • POST /api/findcompanies : Paid endpoint, 1 credit per company returned.
  • POST /api/findcompanies/metadata : Free count endpoint for provided filter payload (returns JSON object with count).

Billing note: Embedded companyData in the response does not consume additional credits. Billing is only 1 credit per company returned by /api/findcompanies.

Metadata Endpoint (for financial filters)

The current financial filter definitions (labels, categories, and filter keys) are documented here:

Note: financialFilters[].filterName is case-insensitive.

See: /Documentation/v2/FindCompaniesMetaData.

Request

POST https://convert-ixbrl.co.uk/api/findcompanies

Paging is applied server-side for this endpoint. The response contains only the requested page.

Authentication

Requires API authentication headers. See Authentication documentation.

Request Body (FindCompaniesCriteria)

Name Type Optional Description
apiVersionstringNoAPI version. Must be "2".
searchTermstringYesCompany name/keywords.
industriesinteger[]YesArray of SIC codes (ANY match). See /Documentation/v2/SicCodes.
locationstringYesTown/city/postcode reference point for distance search.
locationMaxDistanceintegerYesDistance in miles from location.
statusstringYesCompany status filter.
incorporationDateFromstringYesFrom date (dd/MM/yyyy).
incorporationDateTostringYesTo date (dd/MM/yyyy).
accountsDueDateFromstringYesAccounts due from date (dd/MM/yyyy).
accountsDueDateTostringYesAccounts due to date (dd/MM/yyyy).
cs01DueDateFromstringYesCS01 due from date (dd/MM/yyyy).
cs01DueDateTostringYesCS01 due to date (dd/MM/yyyy).
directorAgeMinintegerYesMinimum director age.
directorAgeMaxintegerYesMaximum director age.
directorAgeFilterTypestringYes"any" or "all".
maxOtherCompaniesAtAddressintegerYesUpper bound on co-located companies.
pageNumberintegerYes1-based page number. Default 1.
pageSizeintegerYesNumber of companies per page. Default 100, maximum 100.
financialFiltersarrayYesAdvanced financial filters (see table below and metadata page).

financialFilters[] Object

Name Type Description
filterNamestringFilter name from metadata. Matching is case-insensitive and accepts no-prefix/snake/title variants.
descriptionstringHuman-readable filter label from metadata endpoint.
minValuedecimal?Minimum value for concept filter.
maxValuedecimal?Maximum value for concept filter.
categorystringFilter category name from metadata.
isDurationBasedbooleanDuration/instant concept indicator.
durationTypestringDuration type metadata value.

All Searchable Financial Filters

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 LabelCategoryFilter Key (financialFilters[].filterName)
Cash at Bank/On HandAssetsCashBankOnHand
Total InventoriesAssetsTotalInventories,OtherInventories
Total AssetsAssetsTotalAssets
Current AssetsAssetsCurrentAssets
Fixed AssetsAssetsFixedAssets
Net Current Assets LiabilitiesAssetsNetCurrentAssetsLiabilities
Total Assets Less Current LiabilitiesAssetsTotalAssetsLessCurrentLiabilities
Intangible Assets - AllAssetsIntangibleAssets
Intangible Assets, Gross / At CostAssetsIntangibleAssetsGrossCost
Intangible Assets - Accumulated Amortisation and ImpairmentAssetsAccumulatedAmortisationImpairmentIntangibleAssets
Total LiabilitiesLiabilitiesTotalLiabilities
Accrued LiabilitiesLiabilitiesAccruedLiabilities
DebtorsDebtorsDebtors,OtherDebtors
Trade Debtors/ Trade ReceivablesDebtorsTradeDebtorsTradeReceivables
CreditorsCreditorsCreditors,OtherCreditors,AccruedLiabilitiesNotExpressedWithinCreditorsSubtotal
Trade Creditors/ Trade PayablesCreditorsTradeCreditorsTradePayables
TurnoverRevenueTurnoverRevenue and Profit/LossTurnoverRevenue
Profit/LossTurnoverRevenue and Profit/LossProfitLoss
Net Cash Generated from OperationsTurnoverRevenue and Profit/LossNetCashGeneratedFromOperations
Interest Income on Bank depositsTurnoverRevenue and Profit/LossInterestIncomeOnBankDeposits
Pension and other post-employment benefit costs / other pension costsTax, Pension and BenefitsPensionOtherPost-employmentBenefitCostsOtherPensionCosts
Pension costs - Defined Contribution PlanTax, Pension and BenefitsPensionCosts
Pension - Unpaid contributions to Pension SchemesTax, Pension and BenefitsUnpaidContributionsToPensionSchemes
Social Security, Taxation and other related costsTax, Pension and BenefitsSocialSecurityCosts,OtherTaxationSocialSecurityPayable,TaxationSocialSecurityPayable,TaxationSocialSecurityPayable
Corporation Tax PayableTax, Pension and BenefitsCorporationTaxPayable
Government Grant IncomeGrantsGovernmentGrantIncome
Government Grants PayableGrantsGovernmentGrantsPayable
Employee Wages & SalariesEmployees and SalariesWagesSalaries
Director Salaries and FeesEmployees and SalariesSalariesFeesDirectors
Average Number of EmployeesEmployees and SalariesAverageNumberEmployeesDuringPeriod
Amount of Specific Advance or Credit Made in Period to DirectorsUncategorisedAmountSpecificAdvanceOrCreditMadeInPeriodDirectors
Amount of Specific Advance or Credit Made to DirectorsUncategorisedAmountSpecificAdvanceOrCreditDirectors
Total BorrowingsLiabilitiesTotalBorrowings
Bank OverdraftsLiabilitiesBankOverdrafts
Bank BorrowingsLiabilitiesBankBorrowingsOverdrafts
Other Remaining BorrowingsLiabilitiesOtherRemainingBorrowings
Loans From DirectorsLiabilitiesLoansFromDirectors
Amounts Owed to DirectorsLiabilitiesAmountsOwedToDirectors
Advances and Credits Repaid in Period to DirectorsLiabilitiesAdvancesCreditsRepaidInPeriodDirectors
Finance Lease Liabilities - Present Value TotalLiabilitiesFinanceLeaseLiabilitiesPresentValueTotal
InvestmentsInvestmentsInvestments
Investments - Fixed AssetsInvestmentsInvestmentsFixedAssets
Investments - PropertyInvestmentsInvestmentProperty
Investments - Property Fair Value ModelInvestmentsInvestmentPropertyFairValueModel
Investments - Current AssetInvestmentsCurrentAssetInvestments
Investments - Other (excluding loans)InvestmentsOtherInvestmentsOtherThanLoans
Investments - Group UndertakingsInvestmentsInvestmentsInGroupUndertakings,InvestmentsInGroupUndertakingsParticipatingInterests
Investments - In SubsidiariesInvestmentsInvestmentsInSubsidiaries,InvestmentsInSubsidiariesMeasuredFairValue
Investments - In AssociatesInvestmentsInvestmentsInAssociates
Investments - In Joint VenturesInvestmentsInvestmentsInJointVentures
Investments - Disposals(Property, Fair Value ModelInvestmentsDisposalsInvestmentPropertyFairValueModel
Net Assets/LiabilitiesEquityNetAssetsLiabilities
Equity - AllEquityEquity
Number of Shares Fully PaidEquityNumberSharesIssuedFullyPaid
Dividends PaidEquityDividendsPaidOnShares,DividendsPaid
Called Up Share Capital Not Paid EquityCalledUpShareCapitalNotPaidNotExpressedAsCurrentAsset
Called Up Share Capital Not Paid EquityCalledUpShareCapitalNotPaid
Property, Plant & EquipmentProperty, Plant & EquipmentPropertyPlantEquipment
Property, Plant & Equipment Gross CostProperty, Plant & EquipmentPropertyPlantEquipmentGrossCost
Audit - Fee/ExpensesAudit Related FeesAuditFeesExpenses
Audit - Fee for Non Audit ServicesAudit Related FeesFeesForNonauditServices,OtherNonauditServicesFees

Example Request (Search)

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
}

Example Request (Count Only, Free)

POST https://convert-ixbrl.co.uk/api/findcompanies/metadata
{
  "apiVersion": "2",
  "industries": [62020],
  "financialFilters": [
    {
      "filterName": "TurnoverRevenue",
      "description": "TurnoverRevenue",
      "minValue": 5000000,
      "maxValue": 500000000
    }
  ]
}
{
  "success": true,
  "count": 10535,
  "error": null,
  "errorMessage": null
}

Example Response (Search)

{
  "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
      }
    }
  ]
}

Response Fields

Field Type Description
statusstringOk or Error.
errorMessagestring?Error details if request fails.
lastDataUpdatedDatestringDataset refresh date.
totalResultsintegerTotal number of matched companies for the supplied filters.
pageNumberintegerCurrent 1-based page returned.
pageSizeintegerPage size used to return results.
totalPagesintegerTotal available pages for current filters.
hasNextPagebooleantrue when another page is available.
hasPreviousPagebooleantrue when pageNumber > 1.
resultsarrayMatched companies.

results[] Fields (Summary)

Group Fields
IdentitycompanyNumber, title, companyStatus, companyIncorporated
AddresscompanyRegisteredAddress, regAddressLine1, regAddressLine2, regAddressPostTown, regAddressPostCode, regAddressCountry
SICsicCode1-4, sicCode1Text-4Text. Reference list: /Documentation/v2/SicCodes
Compliance datesaccountsDueDate, accountsOverDue, cs01DueDate, cs01OverDue
OtherresultNumber, companyData

companyData (per result)

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".

HTTP Response Codes

Status Code Description
200Successful request.
402Insufficient credits for /api/findcompanies.
400Bad request, invalid auth headers, or invalid financialFilters.
410/api/findcompanies/count and /api/searchresultscount are removed; use /api/findcompanies/metadata.
429Rate limit exceeded.
500Server 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"]
    }
  ]
}

Validation Rules

  • 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, or financialFilters).
  • searchTerm: minimum 3 characters (when provided) and only allowed characters used by portal validation.
  • locationMaxDistance: must be between 0 and 30.
  • directorAgeMin: must be at least 18 (if provided).
  • directorAgeMax: must be 98 or less (if provided).
  • Date ranges: invalid dates are rejected; for each pair, from cannot be later than to.
  • financialFilters: unknown filters and minValue > maxValue are rejected.