To find a business email and phone number from a website URL, check the site's /contact, /about, and footer pages first, then inspect the page source for mailto: and tel: links. For a single site, this takes 60 seconds manually; for hundreds or thousands of URLs, use an automated crawler that visits every page and pulls emails, phones, and social profiles in one pass.
Quick Answer
To find a business email from a website, open the URL and check four locations in order: the footer, the /contact page, the /about or /team page, and the page's HTML source for mailto: patterns. Phone numbers usually sit next to the email or in tel: anchor tags. For one-off lookups, the browser does the job. For 50+ URLs, a scraper like the Contact Details Scraper crawls every internal page and returns structured JSON with emails, phones, and 12+ social profiles per domain. Cost runs around $0.0045 per successful extract.
Where Do Businesses Hide Their Contact Info?
Most B2B sites place contact data in predictable spots. After scanning thousands of company sites, the hit rates break down like this:
- Footer: ~70% of sites have at least one email or phone in the footer
/contactor/contact-us: ~85% hit rate, but often behind a form/aboutand/team: ~40%, usually with personal emails for executives- Privacy policy / terms pages: ~60% include a contact email for legal reasons (often the highest-deliverability address)
mailto:andtel:HTML anchors: render the cleanest data because they're machine-readable
The privacy policy trick is underused. GDPR and CCPA require a working contact email, so even sites that bury contact info elsewhere usually expose one here.
How to Find a Business Email From Website URL Manually
Here's the 60-second workflow for a single domain:
- Load the URL and scroll to the footer. Copy any
@strings. - Append
/contact,/contact-us,/about, or/teamto the URL. - Right-click → View Page Source (Ctrl+U). Use Ctrl+F to search for
mailto:andtel:. - If still empty, try
/privacyand/terms. - Last resort: Google
site:example.com "@example.com"to surface emails indexed by search.
This works fine for 5–10 prospects a day. It falls apart at 50+ because each domain takes 1–2 minutes and you'll miss obfuscated emails (e.g., name [at] domain [dot] com or images of email addresses).
How to Extract Contact Details From Multiple Websites at Once
For batch prospecting, a manual workflow doesn't scale. A 500-URL list at 90 seconds each is 12.5 hours of clicking. Automated extraction handles the same list in 10–15 minutes.
The Contact Details Scraper takes an array of start URLs and crawls each domain's internal pages. For every successful extract it returns:
- All emails found (deduplicated)
- Phone numbers in international format
- LinkedIn, Twitter/X, Instagram, Facebook, YouTube, TikTok, Pinterest, Discord, Snapchat, Threads, and Telegram profile URLs
- Source page where each item was found
Pricing is pay-per-result at $4.50 per 1,000 successful extractions ($0.0045 each). If a domain has zero contact data, you pay nothing for it. Compare that to ZoomInfo or Apollo at $0.10–$0.50 per verified contact and the cost gap is 20–100x for raw discovery.
What's the Difference Between a Chrome Extension and a Scraper?
Chrome extensions like ContactScraper, Hunter, and Apollo's extension work on the page you're currently viewing. They're good for:
- Researching one company at a time
- Pulling LinkedIn profiles during browsing
- Quick verification before sending an outreach
They fail when you need to:
- Process 1,000 URLs from a CSV overnight
- Run scheduled re-checks weekly
- Pipe results into Clay, HubSpot, or a Postgres database via API
- Crawl deep into a site (most extensions only read the visible page)
A headless scraper actor runs in the cloud, takes a URL list as input, follows internal links up to a depth you specify, and returns structured data. You can run it from the Apify Console, a cron job, or trigger it from Zapier/Make.
How Do You Handle Obfuscated Emails?
Sites obfuscate emails to dodge spam bots. Common patterns:
name [at] company [dot] comname (at) company (dot) com- Cloudflare email protection (
__cf_email__data attributes) - JavaScript-rendered emails injected after page load
- SVG or PNG images of email addresses
A good scraper handles the first four. For image-based emails you need OCR, which most tools skip because the volume is tiny (<2% of sites). The Contact Details Scraper decodes Cloudflare-protected emails and parses [at]/[dot] patterns automatically — these alone recover roughly 15% more emails than naive regex matching.
Sample Input and Output
Input format is a simple JSON array:
{
"startUrls": [
{ "url": "https://acme.com" },
{ "url": "https://stripe.com" }
],
"maxDepth": 2,
"maxRequestsPerStartUrl": 20
}
Output per domain looks like:
{
"url": "https://acme.com",
"domain": "acme.com",
"emails": ["hello@acme.com", "sales@acme.com"],
"phones": ["+1-415-555-0142"],
"linkedIns": ["https://linkedin.com/company/acme"],
"twitters": ["https://twitter.com/acme"],
"instagrams": [],
"facebooks": ["https://facebook.com/acme"]
}
Pipe this directly into your CRM with a 10-line script or use Apify's built-in integrations.
How to Build a Prospecting Workflow With This
A realistic sales workflow looks like this:
- Source URLs: Export a target account list from LinkedIn Sales Navigator, BuiltWith, or a competitor's customer page. Get 500–5,000 domains.
- Bulk extract: Run the Contact Details Scraper on the URL list. Cost for 5,000 domains at ~70% hit rate ≈ $15.75.
- Verify: Run extracted emails through a verifier (NeverBounce, ZeroBounce) to drop catch-alls and dead addresses.
- Enrich: Match domains to decision-maker names via LinkedIn or a people-data API.
- Outreach: Push validated email + phone into Instantly, Smartlead, or Outreach.io.
Total cost per validated, contactable lead in this pipeline typically lands around $0.05–$0.15 — versus $1–$5 buying lists from premium providers.
Is It Legal to Scrape Business Contact Info From Websites?
Scraping publicly displayed business contact information is generally legal in the US and most jurisdictions, especially after the hiQ Labs v. LinkedIn ruling. Two things to keep in mind:
- GDPR (EU/UK): business contact data still counts as personal data if it identifies a person (e.g.,
john.smith@company.com). You need a lawful basis — legitimate interest for B2B outreach usually qualifies, but you must allow opt-out. - CAN-SPAM (US): scraping is fine; using harvested addresses for unsolicited bulk email without a clear unsubscribe path is not.
Generic addresses like info@, sales@, contact@ carry less compliance risk than personal addresses.
FAQ
Q: Can I find a business email from just the website URL with no other info? Yes, in roughly 70–85% of cases. The site itself almost always publishes at least one contact email on the homepage footer, contact page, or privacy policy. The remaining 15–30% use only contact forms and require alternative methods like LinkedIn lookups.
Q: How much does it cost to scrape contact details from 1,000 websites? At $4.50 per 1,000 successful extractions, a 1,000-domain run costs about $3.15 if your hit rate is 70%. You only pay for domains where contact data was actually found, so empty sites are free.
Q: Does this work for finding phone numbers too?
Yes. The scraper extracts phone numbers from tel: anchor tags, plain text, and structured data (schema.org markup). Phone hit rates run lower than email — around 40–50% of business sites — because many companies prefer contact forms over publishing direct lines.
Q: Can I get LinkedIn profiles from a company website? Yes, if the company links to their LinkedIn from the site (most do, usually in the footer). The Contact Details Scraper captures LinkedIn, Twitter/X, Instagram, Facebook, YouTube, TikTok, and seven other social profiles per domain in the same run.
Q: How is this different from Hunter.io or Apollo? Hunter and Apollo sell pre-built databases of verified emails and charge per credit ($0.05–$0.50 per contact). A scraper extracts fresh data directly from the source website at $0.0045 per result — cheaper for discovery, but you handle verification yourself. Use a scraper for breadth and a database for verified deliverability.