
🌐📍 LeadLocator Pro
Pricing
from $1.95 / 1,000 results

🌐📍 LeadLocator Pro
This powerful Google Maps scraper helps you: 📍 Extract local business data from any location worldwide 📞 Collect contact information including phone numbers and emails 🏢 Build targeted lead lists for B2B sales and marketing ⭐ Filter by ratings and reviews to find quality prospects
0.0 (0)
Pricing
from $1.95 / 1,000 results
1
13
11
Last modified
6 days ago
LeadLocator Pro - Google Maps Lead Generator
Extract business contact data from Google Maps including phone numbers, emails, websites, ratings, and addresses. Uses a 3-phase intelligent extraction system to prioritize high-value leads.
What This Actor Does
This actor scrapes Google Maps search results and extracts business information in three phases:
Phase 1: Basic Data Collection
- Business name, rating, review count
- Address, category, hours
- Price level, Google Maps URL
Phase 2: Enhanced Contact Extraction
- Visits individual business pages
- Extracts phone numbers and websites
- Prioritizes businesses with highest rating × review count
- Focuses on high-value prospects first
Phase 3: Email Extraction
- Visits business websites to find email addresses
- Prioritizes businesses that already have phone numbers
- Creates complete contact records (phone + email + website)
Use Cases
- Sales Teams - Build prospect lists for outreach campaigns
- Marketing Agencies - Create location-based contact databases
- Real Estate - Find local service providers and contractors
- Recruiters - Discover companies in specific industries
- Market Research - Analyze competitor presence and business density
- Lead Generation - Collect verified contact information at scale
Input Configuration
Required Parameters
Parameter | Type | Description | Example |
---|---|---|---|
searches | array | List of search queries with locations | See below |
Search Object Structure:
{"query": "law firms","location": "Los Angeles, CA","max_results": 50}
Optional Parameters
Parameter | Type | Default | Description |
---|---|---|---|
max_results_per_search | integer | 50 | Default max businesses per search (1-200) |
enhanced_extraction | boolean | true | Phase 2: Extract phones/websites from business pages |
extract_emails | boolean | true | Phase 3: Extract emails from business websites |
minimum_rating | integer | 0 | Filter by rating (in tenths, e.g., 35 = 3.5 stars) |
minimum_reviews | integer | 0 | Filter by minimum review count |
include_closed_businesses | boolean | true | Include temporarily/permanently closed businesses |
use_proxies | boolean | true | Enable Apify proxy rotation |
proxy_country | string | "US" | Proxy country code (US, GB, CA, AU, etc.) |
delay_between_requests | integer | 2 | Delay in seconds between searches |
scroll_delay | integer | 1500 | Delay in milliseconds between scroll actions |
timeout_per_search | integer | 10 | Maximum time in minutes per search |
output_format | string | "detailed" | Output format: detailed, compact, csv_ready |
enable_debug_logs | boolean | false | Enable detailed logging |
custom_user_agent | string | "" | Custom User-Agent string |
Input Examples
Basic Single Search
{"searches": [{"query": "coffee shops","location": "Seattle, WA","max_results": 30}]}
Multiple Searches with Filters
{"searches": [{"query": "law firms","location": "Los Angeles, CA","max_results": 50},{"query": "dentists","location": "Miami, FL","max_results": 25}],"minimum_rating": 40,"minimum_reviews": 10,"enhanced_extraction": true,"extract_emails": true,"use_proxies": true}
Fast Basic Data Only
{"searches": [{"query": "restaurants","location": "New York, NY","max_results": 100}],"enhanced_extraction": false,"extract_emails": false}
Output Format
The actor outputs structured JSON data for each business:
{"name": "Wilshire Law Firm","rating": 4.9,"review_count": 2525,"address": "660 S. Figueroa Street, Los Angeles, CA","category": "Personal Injury Attorney","phone": "+1 800-241-9170","website": "https://wilshirelawfirm.com","email": "info@wilshirelawfirm.com","price_level": "","hours": "Open 24 hours","maps_url": "https://www.google.com/maps/place/...","extracted_at": "2025-10-16T10:00:00.000Z"}
Output Formats:
- detailed - All available fields (default)
- compact - Essential fields only (name, phone, email, address)
- csv_ready - Flat structure optimized for CSV export
Features
Intelligent Prioritization
- Sorts businesses by rating × review count
- Extracts phone numbers from highest-value prospects first
- Prioritizes email extraction for businesses with existing phone numbers
- Maximizes lead quality within timeout constraints
Anti-Detection
- Uses Crawlee framework with browser fingerprinting
- Residential proxy rotation via Apify proxies
- Human-like scrolling and interaction delays
- Automatic retry on failures
Timeout Optimization
- Works within Apify's platform constraints
- Gracefully handles timeouts without data loss
- Continues extracting from next search if one times out
- Saves partial results if actor is interrupted
Data Quality
- Validates and normalizes phone numbers
- Extracts emails using multiple methods (mailto links, contact pages, footer text)
- Verifies URLs and formats consistently
- Includes extraction timestamp for all records
Limitations
- Email Extraction Accuracy: Email extraction success varies by website structure (30-60% success rate). Websites with anti-scraping measures, JavaScript-heavy contact forms, or no visible emails cannot be extracted.
- Rate Limits: Google Maps may rate-limit or block requests. Use proxies and appropriate delays to minimize this.
- Dynamic Content: Some business information requires user interaction (clicking tabs, expanding sections) which may not be captured.
- Data Availability: Not all businesses have phone numbers, websites, or emails publicly listed on Google Maps or their websites.
- Extraction Speed: Phase 2 and 3 add significant time. A search with 50 businesses may take 8-12 minutes with full extraction enabled.
- Regional Variations: Results vary by location and language. Some regions have less complete business data.
Performance & Pricing
Typical Performance:
- Phase 1 only (basic data): 50-100 businesses per minute
- Phase 2 (with phone/website extraction): 5-10 businesses per minute
- Phase 3 (with email extraction): 3-6 businesses per minute
Resource Usage:
- Basic extraction: ~0.01-0.02 compute units per 50 businesses
- Enhanced extraction: ~0.05-0.08 compute units per 50 businesses
- With email extraction: ~0.10-0.15 compute units per 50 businesses
Realistic Expectations:
For a search of 50 businesses with all features enabled:
- Time: 10-15 minutes
- Phone numbers found: 20-35 (40-70%)
- Emails found: 8-15 (15-30% of total, 40-60% of those with websites)
- Complete records (phone + email): 5-12 (10-25%)
Technical Details
Extraction Methods:
- Google Maps list scrolling to load all results
- Individual business page visits for detailed data
- Website scraping for email addresses using:
- Mailto: links
- Contact page analysis
- Footer and header text parsing
- Common email patterns
Supported Data:
- Business names and categories
- Ratings (0-5 scale) and review counts
- Physical addresses
- Phone numbers (validated and formatted)
- Website URLs
- Email addresses
- Operating hours
- Price levels
- Google Maps URLs
Error Handling:
- Graceful timeout handling
- Automatic retries on network failures
- Progressive validation (continues with valid searches even if some fail)
- Detailed logging for troubleshooting
Integration
Use Apify's built-in features:
- Dataset API - Access results via REST API
- Scheduled Runs - Automate daily/weekly lead collection
- Webhooks - Get notifications when runs complete
- Zapier/Make - Connect to CRMs and marketing tools
Example Integration Flow:
- Schedule actor to run weekly
- Export results to Google Sheets via Apify integration
- Use Zapier to add new leads to Salesforce/HubSpot
- Set up email notifications for high-value leads (rating > 4.5)
Best Practices
- Start Small - Test with 1-2 searches and 10-20 results before scaling
- Use Proxies - Always enable proxies to avoid IP blocks
- Set Realistic Timeouts - 10-12 minutes per search for full extraction
- Filter Strategically - Use minimum_rating and minimum_reviews to focus on quality
- Batch Wisely - 3-5 searches per run is optimal for reliability
- Monitor Logs - Enable debug logs if extraction rates seem low
- Respect Rate Limits - Use delays between requests (2-5 seconds recommended)
Legal & Ethical Considerations
This actor collects publicly available information from Google Maps. When using this data:
- Comply with Google's Terms of Service
- Follow local data protection regulations (GDPR, CCPA, etc.)
- Respect CAN-SPAM and anti-spam laws for email outreach
- Only use data for legitimate business purposes
- Provide opt-out mechanisms for contacted businesses
- Store data securely and delete when no longer needed
Troubleshooting
Low phone/email extraction rates?
- Increase timeout_per_search to 12-15 minutes
- Enable debug logs to see extraction details
- Check if businesses in your niche typically have websites
Actor timing out?
- Reduce max_results per search
- Disable email extraction for faster runs
- Increase timeout_per_search parameter
Getting blocked?
- Ensure use_proxies is enabled
- Increase delay_between_requests
- Reduce max_results to avoid sustained scraping
Empty results?
- Verify search query and location are valid in Google Maps
- Check if location has businesses for that query
- Try broader search terms
Support
For issues, questions, or feature requests, please contact Apify support or report issues through the Apify Console.
Built on Apify platform. Powered by Crawlee for Python.