Short answer: paste your list of website URLs into Contact Details Scraper, limit it to about 5 pages per site, switch on Merge contacts so you get one row per website, and run it. You get every email address, phone number and social profile (LinkedIn, Facebook, Instagram, X, YouTube, TikTok and more) that each site publishes. At $0.002 per page, 1,000 websites at 4 pages each cost about $8.

Most lead lists start as a list of companies or websites: exhibitors at a trade show, businesses from a directory, results from a Google Maps search, a spreadsheet from a client. The missing piece is how to contact them. Visiting each site to find the contact page takes about a minute per company. Crawling does it for the whole list in one run. This guide covers the settings that matter, what it costs, and how to turn the raw output into a list you can actually use.

Contact Details Scraper is built by vdrmota, not by me. It has over 60,000 users on Apify and is on my list of the best Apify actors for B2B contact data.

What contact details can you extract from a website?

  • Email addresses and phone numbers
  • LinkedIn, Facebook, Instagram, X, YouTube, TikTok, Pinterest, Threads and Reddit profiles
  • WhatsApp, Telegram, Discord and Snapchat links

It also follows Linktree link-in-bio pages and scrapes the sites they link to, which helps with creators and small businesses that use Linktree instead of a website contact page.

Where does the list of websites come from?

  • Google Maps searches: "accountants in Manchester" gives business names, phones and websites. The Google Maps Scraper returns the website column you need.
  • Directories: trade associations, exhibitor lists and niche directories. For Canadian businesses, the Canada411 scraper gives names and phones, and the Bulk LLM Runner can find each one's website with web search.
  • Your CRM: accounts with a website but no contact person.

How do you set it up so it stays cheap?

The crawler charges per page, so the whole trick is not crawling pages that never contain contact details.

  1. Paste the homepages into Start URLs, one per line.
  2. Set Maximum pages per start URL to 3 to 5. Contact details live on the homepage footer, the contact page and the about page. Crawling a whole blog adds cost and almost no emails.
  3. Set Maximum link depth to 1, so it follows links from the homepage but not links from those pages.
  4. Keep Stay within domain on, so it does not wander into other sites.
  5. Switch on Merge contacts to get one row per website with all its contacts, instead of one row per page.
  6. Test on 20 sites, check the hit rate, then run the full list.

How much does it cost?

The base price is $0.002 per page scraped, plus a small start fee per run. Extras apply only if you use them: pages opened with a residential proxy or a full browser cost a little more per page, and the optional enrichment add-ons cost $0.10 per enriched lead or profile.

  • 1,000 websites x 4 pages = 4,000 pages: about $8
  • The same list with a residential proxy on every page: about $16

The enrichment add-ons (named people with job titles, company size, social profile details) are useful for small, high-value lists, but at $0.10 each they cost far more than the basic crawl, so switch them on deliberately. Apify's free plan includes $5 of monthly credit, which covers the basic crawl of about 600 websites at 4 pages each.

How do you clean the results?

Raw output always needs a pass before outreach:

  • Prefer role addresses for B2B. info@, sales@ and hello@ addresses are published for exactly this purpose. Personal addresses are more sensitive under privacy law.
  • Remove junk. Image file names that look like emails, example addresses, and addresses from other domains (web agencies often leave theirs in the footer).
  • Keep the source URL, so you can show where you found each address if anyone asks.
  • Verify before sending. Run the emails through a verification service to remove dead addresses; bounces damage your sender reputation.

To classify hundreds of companies by fit before contacting them, upload the cleaned list to the Bulk LLM Runner with a prompt such as "Based on this website, is {{company}} a B2B software company with more than 20 staff? Answer yes, no or unknown."

Is it legal to extract emails from websites?

It depends on where you and your recipients are and what you do with the addresses. Collecting contact details that businesses publish on their own sites is common, but under GDPR a named person's email is personal data and you need a lawful basis such as legitimate interest, plus a clear way to opt out. Canada's CASL allows implied consent for conspicuously published business addresses when your message relates to the recipient's role. In the US, CAN-SPAM requires honest headers and an unsubscribe link. Never buy or sell scraped lists, and never send bulk unsolicited email to personal addresses. This is not legal advice.

Frequently asked questions

How do I extract emails from a list of websites?

Paste the website URLs into Contact Details Scraper, limit it to 3 to 5 pages per site with link depth 1, switch on Merge contacts and run it. You get one row per website with the emails, phones and social profiles it publishes.

How much does it cost to scrape 1,000 websites for emails?

About $8 at 4 pages per site and $0.002 per page. Using a residential proxy roughly doubles that, and enrichment add-ons cost $0.10 per enriched lead.

What percentage of websites will have an email?

It varies by industry. Local service businesses usually publish an email or phone; larger companies often use contact forms instead. Test 20 sites from your list to see your own hit rate before running the rest.

Can it find emails of specific people?

The basic crawl finds whatever the site publishes. The optional business leads enrichment add-on can add named employees with job titles and contact details, at $0.10 per lead.

Is scraping emails from websites legal?

Collecting published business contact details is common, but you must follow the privacy and anti-spam law that applies to your recipients, such as GDPR, CASL or CAN-SPAM. Prefer role addresses, offer an opt-out and never sell the list.

For more lead sources, see the lead generation hub, including directory scrapers the big tools do not cover.

Need help implementing this?

I build custom automation, scraping pipelines, and AI solutions for businesses. 170+ projects delivered with a 5.0 rating across 172 reviews. Tell me about your project - I reply within 24 hours.

Start Your Project →