Google Maps Lead Enricher is an Apify actor on ApifyForge. Google Maps lead enrichment turns a search query into a scored, contact-rich lead list in a single run. Enter queries like "plumbers in Austin TX" or "marketing agencies in Chicago" and get back enriched business records... It costs $0.30 per lead-enriched. 27 users have run it 126 times with a 78% success rate. Best for investigators, analysts, and risk teams conducting due diligence, regulatory tracking, or OSINT research. Not ideal for real-time surveillance or replacing classified intelligence systems. Maintenance pulse: 94/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).
Google Maps Lead Enricher
Google Maps Lead Enricher is an Apify actor available on ApifyForge at $0.30 per lead-enriched. Google Maps lead enrichment turns a search query into a scored, contact-rich lead list in a single run. Enter queries like "plumbers in Austin TX" or "marketing agencies in Chicago" and get back enriched business records with emails, phone numbers, named contacts, social profiles, email naming patterns, and lead quality scores from 0 to 100. Google Maps Lead Enricher has been used by 27 users across 126 total runs with a 78% success rate over the last 30 days.
Best for investigators, analysts, and risk teams conducting due diligence, regulatory tracking, or OSINT research.
Not ideal for real-time surveillance or replacing classified intelligence systems.
What to know
- Limited to publicly available and open-source information.
- Report depth depends on the availability of upstream government and public data sources.
- Requires an Apify account — free tier available with limited monthly usage.
Maintenance Pulse
94/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| lead-enriched | Charged per enriched lead. Combines Google Maps business data with website contact scraping, email pattern detection, and lead qualification. | $0.30 |
Example: 100 events = $30.00 · 1,000 events = $300.00
Documentation
Google Maps lead enrichment turns a search query into a scored, contact-rich lead list in a single run. Enter queries like "plumbers in Austin TX" or "marketing agencies in Chicago" and get back enriched business records with emails, phone numbers, named contacts, social profiles, email naming patterns, and lead quality scores from 0 to 100.
The actor runs a 4-stage pipeline: Google Maps search, website contact scraping, email pattern detection, and lead qualification with scoring. Every stage feeds data to the next. Results are deduplicated, merged into flat records, sorted by lead score, and delivered as a single dataset. No code required, no manual research, no juggling separate tools.
What data can you extract?
| Data Point | Source | Example |
|---|---|---|
| 📍 Business name | Google Maps | Pinnacle Web Solutions |
| 📂 Business category | Google Maps | Web designer |
| 🏠 Street address | Google Maps + Website | 742 Evergreen Terrace, Springfield, IL 62704 |
| 📞 Phone numbers | Google Maps + Website | +1-312-555-0198, +1-312-555-0245 |
| ⭐ Rating and reviews | Google Maps | 4.7 stars, 83 reviews |
| 📧 Email addresses | Website scraping | [email protected], [email protected] |
| 👤 Named contacts with titles | Website scraping | Sarah Chen, Director of Operations |
| 🔗 Social media profiles | Website scraping | LinkedIn, Twitter, Facebook, Instagram URLs |
| 📐 Email naming pattern | Pattern detection | {first}.{last}@domain.com (85% confidence) |
| 📨 Generated emails | Pattern detection | [email protected] (predicted) |
| 🏆 Lead score (0-100) | Lead qualifier | 82/100, Grade A |
| 🔍 Scoring signals | Lead qualifier | "Multiple emails found", "Named contacts with titles" |
| 💻 CMS and tech stack | Lead qualifier | WordPress, Google Analytics, SSL |
| 🗺️ Google Maps URL | Google Maps | Direct link to Maps listing |
Why use Google Maps Lead Enricher?
Building a lead list from Google Maps by hand takes hours. You search for businesses, click into each listing, copy the website, visit the site, hunt for a contact page, guess at email formats, and repeat hundreds of times. A 50-business list takes a full workday. A 200-business list takes a week.
This actor automates the entire process in minutes. One search query produces a scored, contact-rich dataset ready for import into your CRM or outreach tool. The 4-step pipeline runs the same research workflow a human would, but processes 50 businesses in the time it takes to research one manually.
- Scheduling — run daily, weekly, or custom intervals to discover new businesses as they appear on Google Maps
- API access — trigger runs from Python, JavaScript, or any HTTP client to integrate with your sales workflow
- Proxy rotation — scrape at scale without IP blocks using Apify's built-in proxy infrastructure
- Monitoring — get Slack or email alerts when runs fail or produce unexpected results
- Integrations — connect to Zapier, Make, Google Sheets, HubSpot, or webhooks for automated lead delivery
Features
- 4-stage enrichment pipeline — Google Maps search, website contact scraping, email pattern detection, and lead scoring run sequentially in a single actor
- Multi-query batch processing — search for "plumbers in Austin TX" and "electricians in Dallas TX" in the same run to build cross-category prospect lists (up to 50 queries per run)
- Domain deduplication — when multiple Maps listings share a website domain, the pipeline scrapes that domain once and attaches enrichment data to every matching listing
- Deep contact extraction — crawls up to 20 pages per business website to find emails, phone numbers, named contacts with job titles, and social media profiles
- Email pattern detection — identifies naming conventions like
[email protected]and generates predicted emails for contacts found by name but missing an email address - Lead scoring across 5 categories — scores leads 0-100 on Contact Reachability (30 pts), Business Legitimacy (25 pts), Online Presence (20 pts), Website Quality (15 pts), and Team Transparency (10 pts)
- A-F letter grading — each lead receives a letter grade: A (90-100), B (75-89), C (60-74), D (40-59), F (0-39)
- Score-based filtering — set a minimum score threshold to automatically exclude low-quality leads from the output
- Graceful degradation — if any optional pipeline step fails, the actor continues with available data rather than aborting the entire run
- Results sorted by score — highest-scoring leads appear first in the dataset for immediate prioritization
- No-website inclusion — optionally include businesses without websites to capture their Maps phone numbers, addresses, and ratings
- Pay-per-event billing — charges $0.30 per enriched lead with spending limits to control costs
- Run summary — saves a summary to the key-value store with total businesses found, leads pushed, email count, average score, and pipeline steps completed
Use cases for Google Maps lead enrichment
Sales prospecting for local services
SDRs and BDRs targeting local businesses build outreach lists by searching for specific industries in target cities. Instead of spending a full day researching 50 businesses, run a single query and get scored leads with verified contact information ready for personalized outreach.
Marketing agency lead generation
Digital marketing agencies prospecting for new clients search for businesses in their service area. The lead scores help prioritize outreach toward businesses with strong web presence but gaps in their marketing stack, where the agency can offer the most value.
Recruiting and talent sourcing
Recruiters targeting specific companies in a market search Google Maps for businesses in their industry and location, then use the extracted contacts and email patterns to reach hiring managers directly without relying on job board databases.
Local market mapping
Analysts conducting competitive analysis or market entry research search for all businesses in a category and location. The enriched data reveals market density, average review ratings, technology adoption, and contact accessibility across the competitive landscape.
Real estate and property services
Real estate agents, property managers, and commercial service providers build prospect lists of local businesses for B2B outreach. The scored results help focus on established businesses with strong online presence and accessible decision makers.
Franchise and multi-location research
Teams evaluating franchise opportunities or multi-location businesses search for specific brands or categories across multiple cities in a single run. The domain deduplication reveals which locations share corporate websites versus operating independent sites.
How to enrich Google Maps leads
- Enter your search queries — Type one or more Google Maps search queries like "dentists in Los Angeles" or "HVAC contractors in Phoenix AZ". Use natural language, the same way you would search on Google Maps.
- Configure pipeline options — Set how many businesses to scrape per query (default: 100) and how many website pages to crawl for contacts (default: 5). Toggle off email pattern detection or lead scoring if you want faster, cheaper results.
- Run the actor — Click "Start" and wait for the pipeline to complete. Progress updates appear in the actor log as each step finishes. A run with 50 businesses and the full pipeline takes 10-30 minutes.
- Download your leads — Export results as JSON, CSV, or Excel from the Dataset tab. Or connect Google Sheets, Zapier, Make, or HubSpot for automated delivery.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchStringsArray | String[] | Yes | — | Google Maps search queries (e.g., "plumbers in Austin TX"). Up to 50 queries per run. |
maxCrawledPlacesPerQuery | Integer | No | 100 | Maximum businesses to scrape per query (1-500). Google Maps shows up to ~120 results per search. |
language | String | No | "en" | Language code for Google Maps results (e.g., "en", "es", "de", "ja"). |
includeBusinessesWithoutWebsite | Boolean | No | false | Include businesses with no website URL. These have Maps data only — no enrichment. |
maxPagesPerDomain | Integer | No | 5 | Maximum pages to crawl per website during contact scraping (1-20). Higher values find more contacts. |
minScore | Integer | No | 0 | Only output leads scoring at or above this threshold (0-100). Set to 0 for all leads. |
skipEmailPatternFinder | Boolean | No | false | Skip the email pattern detection step. Faster and cheaper, but no pattern analysis or generated emails. |
skipLeadQualifier | Boolean | No | false | Skip the lead scoring and grading step. Faster and cheaper, but no scores, grades, or business signals. |
proxyConfiguration | Object | No | Apify Proxy | Proxy settings passed to all pipeline steps. Recommended for batches over 20 businesses. |
Input examples
Local service business prospecting (most common):
{
"searchStringsArray": ["plumbers in Austin TX", "electricians in Austin TX"],
"maxCrawledPlacesPerQuery": 50,
"maxPagesPerDomain": 5,
"minScore": 50
}
Quick discovery without scoring (faster and cheaper):
{
"searchStringsArray": ["marketing agencies in Chicago"],
"maxCrawledPlacesPerQuery": 20,
"skipEmailPatternFinder": true,
"skipLeadQualifier": true
}
Comprehensive list with all businesses:
{
"searchStringsArray": ["dentists in Los Angeles"],
"maxCrawledPlacesPerQuery": 100,
"includeBusinessesWithoutWebsite": true,
"maxPagesPerDomain": 8
}
Input tips
- Start with 3-5 businesses per query to verify output quality and cost before scaling up to full batches
- Use specific location-based queries — "plumbers in Austin TX" returns better results than "plumbers". Include city, state, or ZIP code.
- Set minScore to 50+ when lead scoring is enabled to filter out businesses with thin contact information or low legitimacy signals
- Enable proxies for large batches — use Apify Proxy when scraping more than 20 businesses to avoid rate limiting
- Batch related queries in one run — searching for 5 related business types in one run is faster and cheaper than running 5 separate single-query runs
Output example
{
"businessName": "Pinnacle Web Solutions",
"searchQuery": "web development agencies in San Francisco",
"googleMapsCategory": "Web designer",
"googleMapsAddress": "742 Market St, San Francisco, CA 94102",
"googleMapsPhone": "+1-415-555-0198",
"googleMapsRating": 4.8,
"googleMapsReviewsCount": 67,
"googleMapsPlaceId": "ChIJrTLr-GyuEmsR0e_VfY",
"googleMapsUrl": "https://www.google.com/maps/place/Pinnacle+Web+Solutions/...",
"domain": "pinnacleweb.com",
"url": "https://pinnacleweb.com",
"emails": ["[email protected]", "[email protected]", "[email protected]"],
"phones": ["+1-415-555-0198", "+1-415-555-0245"],
"contacts": [
{ "name": "Sarah Chen", "title": "Director of Operations", "email": "[email protected]" },
{ "name": "Michael Torres", "title": "Lead Developer" }
],
"socialLinks": {
"linkedin": "https://linkedin.com/company/pinnacleweb",
"twitter": "https://twitter.com/pinnacleweb",
"facebook": "https://facebook.com/pinnaclewebsolutions"
},
"emailPattern": "{first}.{last}@{domain}",
"emailPatternConfidence": 0.85,
"generatedEmails": [
{ "name": "Michael Torres", "email": "[email protected]" }
],
"score": 82,
"grade": "A",
"scoreBreakdown": {
"contactReachability": 24,
"businessLegitimacy": 19,
"onlinePresence": 16,
"websiteQuality": 13,
"teamTransparency": 10
},
"signals": [
{ "signal": "Multiple emails found", "category": "contactReachability", "points": 10, "detail": "3 emails" },
{ "signal": "Named contacts with titles", "category": "teamTransparency", "points": 8, "detail": "2 contacts" },
{ "signal": "Social profiles on 3+ platforms", "category": "onlinePresence", "points": 8, "detail": "LinkedIn, Twitter, Facebook" },
{ "signal": "SSL certificate active", "category": "websiteQuality", "points": 5, "detail": "HTTPS enabled" },
{ "signal": "Physical address detected", "category": "businessLegitimacy", "points": 6, "detail": "742 Market St, San Francisco" }
],
"address": "742 Market St, San Francisco, CA 94102",
"cmsDetected": "WordPress",
"techSignals": ["WordPress", "Google Analytics", "SSL", "jQuery"],
"pipelineSteps": ["google-maps", "contact-scraper", "email-pattern-finder", "lead-qualifier"],
"processedAt": "2025-07-15T14:30:00.000Z"
}
Output fields
| Field | Type | Description |
|---|---|---|
businessName | String | Business name from the Google Maps listing |
searchQuery | String|null | The search query that found this business |
googleMapsCategory | String|null | Business category (e.g., "Web designer", "Plumber") |
googleMapsAddress | String|null | Street address from the Google Maps listing |
googleMapsPhone | String|null | Phone number from the Google Maps listing |
googleMapsRating | Number|null | Star rating (0-5) from Google Maps |
googleMapsReviewsCount | Integer|null | Total number of Google Maps reviews |
googleMapsPlaceId | String|null | Google Maps Place ID for the listing |
googleMapsUrl | String|null | Direct link to the Google Maps listing |
domain | String|null | Normalized website domain. Null for businesses without websites. |
url | String|null | Full website URL |
emails | String[] | All discovered email addresses, deduplicated across pipeline steps |
phones | String[] | All phone numbers from Maps + website + qualifier, deduplicated |
contacts | Object[] | Named contacts with name, title, and optional email |
socialLinks | Object | Social media profile URLs keyed by platform (linkedin, twitter, facebook, etc.) |
emailPattern | String|null | Detected email naming convention (e.g., {first}.{last}@{domain}). Null if pattern detection skipped. |
emailPatternConfidence | Number|null | Pattern confidence from 0 to 1 |
generatedEmails | Object[] | Predicted emails for contacts without a public email address |
score | Integer|null | Lead quality score 0-100. Null if lead qualification skipped. |
grade | String|null | Letter grade: A (90-100), B (75-89), C (60-74), D (40-59), F (0-39) |
scoreBreakdown | Object|null | Points per scoring category: contactReachability, businessLegitimacy, onlinePresence, websiteQuality, teamTransparency |
signals | Object[] | Individual scoring signals with signal, category, points, and detail |
address | String|null | Physical address (qualifier-detected takes priority, falls back to Maps address) |
cmsDetected | String|null | Detected CMS or framework (WordPress, Shopify, Wix, etc.) |
techSignals | String[] | Technologies and tools detected on the website |
pipelineSteps | String[] | Which pipeline steps completed for this lead |
processedAt | String | ISO 8601 timestamp when the lead was processed |
How much does it cost to enrich Google Maps leads?
Google Maps Lead Enricher uses pay-per-event pricing — you pay $0.30 per enriched lead. Platform compute costs are included.
| Scenario | Leads | Cost per lead | Total cost |
|---|---|---|---|
| Quick test | 3 | $0.30 | $0.90 |
| Small batch | 10 | $0.30 | $3.00 |
| Medium batch | 50 | $0.30 | $15.00 |
| Large batch | 200 | $0.30 | $60.00 |
| Enterprise | 1,000 | $0.30 | $300.00 |
You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached, delivering whatever leads have been processed up to that point.
Compare this to doing the same work manually with separate tools: a Google Maps scraper ($50-100/month), a contact finder like Hunter.io ($49-399/month), and a lead scoring tool ($99-299/month). With Google Maps Lead Enricher, most users spend $15-60/month with no subscription commitment.
Apify's free tier includes $5 of monthly platform credits — enough to test the actor with approximately 15 fully enriched leads.
Enrich Google Maps leads using the API
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/google-maps-lead-enricher").call(run_input={
"searchStringsArray": ["plumbers in Austin TX", "electricians in Austin TX"],
"maxCrawledPlacesPerQuery": 50,
"minScore": 50,
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
score = lead.get("score", "N/A")
grade = lead.get("grade", "—")
emails = ", ".join(lead.get("emails", []))
print(f'{lead["businessName"]} [{grade} {score}] — {emails}')
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("ryanclinton/google-maps-lead-enricher").call({
searchStringsArray: ["plumbers in Austin TX", "electricians in Austin TX"],
maxCrawledPlacesPerQuery: 50,
minScore: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const lead of items) {
console.log(`${lead.businessName} [${lead.grade} ${lead.score}] — ${lead.emails.join(", ")}`);
}
cURL
# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~google-maps-lead-enricher/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchStringsArray": ["plumbers in Austin TX"],
"maxCrawledPlacesPerQuery": 50,
"minScore": 50
}'
# Fetch results (replace DATASET_ID from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
How Google Maps Lead Enricher works
Stage 1: Google Maps business discovery
The actor calls Google Maps Email Extractor with your search queries and scrapeWebsites: false for maximum speed. Each query returns up to maxCrawledPlacesPerQuery business listings with name, address, phone, rating, review count, category, Place ID, and website URL. The actor paginates results in batches of 1,000 to avoid API truncation. Results are normalized to a consistent field naming schema before passing downstream.
Stage 2: Website contact scraping
The actor extracts unique website domains from the Maps results using extractWebsitesFromMaps(), which deduplicates by domain so each website is crawled only once even if multiple businesses share it. It then calls Website Contact Scraper with includeNames: true and includeSocials: true to crawl up to maxPagesPerDomain pages per site. The scraper extracts email addresses, phone numbers, named contacts with job titles, and social media profile URLs. If this step fails, the pipeline continues with Maps data only.
Stage 3: Email pattern detection (optional)
Discovered emails are passed as knownEmails to Email Pattern Finder alongside contact names from Stage 2. Website scraping is disabled (searchWebsite: false) and GitHub commit search is enabled to find additional email samples. The pattern finder identifies naming conventions like {first}.{last}@{domain} and generates predicted email addresses for contacts found by name but lacking an email. Confidence scores reflect how many sample emails supported the detected pattern.
Stage 4: Lead scoring and qualification (optional)
All upstream data is packaged into a pipelineData array indexed by domain and sent to B2B Lead Qualifier. The qualifier independently crawls each website to detect 30+ quality signals across five scoring categories: Contact Reachability (30 pts max), Business Legitimacy (25 pts), Online Presence (20 pts), Website Quality (15 pts), and Team Transparency (10 pts). Each lead receives a 0-100 score and A-F letter grade.
Merge, sort, and filter
The mergeAllResults() function creates one output row per Google Maps listing. Emails from Stages 2 and 4 are unioned via Set to eliminate duplicates. Phones from Maps, Stage 2, and Stage 4 are merged. Social links from Stage 2 take priority; Stage 4 fills missing platforms. Address uses the qualifier-detected value when available, falling back to the Maps address. Results are sorted by lead score (highest first). Leads below the minScore threshold are filtered out. Each lead is pushed to the dataset individually with pay-per-event charging, and the actor stops if the spending limit is reached.
Tips for best results
-
Use specific, location-based queries. "Plumbers in Austin TX" returns targeted results. "Plumbers" alone returns businesses near Google's default location, which may not be your target market.
-
Start with 3-5 businesses per query. Run a small test to verify output quality and cost before committing to a 100+ business batch. This costs under $2 with the full pipeline.
-
Set minScore to 50+ for outreach lists. A score of 50 or higher indicates the business has verified contact information, a legitimate website, and at least some online presence. Leads scoring below 40 often lack actionable contact data.
-
Skip optional steps when you only need contacts. Disabling email pattern detection and lead scoring cuts run time by 40-60% and reduces cost. Use this when you need raw contact data without qualification.
-
Combine multiple related queries. Search for "web designers in Chicago", "digital marketing agencies in Chicago", and "SEO companies in Chicago" in one run to build a comprehensive agency prospect list across related categories.
-
Verify emails before outreach. Discovered emails are extracted from websites and generated emails are pattern-based predictions. Run both through Bulk Email Verifier before sending cold emails to protect your sender reputation.
-
Schedule weekly runs for fresh leads. New businesses appear on Google Maps regularly. A weekly schedule captures new listings and keeps your pipeline current.
-
Export directly to your CRM. Use HubSpot Lead Pusher or the Zapier integration to push enriched leads into your CRM automatically after each run.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| Bulk Email Verifier | Verify all discovered and generated emails before outreach to protect sender reputation ($0.005/email) |
| HubSpot Lead Pusher | Push enriched leads into HubSpot CRM as contacts and companies with all pipeline data mapped to CRM fields |
| Website Tech Stack Detector | Detect 100+ technologies on prospect websites to tailor sales pitches based on their current stack ($0.10/site) |
| Company Deep Research | Run deep research reports on your highest-scoring leads for personalized outreach at scale |
| Waterfall Contact Enrichment | Supplement pipeline output with a 10-step contact enrichment cascade for leads with thin contact data ($0.20/contact) |
| Website Content to Markdown | Convert prospect websites to markdown for AI-powered outreach personalization using LLMs ($0.02/page) |
| Trustpilot Review Analyzer | Analyze prospect review sentiment to identify businesses with customer service pain points ($0.15/business) |
Limitations
- Google Maps coverage varies by region. Search results depend on Google Maps data for the given location and category. Some areas or niche industries return fewer results than expected.
- HTML-only website crawling. The contact scraper and lead qualifier use HTTP-based HTML parsing without a browser. Websites built entirely in JavaScript (React SPAs, Angular apps) may return incomplete contact data. For JS-rendered sites, use Website Contact Scraper Pro as a standalone tool.
- No email verification included. Discovered and generated emails are not validated for deliverability. Generated emails are pattern-based predictions with a confidence score but not guaranteed to be real addresses. Use Bulk Email Verifier to validate before outreach.
- Sequential pipeline execution. Steps run one after another. The full 4-step pipeline takes 3-8 minutes for 10 businesses and 20-60 minutes for 100+ businesses.
- Shared domain enrichment. Multiple businesses sharing the same website domain (e.g., franchises) receive identical enrichment data. The actor does not differentiate between locations on the same corporate domain.
- Pattern detection needs multiple email samples. Email patterns require 2+ discovered emails to produce reliable results. Businesses with only one email address produce low-confidence or no pattern output.
- Maximum 50 search queries per run. The actor logs a warning for batches over 20 queries. For very large prospecting campaigns, split queries across multiple scheduled runs.
- Google Maps returns ~120 results per query maximum. Setting
maxCrawledPlacesPerQueryabove 120 will not yield additional results for most queries.
Integrations
- Zapier — trigger CRM workflows, Slack notifications, or email sequences when new enriched leads are available
- Make — build multi-step automation scenarios that route leads based on score, grade, or category
- Google Sheets — export enriched leads directly to a shared spreadsheet for sales team review
- Apify API — fetch results programmatically in JSON, CSV, XML, or Excel format from any language
- Webhooks — POST results to your own API endpoint when the pipeline completes
- LangChain / LlamaIndex — feed enriched lead data into AI agents for automated research, outreach drafting, or lead scoring refinement
Troubleshooting
-
"No businesses found for the given search queries" — Your search query returned zero Google Maps results. Try broader terms, check spelling, or include a larger geographic area. "Plumbers in Springfield IL" is more reliable than "plumber springfield".
-
Empty email results despite businesses having websites — Some websites load contact information via JavaScript. This actor uses HTTP-based HTML parsing. Single-page applications built with React, Angular, or Vue may not expose emails in the raw HTML. Try increasing
maxPagesPerDomainto crawl deeper, or use Website Contact Scraper Pro for JS-rendered sites. -
Run taking longer than expected — The full 4-step pipeline processes each domain through multiple sub-actors sequentially. For faster runs, reduce
maxCrawledPlacesPerQuery, lowermaxPagesPerDomainto 3, or skip optional pipeline steps. A 100-business full pipeline run typically takes 20-60 minutes. -
Low lead scores across all results — Scores reflect website quality and contact accessibility, not business quality. Small businesses with basic websites naturally score lower. Set
minScoreto 0 and use thescoreBreakdownfield to understand which categories are pulling scores down. -
Spending limit reached before all leads processed — The actor charges per lead and respects your budget cap. Increase your spending limit in the actor's run configuration, or reduce
maxCrawledPlacesPerQueryto process fewer businesses per run.
Responsible use
- This actor only accesses publicly available business listings and website content.
- Respect website terms of service and
robots.txtdirectives. - Comply with GDPR, CAN-SPAM, CCPA, and other applicable data protection laws when using scraped data for outreach.
- Generated emails are algorithmic predictions — verify before use and never use for bulk unsolicited messaging.
- Do not use extracted data for spam, harassment, or unauthorized purposes.
- For guidance on web scraping legality, see Apify's guide.
FAQ
How many Google Maps leads can I enrich in one run? Each search query returns up to ~120 businesses from Google Maps. You can run up to 50 queries per run, yielding up to 6,000 businesses. In practice, most users process 50-200 businesses per run for cost-effective prospecting.
How long does Google Maps lead enrichment take? A run with 10 businesses and the full 4-step pipeline completes in 3-8 minutes. 50 businesses take 10-30 minutes. 100+ businesses take 20-60 minutes. The contact scraping step is the slowest; the Maps search step is the fastest.
Does Google Maps Lead Enricher work for any country or language?
Yes. Google Maps search queries work globally. Set the language parameter to match your target market (e.g., "de" for German, "ja" for Japanese, "pt" for Portuguese). Email extraction is most effective on Latin-alphabet websites, but the pipeline works with any language.
What happens if a pipeline step fails? The Google Maps search step is required — if it fails, the run exits because there is no business data to enrich. The contact scraper, email pattern finder, and lead qualifier all fail gracefully. If any optional step fails, the pipeline continues with whatever data it has collected, and the failure is logged as a warning.
How is the Google Maps lead score calculated?
The B2B Lead Qualifier scores each business 0-100 across five weighted categories: Contact Reachability (max 30 pts), Business Legitimacy (max 25 pts), Online Presence (max 20 pts), Website Quality (max 15 pts), and Team Transparency (max 10 pts). Each category awards points based on specific signals detected on the website. The scoreBreakdown and signals fields show exactly how each score was determined.
How is Google Maps Lead Enricher different from Hunter.io or Apollo? Hunter.io and Apollo are subscription-based SaaS tools ($49-399/month) focused on individual email lookups. Google Maps Lead Enricher is a pay-per-result pipeline ($0.30/lead) that combines business discovery, contact scraping, pattern detection, and scoring in one automated workflow. No monthly subscription, no per-seat pricing.
Can I enrich Google Maps leads without email pattern detection or scoring?
Yes. Set skipEmailPatternFinder and skipLeadQualifier to true to run only the Maps search and contact scraping steps. This produces leads with emails, phones, contacts, and social links — without patterns, scores, or grades. Runs complete 40-60% faster.
What happens when multiple Google Maps businesses share the same website?
The enrichment pipeline runs once per unique domain. When merging results, each Google Maps listing sharing that domain receives the same enrichment data. This is common with franchise businesses or multi-location companies. The domain field lets you identify shared-domain listings.
Can I schedule Google Maps lead enrichment to run automatically? Yes. Use Apify's built-in scheduler to run the actor daily, weekly, or on any custom interval. Each scheduled run processes your search queries and delivers fresh leads to your dataset, Google Sheets, or CRM via integrations.
Is it legal to scrape Google Maps for business leads? Google Maps business listings are publicly available information. However, legality depends on your jurisdiction and how you use the data. Comply with applicable data protection laws (GDPR, CAN-SPAM, CCPA) when using scraped data for outreach. See Apify's guide on web scraping legality for detailed information.
Can I filter Google Maps leads by score before downloading?
Yes. Set the minScore parameter to filter out leads below your threshold. For example, minScore: 60 excludes all D-grade and F-grade leads, delivering only leads with meaningful contact data and legitimate business presence.
How accurate are the generated email addresses? Generated emails are pattern-based predictions, not verified addresses. Accuracy depends on the confidence score — patterns with 0.8+ confidence are based on multiple confirmed email samples and are more reliable. Always verify generated emails with Bulk Email Verifier before using them for outreach.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.
Compare this actor
Related actors
Website Contact Scraper
Website Contact Scraper is an Apify actor to extract emails, phone numbers, named contacts, job titles, and social links directly from live company websites. Give it a list of company URLs and it returns one structured, deduplicated contact record per domain with classified emails, phone numbers, named contacts with titles, and social links.
Email Pattern Finder - Detect Company Email Formats
Email Pattern Finder is an Apify actor for company email format detection that identifies the most likely naming convention a company uses — formats like `[email protected]`, `[email protected]`, or `[email protected]` — and generates candidate email addresses for specific people at that company, with optional MX and SMTP verification. Designed for sales, recruiting, and enrichment workflows that need company email pattern detection and name-to-email generation without per-address look
Waterfall Contact Enrichment
Waterfall Contact Enrichment is an Apify actor and email finder API for finding verified B2B email addresses from a person's name and company domain or company name. If no domain is provided, the actor automatically resolves the company domain by testing common TLDs against MX records. Unlike general-purpose email finder tools, Waterfall Contact Enrichment focuses on high-accuracy lookup rather than broad database search. Also known as a work email finder, B2B email lookup tool, or contact enric
B2B Lead Qualifier - Score & Rank Company Leads
B2B lead qualification is the first task sales teams cut when under pressure and the last task that should be cut. This actor crawls company websites, evaluates 30+ observable signals across five weighted categories, and assigns every domain a score from 0-100 with a letter grade (A through F). In a 100-lead list, it separates the 20 worth calling from the 80 worth archiving.
Ready to try Google Maps Lead Enricher?
Start for free on Apify. No credit card required.
Open on Apify Store