Website contact extraction: the address has to be published somewhere first

Most business email addresses that work are not guessed - they are published somewhere, attached to a role, and someone eventually copied them into a file. Website contact extraction is the practice of collecting addresses from those places instead of inferring them.

Published versus inferred

Published addressInferred address
Where it comes fromA page or profile that displays itA naming pattern applied to a name and a domain
Evidence it existsSomeone put it in public as a contact pointNone - the string only has to look plausible
Typical failureStale: the person left, the role movedWrong entirely, and invisibly so
What you can audit laterThe page it was onNothing

Inferred addresses are not useless, but they carry a second failure mode that published ones do not: the row looks exactly like a good row until it bounces.

Where business addresses actually sit

Fresh data collected from these sources outperforms stored databases by 42% on response (Harvard Business Review, 2024), which is the quantitative version of an obvious point: the page was updated when the company changed, the database was not.

Extract, then prove

Extraction gives you the address; it does not tell you whether the mailbox is alive. A collection pass produces three states, and only one of them is safe to mail:

Running extraction without verification is what produces a list that tests at 10-35% bounce instead of 2-5%. 40% of email addresses go dead within two years (NeverBounce) and 23% of business contacts change jobs every year (ZoomInfo, 2025), so the collected-then-stored list has a decay clock running from the day it is built.

Doing it in one call

TAPAC resolves business contacts from company websites, Discord and Telegram and runs the SMTP probe in the same request:

curl -s -X POST https://tapacapi.com/v1/contacts/search \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{"industry":"manufacturing","job_titles":["purchasing manager"],"company_size":"51-200","location":"italy","source":"website","limit":50}'

Each returned contact carries the person, the company and role, the source the address was found in, and the verification state - so the audit trail travels with the row instead of living in a spreadsheet column nobody maintained. From an agent it is tapac_find_contacts via npx -y @tapacapi/mcp or the hosted endpoint at https://tapacapi.com/mcp.

A website lists roles, not personal mailboxes. When the page publishes a shared address such as info@, the honest result is that address - not a guessed personal one. TAPAC returns what the source shows and what the mail server answers, and nothing it cannot verify.

Where to go next

← Back to TAPAC