UK Company Distress Check: Status, Filings, Insolvency avatar

UK Company Distress Check: Status, Filings, Insolvency

Pricing

from $3.00 / 1,000 company checkeds

Go to Apify Store
UK Company Distress Check: Status, Filings, Insolvency

UK Company Distress Check: Status, Filings, Insolvency

Check if a UK company is insolvent or in distress. One row per company number: Companies House status, overdue accounts, charges, insolvency cases and Gazette insolvency notices, with a distress level. No API key needed. Unknown numbers are never charged.

Pricing

from $3.00 / 1,000 company checkeds

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Paste a list of UK company numbers and get one row per company that answers a single question: is this company insolvent or heading that way? Each row reads the company's Companies House record (status, overdue accounts and confirmation statement, registered charges, insolvency cases) and searches The Gazette for insolvency notices against it, then folds the two into a distressLevel of high, medium or none with the flags behind it. The quickest way to check if a UK company is insolvent for a whole list at once. No API key, no account, no browser.

Who it's for

  • Credit controllers and finance teams checking customers before extending terms, and re-checking the debtor book every month.
  • Procurement and supplier-risk teams screening a vendor list for companies that are in liquidation, in administration or about to be struck off.
  • Landlords, lenders and insurers checking a counterparty's outstanding charges and insolvency history before signing.
  • Insolvency, turnaround and M&A advisers finding the companies in a portfolio or a sector list that show early signs: overdue filings, a strike-off proposal, a winding-up petition.
  • Sales and RevOps teams removing dissolved and insolvent companies from a CRM export.

What you get

One flat row per company:

WhatColumns
The answerdistressLevel, distressFlags
The companycompanyNumber, companyName, companyStatus, companyStatusText, companyType, dateOfCreation, dateOfCessation, previousCompanyNames
FilingsaccountsNextDueDate, accountsOverdue, lastAccountsMadeUpTo, confirmationStatementNextDueDate, confirmationStatementOverdue, strikeOffProposed
Insolvency cases at Companies HousehasInsolvencyHistory, insolvencyCaseCount, latestInsolvencyCaseType, insolvencyCases
Charges (mortgages and other security)chargesTotal, chargesOutstanding, chargesSatisfied, chargesPartSatisfied, latestChargeCreatedOn
Gazette insolvency noticesgazetteNoticeCount, latestGazetteNoticeDate, latestGazetteNoticeType, gazetteNotices
EvidencechecksRun, checkNotes, source, sourceUrl, gazetteSearchUrl, scrapedAt

Two example rows, shortened. Read on 2026-10-11:

companyNumbercompanyNamedistressLevelcompanyStatusaccountsOverdueinsolvencyCaseCountlatestInsolvencyCaseTypechargesOutstandinggazetteNoticeCountlatestGazetteNoticeType
00365335WL REALISATIONS (2023) LIMITEDhighliquidationtrue2Creditors voluntary liquidation73Appointment of Liquidators
00445790TESCO PLCnoneactivefalse00

The first company traded as Wilko until 2023; previousCompanyNames carries that, and the Gazette notices published under the old name are matched to it.

The flags and the level

distressFlags is drawn from a fixed set, and distressLevel is computed from it by a rule you can read rather than a score you have to trust.

FlagFires when
INSOLVENCY_STATUSThe Companies House status is liquidation, administration, receivership, voluntary arrangement or insolvency proceedings
COMPANY_DISSOLVEDThe company is dissolved, closed or removed from the register
STRIKE_OFF_PROPOSEDThe status carries an active proposal to strike the company off
ACCOUNTS_OVERDUECompanies House marks the annual accounts overdue
CONFIRMATION_STATEMENT_OVERDUECompanies House marks the confirmation statement overdue
INSOLVENCY_CASE_ON_RECORDThe register lists at least one insolvency case, current or past
GAZETTE_INSOLVENCY_NOTICEThe Gazette has at least one corporate insolvency notice for this company
GAZETTE_WINDING_UP_PETITIONOne of those notices is a petition to wind the company up
GAZETTE_WINDING_UP_ORDEROne of those notices is a winding-up order
GAZETTE_NOTICE_LAST_12_MONTHSA Gazette insolvency notice was published in the last 365 days

The rule. high when any of INSOLVENCY_STATUS, COMPANY_DISSOLVED, STRIKE_OFF_PROPOSED or GAZETTE_NOTICE_LAST_12_MONTHS is present. medium for any other flag. none for no flag.

Two rules the flags obey:

  1. A check that could not run never raises a flag. If the Gazette could not be read, the Gazette columns are empty and no Gazette flag fires. checksRun lists what answered.
  2. Empty is not zero. chargesTotal is empty when the register printed no count, and 0 only when the source said zero. checkNotes says in plain English why anything is empty.

Registered charges are reported but are not a flag: most healthy companies with a bank loan have outstanding charges.

How to use UK Company Distress Check

  1. In the Apify Console. Open the actor page and click Start — the companyNumbers field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~uk-company-distress-check/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"companyNumbers":["00365335","00445790"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"companyNumbers": [
"00365335",
"00445790"
]
}

One Companies House company number per line, e.g. 00445790 or SC012345. Leading zeros may be left off, and a Companies House company page URL works too. Each company gets one row: status, overdue filings, charges, insolvency cases and any Gazette insolvency notice, with a distress level. No key needed. Accepted formats: 00445790, SC012345, 445790, https://find-and-update.company-information.service.gov.uk/company/00445790.

Output

queryfoundstatuscompanyNumbercompanyNamedistressLeveldistressFlagscompanyStatuscompanyStatusTextcompanyTypedateOfCreationdateOfCessationaccountsNextDueDateaccountsOverduelastAccountsMadeUpToconfirmationStatementNextDueDateconfirmationStatementOverduestrikeOffProposedhasInsolvencyHistoryinsolvencyCaseCountlatestInsolvencyCaseTypeinsolvencyCaseschargesTotalchargesOutstandingchargesSatisfiedchargesPartSatisfiedlatestChargeCreatedOngazetteNoticeCountlatestGazetteNoticeDatelatestGazetteNoticeTypegazetteNoticespreviousCompanyNameschecksRuncheckNotessourcesourceUrlgazetteSearchUrlscrapedAt
00365335trueOK<insolvency cases (list)><gazette notices (list)>1970-01-01T00:00:00.000Z

A company number that Companies House does not know, a number in the wrong format, a duplicate and a company whose page could not be read each come back as a row with "found": false, a status (NOT_FOUND, BAD_FORMAT, DUPLICATE, BLOCKED) and a message that says why. They are never charged.

Example runs

Three inputs that need no key of any kind and return rows as they stand. Paste one into the Input tab and press Start.

1. Is this company insolvent? One in liquidation next to a healthy one

{
"companyNumbers": ["00365335", "00445790"]
}

2. A supplier list, numbers pasted as a spreadsheet gives them (leading zeros lost, one Scottish)

{
"companyNumbers": ["445790", "365335", "SC004276"],
"onlyFound": true
}

3. A long list, fast: Companies House only, without the Gazette search

{
"companyNumbers": ["00365335", "00445790", "00000006"],
"includeGazette": false,
"maxConcurrency": 5
}

Pricing

Pay-per-event. A flat per-run fee covers session/proxy warmup; each independent source is billed under its own event, only when that source actually returns data — see .actor/pay_per_event.json for exact prices. A miss is never charged.

You pay once per company whose Companies House record was read, and nothing else:

  • A healthy company with no flags is a result and is charged. That answer is what you came for.
  • An unknown number, a badly formed number and a company whose page could not be read are free.
  • A number listed twice is checked and charged once.
  • The Gazette search is included in the price. If the Gazette could not be read, the row still carries the full Companies House answer and says so in checkNotes.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~uk-company-distress-check/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"companyNumbers":["00365335","00445790"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~uk-company-distress-check/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"companyNumbers":["00365335","00445790"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~uk-company-distress-check/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"companyNumbers":["{{UK company}}"]}, mapping the row's UK company into the companyNumbers array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "check if UK company is insolvent" — the agent will find and run this actor.

Where the data comes from

  • Companies House, the UK's official company register. Without a key the actor reads the public register: the company's overview page, its Charges page and, when the company has insolvency history, its Insolvency page. With your own free Companies House API key it reads the same three records from the Companies House API instead. source says which route a row used.
  • The Gazette, the UK's official public record, where insolvency notices must be published: winding-up petitions and orders, appointments of administrators and liquidators, creditors' meetings. The actor runs one search of the insolvency notices for the company number and keeps the corporate notices whose company name is the company's current or a previous name.

Both are published under the Open Government Licence.

Limits, stated plainly

  • This is a register check, not a credit score. It reports what the two official sources say today. It does not read accounts, estimate the chance of failure or say whether a company can pay you.
  • Overdue filings are a signal, not proof. Many small companies file late and trade for years. Once a company is in liquidation or administration its filings are usually overdue as a matter of course; checkNotes says so on those rows.
  • A winding-up petition appears in the Gazette only once it is advertised, which is at least a week after it is presented, and a petition that is paid off is never advertised.
  • The Gazette search matches on company number and name. A notice that prints neither the number nor one of the company's names is not found. Notices that carry the number under a different name are left out and counted in checkNotes; gazetteSearchUrl opens the same search for a manual look.
  • The Gazette asks for 10 seconds between requests. With the Gazette check on, a run takes about 10 seconds per company whatever the concurrency: 100 companies take about 17 minutes. Turn includeGazette off for speed.
  • Charge counts come from the register's Charges page. When that page prints no count the charge columns are empty rather than 0. latestChargeCreatedOn looks at the newest page of charges only.
  • Insolvency practitioners, officers and persons entitled to a charge are not returned.
  • Personal insolvency is out of scope. Bankruptcy and other notices about individuals are dropped before anything is returned. This actor is about companies.
  • With your own API key, Companies House allows 600 requests per 5 minutes on that key, and a company takes up to three. If the key is refused or its limit is reached, the row is read from the public register and says so.

Data & privacy

The actor reads official public records about companies. It returns no data about individuals: no officers, no persons with significant control, no insolvency practitioners, no personal insolvency notices. An API key, if you give one, is used for the run's requests to Companies House only, is never written to a row or a log, and nothing is stored between runs.

FAQ

Do I need a Companies House API key? No. Leave the key empty and the actor reads the public register. A key is worth adding only if you already have one and want the answer to come from the API.

What does distressLevel: none mean? That none of the flags fired in the checks listed in checksRun. It is not a statement that the company is financially sound.

A company is high but still trading. Is that a mistake? Companies trade through administration and through a proposal to strike off that is later withdrawn. The flag says what the register says; companyStatusText, insolvencyCases and gazetteNotices carry the detail.

Can I run this every week over the same list? Yes. Save the input as a task and add a schedule. Each run returns the current state of every company; compare distressLevel and distressFlags with the previous run's dataset to see what changed.

I only have company names, not numbers. Run Companies House Search first: it turns a name into company numbers, and its companyNumber column pastes straight into this actor.

  • Companies House Search to turn company names into company numbers.
  • Companies House UK Lookup for the full register profile: address, SIC codes, company type.
  • UK Insolvency Notice Alerts to be told when a new insolvency notice is published, across all companies or a watchlist.
  • Vendor Due Diligence for suppliers outside the UK: registry, VAT, LEI and domain checks.
  • UK Company Incorporation Alert for newly registered companies.