How to Verify a Company Is Still in Business
Dead companies are the silent tax on every scraped list. They inflate your count so it looks better than it is, they burn your sending reputation with bounces, and they consume your most expensive resource — the time you spend writing a thoughtful message to a business that stopped trading two years ago.
Nobody marks them. No company updates its website to say "we closed." The domain keeps resolving, the phone rings somewhere, the map listing sits there. You find out when the bounce comes back — or worse, you never hear anything and assume your offer was weak.
The fix is not one magic check but a tiered workflow: run the cheapest signals over the whole list, escalate only ambiguous cases, and stop where another hour of research costs more than just sending the message.
First, four states — not two
"In business or not" is too coarse, and treating it as binary is what makes people delete good leads.
- Dead. Ceased trading, no successor. Worthless — delete it, but record why, so a later import does not resurrect it.
- Dormant. Legally alive, filing minimal returns, not actively trading — holding entities, seasonal businesses between seasons, founders who parked a company. It will not buy today but may next year. Park it, do not delete it.
- Acquired but still trading under the old brand. The registry entry may be struck off or absorbed while the shopfront, the staff and the phone all carry on. Naive registry checking kills a perfectly reachable lead here. What changed is the decision-maker, and often the budget with them.
- Rebranded. Same entity, new name, new domain. Nothing is dead; your record is simply stale, and the fix is to update it, not remove it.
Only the first is worthless. A process that outputs a single "invalid" flag throws away three usable categories to catch one. Build the distinction into your fields from the start.
Tier 1: free, instant, no contact required
These run at list scale, cost nothing, and require contacting nobody. Run them over everything before you look at anything by hand.
Registry status
Where the corporate register is open and reasonably current, status is the strongest single signal available. Vocabulary varies by jurisdiction, but the states are broadly the same: active, in liquidation or administration, struck off, dissolved. A dissolved entity is about as unambiguous as this gets.
Two cautions. The register describes the legal entity, not the trading operation — sole traders and small partnerships often map to no findable entry. And status lags reality in a direction that differs by country: in some jurisdictions a company that stopped trading last spring still reads "active" a year later, because strike-off follows missed filings and those take time to accumulate. In others an entity is flagged in default or pending strike-off within weeks, sometimes over an administrative slip while it trades normally. Learn which way your market leans before trusting the flag.
Website liveness, done properly
The near-universal mistake is treating "the site loads" as evidence the business is alive. It is not — domains resolve for years after the people behind them moved on. What matters is whether anyone has touched it recently.
- A parked or placeholder page where a real site used to be — registrar holding pages, "coming soon" screens, a bare directory listing.
- An expired SSL certificate. Certificates renew automatically for anyone paying attention; an expired one means nobody is watching the alerts.
- A copyright year several years stale in the footer. Weak alone — plenty of live sites hardcode it — but strong in combination.
- A blog whose last post is three years old. Businesses abandon content marketing constantly, so read this as soft.
- A careers page with nothing on it, or one that errors out entirely.
- Broken forms and dead links — a contact form that throws an error, a booking widget that never loads, a shop that will not add to cart. Somebody still selling would have noticed.
Individually each is noise. Three or four together on one domain is a strong read. Score them rather than gating on any single one.
Domain and hosting signals
Registration data shows whether a domain is near expiry or recently changed hands — both worth flagging. A domain that lapsed and was re-registered by someone else is a clean kill signal: the new holder has no connection to your lead. A site that moved from a real host onto a parking service has almost certainly been abandoned.
Does the domain accept mail at all?
Before verifying individual addresses, verify the domain. One with no mail exchange record configured cannot receive email from anyone, so every address you hold there is dead on arrival. It is one lookup per domain, not per contact — cheap even on huge lists, and it clears whole clusters of addresses at once instead of one bounce at a time.
Tier 2: free, but needs a moment of attention
These need a human glance or a smarter script. Run them on whatever survived tier one and still matters.
Review recency — the most under-used check there is
For consumer-facing businesses, review recency is the closest thing to a live pulse, and almost nobody uses it. The signal is not the rating or the count but the date of the most recent review, read against the category's normal rhythm.
A restaurant, clinic, salon or garage in a populated area accrues reviews steadily whether or not it asks. If one has nothing new in eighteen months, something happened: it closed, moved, or collapsed to a fraction of its volume.
Compare to the category, never to an absolute. A specialist manufacturer may legitimately go three years between reviews, because nobody reviews their supplier of industrial fasteners. A cafe three years silent is closed. Same gap, opposite conclusions.
Maps listings and "permanently closed"
Read closed flags on map listings, but understand their source: they are largely crowd-reported and moderated, so they lag reality in both directions. A business can be shut for months before anyone reports it, and a live one can carry a wrong flag for weeks because a confused customer submitted it after arriving outside opening hours.
Treat it as one weighted input. A closed flag plus a stale site plus no reviews in two years is a confident kill. The same flag alone, against a site updated last month, is more likely a bad report than a dead business.
Social accounts: abandoned versus never used
Last-post dates work like review dates, with one distinction people constantly miss. There is an enormous difference between an account that posted regularly for four years then stopped dead, and one with three posts from the week it was created and nothing since.
The first is a real signal. The second is no signal at all: plenty of thriving businesses set up a profile once, decided they hated it, and went back to work. Judging them dead because a channel they never used is quiet is a straightforward error. Read the shape of the history, not just the last date.
Job postings — the strongest positive signal
Everything above is evidence of absence. Hiring is evidence of presence, and the strongest positive liveness signal there is. A company that posted a role this month is unambiguously trading: payroll, someone doing the hiring, an expectation that work exists in ninety days. No amount of stale website makes that ambiguous.
It is directional too — hiring shows which function is growing, often the exact context that makes outreach land. Absence of postings means nothing, since most small businesses go years without hiring, so treat it as a positive-only check that lifts records out of the ambiguous pile.
Tier 3: cheap, but not free
Now you spend money or minutes per record. Escalate only what survived the free tiers and is genuinely worth it.
Phone verification
A call, or an automated line check, resolves ambiguity fast. Three outcomes, three meanings:
- Disconnected or unassigned. Strong negative. Combined with anything from tier one, it closes the case.
- Rings but is never answered across several attempts at different times. Suggestive, not conclusive — plenty of small businesses no longer answer unknown numbers, and some route everything to a voicemail nobody empties.
- Answered by a different company. The most informative result, and the most misread. This usually means acquisition, merger or rebrand — not death. Somebody is trading at that number. Update and re-qualify the record instead of deleting it.
Email verification services and their real limit
Address-level verification catches syntax errors, known-dead mailboxes and domains that reject outright. Run it before any send — but know where it stops being useful.
The wall is catch-all domains. One configured to accept mail at every possible address will confirm any address you test, including ones you invented. A "valid" verdict there means the domain accepts mail and nothing else — not that a mailbox exists, not that a human reads it, certainly not that the company trades. Decent tools report catch-all status; if yours hides it, you are being handed a number that is not a fact. On those domains, fall back to the signals above and accept the residual risk.
Turning it into a repeatable hygiene pass
Most people do this badly not because the checks are hard, but because they run them once, manually, in a panic before a big send. Make it a pass, not an event:
- Score, do not gate. Each signal adds weight; records cross thresholds into buckets. No single check gets a veto — that is how you lose acquired-but-trading leads.
- Bucket into four, not two: confirmed trading, ambiguous, needs updating (rebranded, acquired, moved), confirmed dead. Each gets a different next action.
- Record evidence, not just the verdict. "Dead" is unhelpful in six months. "No reviews since March, no mail record, site parked" lets a future you re-judge it.
- Timestamp every check. Verification decays; an unstamped verdict is worthless within a year because you cannot tell if it is current.
- Make dead records sticky. Keep a suppression list keyed on domain and phone, so the next import does not cheerfully re-add what you just removed.
If your list comes from a search platform rather than a scraper, much of this collapses into sourcing: sites, phones and profiles are resolved at collection time, so the hygiene pass checks freshness instead of rebuilding each record.
How often to re-verify
There is no correct universal interval, and anyone who hands you one invented it. The right cadence follows how fast businesses actually churn in your segment.
Two inputs. Base churn: independent hospitality, retail and personal services turn over fast, so those lists decay visibly within months, while professional firms, manufacturers and licensed trades stay largely accurate for a year or more. And list age at collection — a list built from an already-stale source arrives partly dead.
The method is empirical. Send to a batch, watch your bounce and dead-signal rate, and let that number set the interval. If a segment decays visibly after four months, that is its cycle. If another looks clean after a year, stop paying to re-check it monthly. Measure your own list rather than adopting a stranger's rule of thumb.
Where verification stops paying
The honest closing note: this has sharply diminishing returns, and it is easy to spend more on certainty than the certainty is worth.
The free tiers are nearly always worth running — minutes at list scale, and they remove the records that damage your sending reputation. Beyond that, do the arithmetic. Still uncertain after the cheap checks? One short message to a possibly-dead company costs almost nothing, while another twenty minutes of research costs time you could have spent on a lead that is definitely alive.
The exception is anything touching your infrastructure: bounces damage deliverability for every future send, so domain-level mail checks earn their keep regardless. Past that bar, the cheapest remaining test is usually the message itself. Send it and let the reply — or the bounce — finish the verification. To try the workflow on a real batch, run a free search on JustLeadIt.
Verification is not about achieving certainty. It is about spending the least effort needed to stop wasting the larger effort that comes after.