Website Contact Extractor — Bulk Company Domains avatar

Website Contact Extractor — Bulk Company Domains

Pricing

from $1.60 / 1,000 processed websites

Go to Apify Store
Website Contact Extractor — Bulk Company Domains

Website Contact Extractor — Bulk Company Domains

Extract public company website emails, phone numbers and social links from bulk domain lists or a source dataset. One site result by default; $0.002 per site with a contact, free when none is found.

Pricing

from $1.60 / 1,000 processed websites

Rating

0.0

(0)

Developer

Yukai Lin

Yukai Lin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Website Contact Extractor for Bulk Company Domains

What does Website Contact Extractor do?

Paste a list of public company websites or domains, or select a dataset that contains their websites. The Actor reads each site and returns its best email, phone number and social profiles. The default sites output keeps one result per source website or row. It does not log in, crawl LinkedIn people, or discover companies from a directory.

How to use

  1. Replace the example entries in Company websites or domains with a few sites you want to check, one per line. Bare domains such as hofbraeuhaus.de work. The prefilled example list contains katzsdelicatessen.com and hofbraeuhaus.de.
  2. Alternatively, select a Source dataset ID containing a website column. Clear the prefilled domain list if you want to process only the dataset. The engine finds common fields such as Website, website, url and domain; Dataset field can choose a different field.
  3. Run the Actor and inspect the Dataset's Bulk company website contacts view. It shows domain, bestEmail, primaryPhone, socialProfiles, charged and errorType. The full Dataset includes source row details and other contact fields.

Input example

For a spreadsheet or API workflow, rows also accepts objects such as:

{
"domains": [],
"rows": [{ "Name": "Hofbräuhaus München", "Website": "hofbraeuhaus.de", "City": "München" }]
}

Output example

The Bulk company website contacts view shows domain, bestEmail, primaryPhone, socialProfiles, charged and errorType. Rows with a usable website keep their row identifier in the full result. The view is a concise projection; export the full Dataset to inspect all columns.

Pricing

The default requiredContact: "any" charges one site-processed event for a website with at least one email, phone number or social profile. The Free/Bronze event price in the engine is $0.002 per charged website; higher Apify tiers use the engine's tier prices. Each website is charged at most once even when more than one page is read. outputMode: "sites" is the default. Advanced JSON can select emailRows, but billing still stays per website.

A readable site with no qualifying contact has charged: false. Invalid lines, unreachable sites and sites whose home page is disallowed by robots.txt are free. With the default respectRobotsTxt: true, the crawler skips disallowed pages and returns errorType: "robots_disallowed" when its home page is disallowed. Recognized sign-in pages return a free login_required row. Requests identify the crawler; it does not log in, solve CAPTCHAs or bypass an explicit block. If robots.txt cannot be checked, see the full result and logs for the actual outcome rather than assuming a block was enforced.

Limitations

Domains can be combined with either rows or a dataset. rows and datasetId cannot be combined.

Company names and other advanced inputs

This version starts with findWebsitesForNames: false. A company-name line in the domain list therefore returns a free invalid_input row. If you explicitly set findWebsitesForNames: true in advanced JSON, the original engine can look up a company's website using its name plus city, address or phone. An unverified lookup stays free (company_not_found). Other valid engine inputs, including startUrls, remain available in advanced JSON; this version does not reject them at runtime.

Use only public company websites you are entitled to process. A LinkedIn profile or other social page is not treated as the company's website.

FAQ

Can I enter company names instead of domains? This version starts with findWebsitesForNames: false; a company-name line returns a free invalid_input row unless you explicitly enable the original engine's lookup in advanced JSON.