Website Contact Enricher avatar

Website Contact Enricher

Pricing

from $5.00 / 1,000 website enricheds

Go to Apify Store
Website Contact Enricher

Website Contact Enricher

Turn public company websites into clean, evidence-backed contact records. Get public emails, phone numbers, official social profiles, contact pages, scanned pages, and source evidence—one structured row per site

Pricing

from $5.00 / 1,000 website enricheds

Rating

0.0

(0)

Developer

Ilya Komarov

Ilya Komarov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 minutes ago

Last modified

Categories

Share

Turn public company websites into one clean, evidence-backed contact record per site.

Website Contact Enricher scans a homepage plus a small number of high-value public pages such as Contact, About, Support, Team, Careers, or Imprint. Instead of returning a noisy pile of separate rows, it groups the useful contact data into one predictable company-level result.

What you get

For each website, the Actor can return:

  • public email addresses
  • public phone numbers
  • official social profile links
  • organization name when exposed by the website
  • the best contact page discovered
  • the exact pages scanned
  • source evidence for extracted contact values
  • per-site errors without crashing the whole batch

This format is useful for CRM enrichment, B2B research, spreadsheet cleanup, company datasets, and AI-agent workflows.

How to use it

Add one or more public company or homepage URLs. You can process up to 50 websites in a run.

Example input:

{
"urls": [
"https://apify.com",
"https://buffer.com/press"
],
"maxPagesPerSite": 4,
"requestTimeoutSecs": 12,
"includeEvidence": true
}

Input options

  • Website URLs — one public website per line.
  • Maximum pages per site — controls how many public pages are checked. The default is 4 and the maximum is 8.
  • Request timeout — maximum time to wait for each page request.
  • Include source evidence — when enabled, the output keeps the source URL and discovery method for each contact value.

Output

The default dataset contains one row per input website.

Example:

{
"inputUrl": "https://company.example/",
"resolvedUrl": "https://company.example/",
"domain": "company.example",
"organizationName": "Example Company",
"emails": ["hello@company.example"],
"phones": ["+14165551234"],
"socials": {
"linkedin": ["https://www.linkedin.com/company/example-company"]
},
"contactPage": "https://company.example/contact",
"pagesScanned": [
"https://company.example/",
"https://company.example/contact"
],
"evidenceCount": 3,
"errors": [],
"scrapedAt": "2026-09-30T00:00:00.000Z"
}

The dataset can be exported from Apify in formats such as JSON, CSV, Excel, XML, and others supported by the platform.

Evidence-first contact extraction

Website contact data can be surprisingly noisy. Pages often contain dates, company IDs, invoice numbers, example phone numbers, documentation snippets, social-media handles, and hidden email-protection markup.

This Actor is deliberately conservative. It prioritizes real contact pages, normalizes duplicate phone formats, handles common Cloudflare-protected email addresses, avoids treating arbitrary numeric strings as phones, and keeps evidence so you can see where a value came from.

Pricing

The intended pricing model is pay per successfully processed website.

The current proposed custom event is:

  • Website enriched — $0.005 per successfully processed website

Final Store pricing is controlled by the Actor's Monetization settings in Apify Console.

Limits

This Actor focuses on publicly accessible website data.

It does not:

  • bypass logins, CAPTCHAs, access controls, or anti-bot protections
  • verify whether a mailbox actually exists or can receive email
  • guess private contact information
  • guarantee complete results from JavaScript-only websites
  • use a full browser in the current lightweight version

A site can return an empty contact list and still be processed successfully if no public contact information is exposed in the pages checked.

Reliability

The Actor has two automated test layers:

  • deterministic regression tests for extraction, schemas, evidence, redirects, failures, and pricing guardrails
  • live validation against varied public websites to catch real-world changes that controlled fixtures may miss

Live websites change over time. When a known site changes, the validation system flags it for review instead of silently weakening extraction rules.

Common questions

Why did a site return no phone number?

The Actor intentionally rejects number-like text unless it has strong phone evidence. This reduces false positives from company IDs, dates, prices, counters, and serial numbers.

Why did it scan several pages?

Many websites keep useful contact information away from the homepage. The Actor follows a small number of high-value same-site links while respecting the page limit you set.

Can I use the output in an AI workflow?

Yes. The output is structured as one predictable record per website, which works well for downstream automation, data pipelines, and AI-agent tools.

Does it collect private data?

No. It works with information exposed on public web pages and does not attempt to bypass access controls.