Scrape Contacts from Google Search Results Websites avatar
Scrape Contacts from Google Search Results Websites

Deprecated

Pricing

Pay per usage

Go to Store
Scrape Contacts from Google Search Results Websites

Scrape Contacts from Google Search Results Websites

Deprecated

Developed by

Mahmuod Amer

Mahmuod Amer

Maintained by Community

This actor is designed to efficiently extract πŸ“§ email addresses and πŸ“ž phone numbers directly from Google search results. By inputting a keyword or phrase, this actor searches relevant Google results and scrapes contact details, providing a powerful tool for lead generation πŸš€

0.0 (0)

Pricing

Pay per usage

4

Total users

20

Monthly users

2

Runs succeeded

0%

Last modified

3 months ago

πŸ” Website Contact Information Scraper

✨ Purpose

This actor crawls websites to extract contact information including email addresses, phone numbers, and contact form URLs. It starts with a list of search queries, performs Google searches to find websites, and then systematically scrapes each website to collect contact details.

πŸš€ Features

  • πŸ“§ Extracts up to 2 email addresses per website
  • πŸ“± Extracts up to 2 phone numbers per website
  • πŸ”— Extracts up to 2 contact form URLs per website
  • ⚑ Uses both requests and Selenium for crawling (to handle JavaScript-heavy websites)
  • 🎯 Prioritizes pages with "contact" or "about" in the URL
  • βœ… Verifies email addresses to filter out invalid or fake ones
  • 🌍 Handles international phone numbers via the phonenumbers library
  • πŸ›‘ Limited to crawling 100 pages per website by default (configurable)

βš™οΈ Input Parameters

ParameterTypeRequiredDefaultDescription
google_queriesarrayYes-List of search queries to find websites. The actor will perform Google searches using these queries and scrape contact information from the resulting websites.
max_pagesintegerNo100Maximum number of pages to crawl per website.
countryCodestringNo'es'Google search country code.
languageCodestringNo'es'Google search language code.

πŸ“Š Output Format

The actor outputs data in the following format for each website:

{
"Website": "https://example.com/",
"email (1)": "contact@example.com",
"email (2)": "info@example.com",
"phone (1)": "+15551234567",
"phone (2)": "+15559876543",
"contact_form (1)": "https://example.com/contact",
"contact_form (2)": "https://example.com/support",
"start_url": "https://example.com",
"google_search_url": "https://www.google.com/search?q=example+query",
"search_term": "example query"
}

πŸ”„ How It Works

  1. πŸ” The actor takes search queries and performs Google searches using Apify's Google Search Scraper
  2. 🌐 For each website found in the search results:
    • First checks the homepage for contact information
    • Prioritizes pages containing "about", "contact", or "support" in the URL
    • Uses regular expressions to extract emails and the phonenumbers library for phone numbers
    • Attempts regular requests first (faster) and falls back to Selenium for JavaScript-heavy sites
    • Verifies emails to filter out invalid ones
    • Collects and returns the specified number of contact details

⚠️ Limitations

  • Limited to extracting 2 items of each contact type per website
  • May not extract all contact information from complex websites
  • Will skip certain URLs containing terms like "sign_up", "privacy", "policy", "donate", etc.
  • Has a timeout of 15 seconds for page loading
  • Special handling for social media platforms (only scrapes the main page without going deeper)

πŸ› οΈ Dependencies

  • πŸ”„ Selenium WebDriver for JavaScript-rendered content
  • 🧩 Beautiful Soup for HTML parsing
  • πŸ“ž Phonenumbers library for international phone number recognition
  • πŸ“¨ Requests library for HTTP requests
  • πŸ” Google Search Scraper Apify actor for initial website discovery