Website Contact Extractor (emails, phones, social links) avatar

Website Contact Extractor (emails, phones, social links)

Pricing

from $2.00 / 1,000 domain with contacts

Go to Apify Store
Website Contact Extractor (emails, phones, social links)

Website Contact Extractor (emails, phones, social links)

Give a list of websites or domains. For each domain the Actor reads the homepage and its contact, about, imprint and team pages and returns emails (generic vs personal-looking), phone numbers and company social profiles.

Pricing

from $2.00 / 1,000 domain with contacts

Rating

0.0

(0)

Developer

Recep Vural

Recep Vural

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Security

Limited permissions

Share

Give it a list of websites or bare domains. For each domain the Actor reads the homepage and up to a few likely contact pages, then returns one row with the emails, phone numbers and company social profiles it found.

It picks contact pages by link text and URL in many languages: contact, kontakt, iletişim, contacto, contato, contatti, impressum / imprint, mentions légales, aviso legal, about / über uns / hakkımızda / nosotros, team. If a site has none of these links, it tries /contact, /contact-us, /impressum and /about. Pages in other languages are skipped when the same page was already read (/en/contact and /de/contact count once).

FieldMeaning
domainDomain without www.. One row per domain, duplicates merged
emails[{email, type, sameDomain, foundOn}], lower-case and deduplicated. type is generic (info@, sales@, support@, press@ ...) or personal-looking. Emails on the site's own domain come first
phones[{phone, source, foundOn}]. source is tel-link, schema.org or labeled-text (a number written right after "Phone", "Tel", "Telefon", "Tél" ...). Numbers with a + keep the country code; others are kept as written digits
socials{linkedin, facebook, instagram, x, youtube, tiktok, github}, up to 3 profile URLs each
pagesVisitedPages actually read
hasContactstrue if at least one email, phone or social profile was found
errorWhy a domain could not be read (DNS error, HTTP 403, blocked by robots.txt ...)

What it filters out

  • Cloudflare-protected emails (data-cfemail) are decoded. name [at] firm [dot] com and (at) forms are recognised.
  • Image names such as logo@2x.png, tracking addresses (Sentry, Wix), placeholders such as you@example.com or john.doe@....
  • Share buttons (facebook.com/sharer, twitter.com/intent, linkedin.com/shareArticle), single posts and videos. Only profile links are kept. If several profiles exist, the ones matching the brand name win, and links found on the homepage beat links on staff or blog pages.
  • Phone numbers are found conservatively. Random digit strings, order numbers, dates and fax numbers are not reported. You may miss some phones, but you will get very few wrong ones.

Input example

{"websites": ["eff.org", "https://www.hetzner.com/", "posteo.de"], "maxPagesPerDomain": 5,
"includePhones": true, "includeSocials": true, "respectRobotsTxt": true}

Output example

{"domain": "posteo.de", "finalUrl": "https://posteo.de/en",
"emails": [{"email": "support@posteo.de", "type": "generic", "sameDomain": true, "foundOn": "https://posteo.de/en/site/contact"}],
"phones": [{"phone": "03915674530", "source": "labeled-text", "foundOn": "https://posteo.de/site/impressum"}],
"socials": {"github": ["https://github.com/posteo"]},
"pagesVisited": ["https://posteo.de/en", "https://posteo.de/en/site/contact", "https://posteo.de/site/impressum"],
"hasContacts": true, "error": null}

Pricing

Pay per event: you pay only for domains where at least one email, phone or social profile was found. Domains with nothing found and domains that could not be loaded are free.

Speed and politeness

Up to 10 domains in parallel, one request at a time per domain, 15 s timeout, at most 2 MB per page, HTML only. robots.txt is respected by default. Typical speed is about 1-3 seconds per domain. Sites that load their content only with JavaScript, or that block bots (HTTP 403), return few or no results. A proxy is optional and usually not needed.

Compliance

The Actor only collects data that is publicly shown on business websites. You are responsible for using it lawfully, including GDPR/UK GDPR, ePrivacy and anti-spam rules (CAN-SPAM, KVKK and similar). Personal-looking emails are personal data in the EU. Have a legal basis before you store or contact them, and honour opt-out requests.

By HAPPYSPROUTSTORE LLC.