Documents & OCRPractical guides

Verify extracted website emails: five addresses, filters and full reports

An email extraction handoff needs distinct-address counts, occurrences, source pages and export scope. The complete built-in fictional HTML and answers below produce five addresses. Filter press, compare one filtered result with five full-report records, then reconcile the three Excel sheets.

An old white envelope on a dark background
Illustrative photo: Valeria Reverdo · Unsplash License

What changed: Added the complete built-in fictional HTML, five-address/seven-occurrence reconciliation, filtered versus full exports and three-sheet XLSX acceptance.

The practical answer

One source page produces five distinct addresses and seven matches: hello occurs three times, the other four once each. Filtering press gives one address in filtered TXT/CSV, while full JSON/XLSX retain five. Reports support handoff; scan backups support recovery. Extraction neither verifies delivery nor sends email.

Choose an input that matches the question

Single-page mode reads one supplied page. Same-origin website mode follows discovered links and available sitemaps within that site. Import mode accepts saved HTML, text, page data or pasted content. None guarantees discovery of every address anywhere on a website. One successful request is not a completed whole-site survey.

URLs and imported content are sent to the server for parsing; organization and export happen in the browser. Remote page scripts are not executed. Login, CAPTCHA, dynamically loaded content, attachments, unlinked pages and access restrictions can leave gaps. Do not paste a private address book or credentials as though it were a public-page example.

Pick a route from the material you have

Learn the checks

Use the fictional sample before entering real contact information.

Work from a saved page

Choose import/paste and provide the actual source URL before extraction.

Organize a website

Start from a public page, bound page count and depth, and review failures and the remaining queue.

Complete exercise: one HTML input, five addresses, seven occurrences

Download contacts.html, matching the current built-in sample. Open website email collection, choose import/pasted source and set Source URL to https://harbor-labs.example/contact. Import the HTML or paste the entire block, then select Extract emails. Do not paste source-instruction text or an extra URL line as additional page content.

This is a fictional page. Parsing sends its content to the service but does not fetch the example domain or execute its scripts. Expect one scanned page and five distinct addresses. hello appears twice in body text and once in page data: three occurrences. Four others appear once each, giving seven matches. Multiple methods or matches do not create additional contacts.

Complete contacts.html input

<!doctype html>
<html lang="en"><head><title>Harbor Labs · Public contacts</title></head><body>
<h1>Harbor Labs public contacts</h1>
<p>General enquiries: hello@harbor-labs.example</p>
<p>Our published contact is hello@harbor-labs.example. This duplicate should become one email record.</p>
<p><a href="mailto:partners@harbor-labs.example?subject=Partnership">Partnerships</a></p>
<p>Press: press [at] harbor-labs [dot] example</p>
<p><span class="__cf_email__" data-cfemail="42313732322d3036022a2330202d306f2e2320316c273a232f322e27">[email protected]</span></p>
<div data-email="events@harbor-labs.example">Public events</div>
<script type="application/ld+json">{"@type":"Organization","email":"hello@harbor-labs.example"}</script>
<a href="/about#team">Our team</a><a href="/contact?utm_source=sample">Contacts</a>
<a href="https://outside.example/contact">External partner (outside website scope)</a>
<p>Fictional example addresses demonstrate extraction. They do not indicate deliverability.</p>
</body></html>
The existing built-in fictional sample, not real recipients or a deliverability test.

Complete per-address reference
Local partFull domainOccurrencesMethods
helloharbor-labs.example3text / data
partnersharbor-labs.example1mailto
pressharbor-labs.example1obfuscated
supportharbor-labs.example1cloudflare
eventsharbor-labs.example1data

For example, retain partners@harbor-labs.example without ?subject=Partnership. RFC 6068 separates addresses from parameters such as subject; parsing does not establish that an address exists.

Filter press, then compare the filtered and complete files

Enter press in result search. Only press@harbor-labs.example should appear. Download filtered TXT and CSV and inspect the single address. CSV includes headers and provenance; its header is not a second email record.

Keep the filter active and download the JSON and XLSX reports. JSON records must still contain five entries, with hello occurrences equal to three. Excel Emails, Sources and Scanlog represent addresses, provenance and page processing respectively. The full report ignores the result filter.

Scope after applying this exercise’s filter
DownloadExpected scopeAcceptance
Filtered TXT / CSVOne press addressNo other four addresses; count the CSV header separately
Full JSON / XLSXAll five distinct addresseshello has three occurrences; all page sources remain traceable
HTML / text reportThe entire current reportRetain coverage and page logs, not only the filtered list
Scan backup JSONScan state and resumable dataUse backup import, not ordinary report JSON

Describe what a site scan actually covered

Begin with a reviewable page limit such as10 and decide whether to try sitemap discovery. The interface allows at most500 pages, depth0–6 and bounded storage including5,000 distinct addresses. Reaching a limit or exhausting the discovered queue does not demonstrate that every page on the website was visited.

Review successful, failed, skipped and pending pages, plus truncation warnings. A starting page that redirects outside the site prevents same-origin traversal. Partial results may still be useful when some pages fail, but retain those failures. Our editorial suggestion is to record the seed URL, date, settings and known gaps instead of claiming all valid addresses.

Work does not continue on the server after the browser closes. Pause and download a backup; import it later and explicitly resume. Backups contain addresses, source details and pending URLs, so store them according to the purpose of the material.

Reconcile actual downloads and keep their source/version scope

Inspect each XLSX sheet: Emails has five address records; Sources has five address-to-page mappings; Scanlog includes task metadata above its page-log table, which must contain one successful page record. Count Emails/Sources headers separately; metadata rows are not pages. hello occurs three times on one page, so occurrences cannot turn into seven source pages.

Check complete email values, occurrences, sources.url and methods in JSON. Reload the correct HTML if source content is incomplete, or correct the Source URL and re-extract if it is wrong. Do not conceal the error by editing only exported provenance or renaming a report JSON as a backup.

For several outputs, use column-aligned merging while retaining provenance, and CSV record/value checks for handoff. Merging cannot recover unread pages, verify ownership or establish permission to contact anyone.

Accepting this complete handoff

  • Distinguish five addresses, seven occurrences and one successful source page.
  • hello occurs three times; others once each; partners excludes the subject parameter.
  • The press filter exports one address while the full report retains five; reconcile all three XLSX sheets.
  • Match Source URL, input HTML, report and any required backup to this version.
  • Do not claim sending, delivery checks or complete website coverage; retain scope through merging and CSV checks.

Common questions

Does deduplication remove different source pages?

An address is aggregated with its source details. Source storage is bounded; retain any omission or truncation warning.

Why can a visible address be missing?

It may come from scripts, attachments, authentication or truncated content. Import saved material you are entitled to process and document remaining gaps.

Can the report automatically email the contacts?

No. This tool extracts, organizes and exports. It does not send mail, guess addresses or run SMTP delivery checks.

Further reading & sources

Put the guide into practice

Open the relevant tool, preview the result and check your exported file.

Related articles