Website Contact & Email Scraper avatar

Website Contact & Email Scraper

Pricing

from $8.00 / 1,000 website processeds

Go to Apify Store
Website Contact & Email Scraper

Website Contact & Email Scraper

Paste a list of company websites and get a contact record for each: work email, phone, postal address, social profiles and company details. Addresses belonging to the company itself are marked as such, and nothing is ever guessed.

Pricing

from $8.00 / 1,000 website processeds

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Share

Paste a list of company websites and get back a clean contact record for each one: the work email address, the phone number, the postal address, the company's social profiles and its own details. Built for sales and marketing teams who already have a list of target accounts and need the contact details filled in — and for agencies turning a prospect spreadsheet into something they can actually send.

No account, login or connected profile is needed. Paste your domains and press start.

What you get

Contact information

  • Work email address, with the ones belonging to the company itself marked as such
  • Up to five additional addresses found on the same website
  • Phone number, in both the original and full international format, with numbers the company published as dialable marked separately from numbers merely printed on a page
  • Postal address: street, city, region, postal code

Company information

  • Company name and, where published, the registered legal name
  • Website and domain
  • Short description and logo
  • VAT identifier where the company publishes one

Social profiles

  • Company profile, plus X/Twitter, Facebook, Instagram, YouTube and GitHub where linked

Named people (optional)

  • Names and job titles published on the website, each marked as either stated by the company or worked out from the page, so you always know which is which

Provenance on every row

  • Which page each contact detail came from (contact page, legal notice, team page, home page)
  • How many pages were read, and whether the row is contactable at all

What you can do with it

  • Turn a list of target-account domains into a sendable list, in one run.
  • Enrich a CRM export: match on domain, fill in the blanks.
  • Qualify inbound signups — resolve a company domain into who they are and how to reach them.
  • Build an agency prospect list from a competitor-customer or industry list you already have.
  • Find the right inbox for a partnership or supplier approach, instead of a contact form.
  • Recover contact details from websites that deliberately obscure them.
  • Chain it after any list-building actor: it upgrades a list of companies into a list of contacts.

Sample record

{
"companyName": "Example Communications GmbH",
"companyLegalName": "Example Communications GmbH",
"companyDomain": "example-agency.com",
"companyWebsite": "https://example-agency.com",
"email": "info@example-agency.com",
"emailType": "team",
"emailIsOwnDomain": true,
"emailFoundOn": "legal notice",
"additionalEmails": ["press@example-agency.com"],
"phone": "+49 211 635555-0",
"phoneE164": "+492116355550",
"phoneType": "published",
"addressLine1": "Beispielstraße 74",
"addressFormatted": "Beispielstraße 74, 40219 Düsseldorf",
"city": "Düsseldorf",
"postalCode": "40219",
"addressSource": "page text",
"companyLinkedinUrl": "https://linkedin.com/company/example-agency",
"twitterUrl": "https://twitter.com/exampleagency",
"vatId": "DE219349391",
"pagesRead": 3,
"pagesUsed": ["home page", "contact page", "legal notice"],
"hasContact": true,
"collectedAt": "2026-08-18T18:34:11.902Z"
}

Input reference

FieldTypeDefaultWhat it does
domainslist3 examplesThe company websites to look up. A domain (acme.com) or a full address both work. Paste as many as you like.
maxPagesPerDomaininteger4Pages to read per website. Four covers the pages that carry contact details on almost every site. Maximum 8.
includeSocialProfilesbooleantrueReturn the company's social profile links.
includePeoplebooleanfalseAlso return people named on the website with their job titles.
requireContactbooleanfalseSkip websites that publish no email and no phone number, so every row is actionable.
countrystringemptyTwo-letter country code used to put locally-written phone numbers into international format.
maxDomainsinteger1000Stop after this many websites. Maximum 50,000.
parallelDomainsinteger5How many websites to read at once. Maximum 15.

Output fields

FieldMeaning
companyName, companyLegalNameThe company, and its registered name where published
companyDomain, companyWebsiteThe domain you supplied, normalised, and the site read
description, logoUrlCompany description and logo where published
emailThe best contact address found
emailTypepersonal for a named individual, team for a shared inbox
emailIsOwnDomainWhether the address belongs to this company rather than a third party
emailFoundOnWhich page it came from
additionalEmailsUp to five more addresses found
phone, phoneE164The number as published, and in international format
phoneTypepublished when the site marked it dialable, listed when it was printed on a page
additionalPhonesUp to three more numbers
addressLine1, addressFormatted, city, region, postalCode, countryThe postal address
addressSourcestructured when the company published it as data, page text when read from the page
companyLinkedinUrl, twitterUrl, facebookUrl, instagramUrl, youtubeUrl, githubUrlSocial profiles
vatIdVAT identifier where published
people, peopleCountNamed people with job titles, when requested
pagesRead, pagesUsedHow many pages were read, and what they were
hasContactWhether the row carries any way to reach the company
sourceUrl, collectedAtWhere the record came from, and when

What coverage to expect

Measured on a live run over 12 real websites — a mix of large brands, marketing agencies, German companies and one deliberately invalid domain:

FieldCoverage
Company identified100% of reachable websites
Phone number100%
Email address73%
…of those, belonging to the company itself100%
Social profile82%
Postal address45%
Websites that could not be read at all1 of 12

Coverage varies with the kind of company. Agencies and small businesses publish contact details freely; large brands often publish a form instead of an address. Postal addresses are the least consistently published field, which is why 45% is what is promised rather than something rounder.

Pricing

You pay per result:

  • Website processed — one contact record added to your dataset.
  • Verified contact — charged only when the row carries an email address belonging to the company itself, or a phone number the company published as dialable. You are not charged this for a row where the only address found belongs to somebody else.

A 1,000-domain list where about three quarters yield a verified contact costs roughly $16. A 12-domain test costs a few cents.

Limits & what this actor cannot do

  • Not every website publishes contact details. Some publish only a form. Where nothing is published, the row still identifies the company and is marked as not contactable rather than being padded with a guess.
  • Email addresses are the ones the company published — this actor does not guess or construct addresses, and never presents an invented address as real. If you need addresses worked out for named people, that is a different job and a different actor.
  • Addresses belonging to third parties are not promoted. A legal notice names regulators, arbitration bodies and the agency that built the site, each with their own contact details. Those are excluded from the main fields where they can be identified, and any address that does not belong to the company is flagged rather than presented as its own.
  • Postal address coverage is the weakest field, at under half of websites. Where the company publishes it as structured data it is reliable; where it is read from page text, the addressSource column tells you so.
  • Some websites cannot be read at all — around one in ten in practice, and more among small businesses. Those are reported individually with the reason, never silently returned empty.
  • Websites that ask not to be read are respected and reported as such.
  • Details are a snapshot at the moment of collection. Companies change addresses, phone numbers and staff.
  • Named people are only returned when a job title is published alongside the name, and are labelled as stated or inferred. A name with no role attached is not returned as a contact.
  • Speed depends on the size of your list; no fixed throughput is promised.
  • You are responsible for using this data lawfully. Some of what this actor returns is personal data. You are the data controller for anything you collect, and you must have a lawful basis for contacting people and honour opt-outs — including under GDPR, CCPA, CAN-SPAM and PECR. Business-to-business outreach is regulated differently in different markets; check the rules that apply to yours before you send.

FAQ

Do I need an account or a login for anything? No. There is nothing to connect and nothing to sign in to.

Are these email addresses guessed? No. Every address returned was published on the company's own website. Nothing is constructed from a name-and-domain pattern, and nothing is presented as real unless it was found.

Why is the email sometimes a shared inbox like info@? Because that is often the only address a company publishes, and it is a real, monitored inbox. The emailType column tells you whether you got a named individual or a shared inbox, so you can filter. Unmonitored mailboxes such as no-reply@ are never returned.

Some contact pages hide their address behind a script. Do you still find it? Usually, yes. Addresses that are obscured rather than absent are recovered, and the emailFoundOn column tells you which page each one came from.

Can I run this over a list of 10,000 domains? Yes. Raise maxDomains and leave the rest as it is. Very large lists are paced automatically.

Can I schedule it? Yes. A common pattern is a weekly run over newly-added CRM accounts.

What if a website blocks it? That website is reported individually with the reason, and you are not charged a verified contact for it. It is never returned as though the company had no contact details.