Scrape Contacts from Google Search Results Websites
Pricing
Pay per usage
Scrape Contacts from Google Search Results Websites
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 π
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Mahmuod Amer
Actor stats
4
Bookmarked
20
Total users
1
Monthly active users
8 months ago
Last modified
Categories
Share
π 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
google_queries | array | Yes | - | 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_pages | integer | No | 100 | Maximum number of pages to crawl per website. |
countryCode | string | No | 'es' | Google search country code. |
languageCode | string | No | '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
- π The actor takes search queries and performs Google searches using Apify's Google Search Scraper
- π 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