{"name":"company-contacts-finder","id":"sfoln/company-contacts-finder","title":"Website Contact Details Scraper","description":"Scrape emails, phone numbers, social profiles and addresses from company websites by domain. Every email gets a free DNS pre-check; add mailbox verification, company name, mail provider and tech stack. $6 per 1,000 domains, or $3 per 1,000 in contacts-only mode.","version":"0.1","status":"ready","family":{"id":"company-lead-intelligence","name":"Company & lead intelligence","description":"Company enrichment, contact discovery, tech-stack detection, hiring signals, job listings, public tenders, Shopify stores, marketplace listings, NPI provider records, e-mail and phone validation.","actors":13},"categories":["LEAD_GENERATION","DEVELOPER_TOOLS","AUTOMATION"],"availability":"on_request","seoTitle":"Website Contact Details Scraper – Emails & Phones","seoDescription":"Scrape emails, phone numbers, social profiles and addresses from company websites by domain, with a free email pre-check. $3–6 per 1,000 domains.","summary":"Give it a list of company domains and get back the contact details published on each company's website: emails, phone numbers, social profiles (LinkedIn, X, Facebook, Instagram, YouTube, TikTok) and address hints, read from the homepage and up to two contact / about / imprint / team pages linked from it. In the default full mode each record also carries the company name, description and language, the domain's mail provider (Google Workspace, Microsoft 365, ...), a free DNS pre-check of every email and, if you want, mailbox verification of up to three addresses per domain and the tech stack. Built for sales teams, recruiters, agencies and AI agents enriching a list of accounts.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"company-contacts","title":"Company contact card","description":"Charged once per website reached in mode \"full\": company name, description, emails with a DNS pre-check, phones, social profiles, address hints and mail provider (plus the tech stack when includeTech is on).","priceUsd":0.006},{"name":"contact-details","title":"Contact details record","description":"Charged once per website reached in mode \"contacts\": emails, phones, social profiles and address hints from up to 3 pages, without company profile, DNS checks or verification.","priceUsd":0.003},{"name":"contact-email-verified","title":"Verified email","description":"Charged once per email address verified at mailbox level (mode full with verifyEmails on; at most 3 per domain). Addresses the free DNS pre-check already settles are never sent for verification.","priceUsd":0.004,"paidPlanOnly":true}]},"input":{"description":"List company domains or website URLs. Each domain produces one dataset record with contacts found on the company's own website.","required":["domains"],"fields":[{"name":"domains","title":"Domains or website URLs","type":"array","required":true,"description":"Company domains (apify.com) or website URLs (https://www.apify.com/about), one per line. Duplicates are removed. Accounts on the Apify free plan can process up to 10 domains per run.","prefill":["apify.com"],"editor":"stringList"},{"name":"mode","title":"Mode","type":"string","required":false,"description":"full: the company contact card (company name, description, emails with a free DNS pre-check and optional mailbox verification, phones, social profiles, address hints, mail provider, optional tech stack), $6 per 1,000 domains. contacts: emails, phones, social profiles and address hints only (no DNS, verification or tech), $3 per 1,000 domains.","default":"full","enum":["full","contacts"],"editor":"select"},{"name":"verifyEmails","title":"Verify emails","type":"boolean","required":false,"description":"Mode full: check found email addresses at mailbox level (valid / invalid / catch-all / unknown), own-domain addresses first. Addresses the free DNS pre-check already settles (invalid syntax, unknown domain, no mail server, disposable) are never sent. Charged per verification ($4 per 1,000 verified emails); paid Apify plans only.","default":true,"prefill":false},{"name":"maxVerificationsPerDomain","title":"Max verifications per domain","type":"integer","required":false,"description":"Upper limit of email verifications per domain (0–3). Emails on the company's own domain are verified first; addresses settled by the pre-check do not count.","default":3,"minimum":0,"maximum":3},{"name":"stopAtFirstValid","title":"Stop at first valid email","type":"boolean","required":false,"description":"Stop verifying a domain's emails once one is confirmed valid (saves verification charges).","default":true},{"name":"maxPages","title":"Pages per domain","type":"integer","required":false,"description":"Homepage plus up to 2 contact / about / imprint / team pages linked from it (1–3).","default":3,"minimum":1,"maximum":3},{"name":"includeTech","title":"Include tech stack","type":"boolean","required":false,"description":"Mode full: add the tech stack detected on the fetched pages and in the MX records (CMS, e-commerce platform, analytics, advertising, live chat, CRM, mail provider; 3,500+ technologies with versions and evidence). No extra charge.","default":false},{"name":"maxDomains","title":"Max domains","type":"integer","required":false,"description":"Safety cap on how many domains are processed in this run.","default":1000,"minimum":1,"maximum":10000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Domains processed in parallel (1–10).","default":5,"minimum":1,"maximum":10}]},"exampleInput":{"domains":["apify.com"],"verifyEmails":false},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The input item this record corresponds to."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether the record's main event was charged."},{"name":"chargedEvent","type":"string | null","title":"Charged event","description":"Event charged by the runner for this record, if any."},{"name":"source","type":"string","title":"Source","description":"Upstream data source."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"warnings","type":"array | null","title":"Warnings","description":"Non-fatal problems (pages not reachable, truncation, budget limits)."},{"name":"error","type":"object | null","title":"Error","description":"{ code, message, provider?, status? } when status is not ok."},{"name":"domain","type":"string | null","title":"Domain","description":"Registrable domain analysed (e.g. apify.com)."},{"name":"website","type":"string | null","title":"Website","description":"Final homepage URL after redirects."},{"name":"mode","type":"string | null","title":"Mode","description":"full (company contact card, event company-contacts) | contacts (contacts only, event contact-details)."},{"name":"companyName","type":"string | null","title":"Company name","description":"From og:site_name, JSON-LD Organization name or the page title. Mode full."},{"name":"description","type":"string | null","title":"Description","description":"Meta description / og:description / JSON-LD description. Mode full."},{"name":"language","type":"string | null","title":"Language","description":"Homepage language (html lang). Mode full."},{"name":"emails","type":"array | null","title":"Emails","description":"[{ email, status, sourcePage, precheck, role }]. status: valid | invalid | catch_all | unknown | disposable | no_mx | not_verified | verification_failed (invalid, no_mx and disposable come from the free pre-check and are never sent for verification). precheck: the local verdict (invalid_syntax | domain_not_found | no_mail_server | disposable | role | ok | unknown; contacts mode checks syntax, unknown TLDs and disposable domains without DNS). role: a role address such as info@ or sales@. Own-domain emails first."},{"name":"bestEmail","type":"string | null","title":"Best email","description":"First valid, else catch-all, else first unverified own-domain email (never an unverified address on another domain)."},{"name":"bestEmailStatus","type":"string | null","title":"Best email status","description":"Status of bestEmail."},{"name":"phones","type":"array | null","title":"Phones","description":"Phone numbers from tel: links and JSON-LD (digits, + prefix when international)."},{"name":"socials","type":"object | null","title":"Social profiles","description":"{ linkedin, x, facebook, instagram, youtube, tiktok } profile URLs or null."},{"name":"addressHints","type":"array | null","title":"Address hints","description":"Postal address fragments from JSON-LD, <address> elements and microdata."},{"name":"mxProvider","type":"string | null","title":"Mail provider","description":"google | microsoft | zoho | proton | ... | other; none for a null MX; null when the domain has no MX. Mode full."},{"name":"mxRecords","type":"array | null","title":"MX records","description":"MX hosts by priority. Mode full."},{"name":"pagesFetched","type":"integer | null","title":"Pages fetched","description":"Number of pages fetched (homepage + contact/about pages)."},{"name":"sources","type":"array | null","title":"Sources","description":"URLs of the fetched pages."},{"name":"emailsSettledByPrecheck","type":"integer | null","title":"Emails settled by pre-check","description":"Addresses the free local pre-check settled (invalid syntax, unknown domain, no mail server, disposable): never sent for paid verification. Mode full."},{"name":"emailVerificationsCharged","type":"integer | null","title":"Verifications charged","description":"Number of contact-email-verified events charged for this domain (0 in contacts mode)."},{"name":"tech","type":"object | null","title":"Tech stack","description":"When includeTech is on (mode full): { generator, server, cms, ecommercePlatform, analytics[], advertising[], marketingAutomation[], crm[], liveChat[], emailProvider, hints[] (technology names), jsonLdTypes[], technologies[{ name, slug, categories, version, confidence, evidence, website }] }."}],"outputExample":{"input":"acmeroofing.com","domain":"acmeroofing.com","website":"https://acmeroofing.com/","mode":"full","companyName":"Acme Roofing LLC","description":"Roofing in Philadelphia since 1990.","language":"en","emails":[{"email":"info@acmeroofing.com","status":"catch_all","sourcePage":"https://acmeroofing.com/","precheck":"role","role":true},{"email":"sales@acmeroofing.com","status":"valid","sourcePage":"https://acmeroofing.com/contact-us/","precheck":"role","role":true},{"email":"jane.doe@acmeroofing.com","status":"not_verified","sourcePage":"https://acmeroofing.com/about","precheck":"ok","role":false},{"email":"bob@old-roofing-domain.com","status":"no_mx","sourcePage":"https://acmeroofing.com/about","precheck":"domain_not_found","role":false}],"bestEmail":"sales@acmeroofing.com","bestEmailStatus":"valid","phones":["+12155550199","+12155550100"],"socials":{"linkedin":"https://www.linkedin.com/company/acme-roofing","x":"https://x.com/acmeroofing","facebook":null,"instagram":null,"youtube":null,"tiktok":null},"addressHints":["1 Main St, 19103 Philadelphia, US"],"mxProvider":"google","mxRecords":["aspmx.l.google.com","alt1.aspmx.l.google.com"],"pagesFetched":3,"sources":["https://acmeroofing.com/","https://acmeroofing.com/contact-us/","https://acmeroofing.com/about"],"emailsSettledByPrecheck":1,"emailVerificationsCharged":2,"status":"ok","charged":true,"chargedEvent":"company-contacts","source":"website+millionverifier","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[{"question":"Which pages are scanned?","answer":"The homepage and up to two contact, about, imprint or team pages linked from it on the same site (maxPages). Emails come from mailto links, the page text, JSON-LD and microdata, including obfuscated forms such as name [at] domain [dot] com; phones from tel: links and JSON-LD; social profiles from links to LinkedIn, X, Facebook, Instagram, YouTube and TikTok."},{"question":"What is the difference between mode full and mode contacts?","answer":"Mode contacts ($3 per 1,000 domains) returns the emails, phones, social profiles and address hints only. Mode full ($6 per 1,000 domains) adds the company name, description and language, the domain's mail provider, a DNS pre-check of every email, optional mailbox verification ($4 per 1,000 verified emails, paid plans) and, with includeTech, the tech stack."},{"question":"Which emails are sent for verification?","answer":"Only addresses the free pre-check cannot settle. Invalid syntax, domains that do not exist, domains without a mail server and disposable providers are marked locally (invalid, no_mx, disposable) and never verified or charged. Up to 3 remaining addresses per domain are verified, own-domain addresses first, stopping at the first valid one by default."}],"mcpExamplePrompt":"Find the contact emails, phone numbers and LinkedIn pages of apify.com and wordpress.org, and tell me which addresses are valid.","related":["company-enrichment","tech-stack-detector","website-audit","domain-intelligence","email-validator","google-maps-business-leads"],"urls":{"site":"https://www.sfoln.com/actors/company-contacts-finder/","siteJson":"https://www.sfoln.com/actors/company-contacts-finder.json","siteMarkdown":"https://www.sfoln.com/actors/company-contacts-finder.md","runSync":"https://api.apify.com/v2/actors/sfoln~company-contacts-finder/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~company-contacts-finder/runs","mcp":"https://mcp.apify.com?tools=sfoln/company-contacts-finder","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20Website%20Contact%20Details%20Scraper%20(sfoln%2Fcompany-contacts-finder)&body=Please%20publish%20company-contacts-finder.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}