Business Website Contact Enricher avatar

Business Website Contact Enricher

Pricing

from $8.00 / 1,000 website results

Go to Apify Store
Business Website Contact Enricher

Business Website Contact Enricher

Extract published business emails, phones, social links and source evidence from websites. Multilingual contact discovery, role labels and optional MX checks.

Pricing

from $8.00 / 1,000 website results

Rating

0.0

(0)

Developer

Marco Schwartz

Marco Schwartz

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

Turn public business websites into company contact records with published emails, phone numbers, social profile links, and the source page for each email and phone. No login, proxy subscription, AI service, or additional API key is required.

Useful for enriching a company list, researching potential suppliers, or preparing CRM imports from contacts a business publishes on its own website.

Quick start

  1. Enter business website URLs in the input form.
  2. Choose a page limit: the homepage plus up to four relevant contact, about, or legal pages.
  3. Run the Actor and open Website contacts in the Output tab.
  4. Export JSON, CSV, or Excel. Nested evidence arrays are most convenient in JSON.
{
"websiteUrls": ["https://www.scrapingbee.com/"],
"maxPagesPerWebsite": 5,
"checkMx": false
}

URLs are normalized to their homepages and deduplicated by domain, including www aliases. Up to 100 website URLs can be supplied per run. Relevant contact links are discovered in several languages, including English, French, German, Spanish, Italian and Portuguese. By default, email results are limited to the website's domain and common public mail providers such as Gmail. Enable Include external-domain emails to also return other published email domains.

Output and evidence

One successful or partial website check produces one record:

FieldMeaning
websiteUrl, domainRequested website and domain
companyNamePublished site name or page title; not a verified legal entity
emails, phonesDeduplicated contacts published in visible HTML or mailto/tel links
socialUrlsLinks to public social profiles; sharing links are excluded
emailDetailsEmail, heuristic role label, domainRelation, sourceUrls and optional MX status
phoneDetailsPhone number and sourceUrls
contactPageUrlFirst successfully scanned contact page, if found
sourceUrls, pagesScannedEvidence pages and successful page count
statusok or partial; partial means one or more attempted pages failed or were blocked
errorsPer-page errors or robots exclusions
checkedAtUTC observation time

Role labels include sales, support, careers, press, billing, general and other. They describe the email prefix, not the recipient's confirmed job. domainRelation is same_website, public_mail_provider or external; it is a domain comparison, not proof of ownership. Phone values retain published formatting rather than guessing a country code. No contacts found is a valid result for an accessible website.

Optional MX checking reports mx_present, no_mx, unknown or not_checked. It checks email-domain mail-exchange records only. It does not verify mailbox existence, deliverability, ownership, or permission to contact someone. A no_mx result does not prove an email is undeliverable; SMTP can also fall back to address records.

RUN_SUMMARY in the run's key-value store lists coverage, failed websites, partial results and spending-limit status. Completely inaccessible sites are reported there and do not produce paid contact records. If every website fails, the run fails with diagnostic information.

Pricing

$8 per 1,000 emitted website records ($0.008 each). The same Actor event price applies across Apify plans. A record can contain several emails, phones and evidence pages. Partial accessible results and accessible websites with no contacts are billable; completely failed websites are not.

Use Maximum total charge to bound the number of paid results. The Actor checks the limit before beginning each website and stops emitting when it is reached. Ordinary Apify platform usage charges may apply according to your plan. The Store pricing panel is authoritative.

Coverage and limitations

  • Reads public HTML and published mailto/tel links. It does not run a browser or execute JavaScript, solve challenges, log in, or bypass access restrictions.
  • robots.txt is checked before scanning each origin. If robots rules cannot be checked, or access is explicitly denied, that origin is skipped.
  • Page limits bound scan depth; this is not a whole-site crawler. Homepage plus discovered relevant pages are attempted; PDFs and binary documents are excluded.
  • Obfuscated emails, JavaScript-only contacts and image-based phone numbers may not be detected. International phone text extraction is conservative; explicit tel links are preferred.
  • Source URLs show where a contact was found. Published data can be stale or belong to a third party mentioned on the page.
  • Public network targets only, with redirect and DNS checks. Local networks, URL credentials and nonstandard ports are rejected.
  • Response size, request timeout and retry limits prevent oversized or indefinitely hanging pages.

Privacy and support

Results remain in the running user's Apify storage. No data is sent to an external AI or analytics provider. The Actor does not send emails or submit forms. Use the Actor's Issues tab for support and include a public website URL and run ID; do not include credentials.

Local development

Use Node.js 22 or newer: npm ci, npm test, then npm start with Apify local INPUT.json. Dependencies are pinned in package-lock.json. Actor input, output and dataset schemas are in .actor. Release scripts read APIFY_TOKEN from the environment; no token is embedded in the source.