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).

LEAD GENERATION

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.

Try on Apify Store
$0.30per event
Last verified: March 27, 2026
Data sources:Google Maps Platform
14
Users (30d)
116
Runs (30d)
94
Actively maintained
Maintenance Pulse
$0.30
Per event

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/100
Last Build
Today
Last Version
2d ago
Builds (30d)
14
Issue Response
8h avg

Cost Estimate

How many results do you need?

lead-enricheds
Estimated cost:$30.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
lead-enrichedCharged 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 PointSourceExample
📍 Business nameGoogle MapsPinnacle Web Solutions
📂 Business categoryGoogle MapsWeb designer
🏠 Street addressGoogle Maps + Website742 Evergreen Terrace, Springfield, IL 62704
📞 Phone numbersGoogle Maps + Website+1-312-555-0198, +1-312-555-0245
Rating and reviewsGoogle Maps4.7 stars, 83 reviews
📧 Email addressesWebsite scraping[email protected], [email protected]
👤 Named contacts with titlesWebsite scrapingSarah Chen, Director of Operations
🔗 Social media profilesWebsite scrapingLinkedIn, Twitter, Facebook, Instagram URLs
📐 Email naming patternPattern detection{first}.{last}@domain.com (85% confidence)
📨 Generated emailsPattern detection[email protected] (predicted)
🏆 Lead score (0-100)Lead qualifier82/100, Grade A
🔍 Scoring signalsLead qualifier"Multiple emails found", "Named contacts with titles"
💻 CMS and tech stackLead qualifierWordPress, Google Analytics, SSL
🗺️ Google Maps URLGoogle MapsDirect 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

  1. 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.
  2. 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.
  3. 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.
  4. 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

ParameterTypeRequiredDefaultDescription
searchStringsArrayString[]YesGoogle Maps search queries (e.g., "plumbers in Austin TX"). Up to 50 queries per run.
maxCrawledPlacesPerQueryIntegerNo100Maximum businesses to scrape per query (1-500). Google Maps shows up to ~120 results per search.
languageStringNo"en"Language code for Google Maps results (e.g., "en", "es", "de", "ja").
includeBusinessesWithoutWebsiteBooleanNofalseInclude businesses with no website URL. These have Maps data only — no enrichment.
maxPagesPerDomainIntegerNo5Maximum pages to crawl per website during contact scraping (1-20). Higher values find more contacts.
minScoreIntegerNo0Only output leads scoring at or above this threshold (0-100). Set to 0 for all leads.
skipEmailPatternFinderBooleanNofalseSkip the email pattern detection step. Faster and cheaper, but no pattern analysis or generated emails.
skipLeadQualifierBooleanNofalseSkip the lead scoring and grading step. Faster and cheaper, but no scores, grades, or business signals.
proxyConfigurationObjectNoApify ProxyProxy 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

FieldTypeDescription
businessNameStringBusiness name from the Google Maps listing
searchQueryString|nullThe search query that found this business
googleMapsCategoryString|nullBusiness category (e.g., "Web designer", "Plumber")
googleMapsAddressString|nullStreet address from the Google Maps listing
googleMapsPhoneString|nullPhone number from the Google Maps listing
googleMapsRatingNumber|nullStar rating (0-5) from Google Maps
googleMapsReviewsCountInteger|nullTotal number of Google Maps reviews
googleMapsPlaceIdString|nullGoogle Maps Place ID for the listing
googleMapsUrlString|nullDirect link to the Google Maps listing
domainString|nullNormalized website domain. Null for businesses without websites.
urlString|nullFull website URL
emailsString[]All discovered email addresses, deduplicated across pipeline steps
phonesString[]All phone numbers from Maps + website + qualifier, deduplicated
contactsObject[]Named contacts with name, title, and optional email
socialLinksObjectSocial media profile URLs keyed by platform (linkedin, twitter, facebook, etc.)
emailPatternString|nullDetected email naming convention (e.g., {first}.{last}@{domain}). Null if pattern detection skipped.
emailPatternConfidenceNumber|nullPattern confidence from 0 to 1
generatedEmailsObject[]Predicted emails for contacts without a public email address
scoreInteger|nullLead quality score 0-100. Null if lead qualification skipped.
gradeString|nullLetter grade: A (90-100), B (75-89), C (60-74), D (40-59), F (0-39)
scoreBreakdownObject|nullPoints per scoring category: contactReachability, businessLegitimacy, onlinePresence, websiteQuality, teamTransparency
signalsObject[]Individual scoring signals with signal, category, points, and detail
addressString|nullPhysical address (qualifier-detected takes priority, falls back to Maps address)
cmsDetectedString|nullDetected CMS or framework (WordPress, Shopify, Wix, etc.)
techSignalsString[]Technologies and tools detected on the website
pipelineStepsString[]Which pipeline steps completed for this lead
processedAtStringISO 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.

ScenarioLeadsCost per leadTotal cost
Quick test3$0.30$0.90
Small batch10$0.30$3.00
Medium batch50$0.30$15.00
Large batch200$0.30$60.00
Enterprise1,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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Schedule weekly runs for fresh leads. New businesses appear on Google Maps regularly. A weekly schedule captures new listings and keeps your pipeline current.

  8. 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

ActorHow to combine
Bulk Email VerifierVerify all discovered and generated emails before outreach to protect sender reputation ($0.005/email)
HubSpot Lead PusherPush enriched leads into HubSpot CRM as contacts and companies with all pipeline data mapped to CRM fields
Website Tech Stack DetectorDetect 100+ technologies on prospect websites to tailor sales pitches based on their current stack ($0.10/site)
Company Deep ResearchRun deep research reports on your highest-scoring leads for personalized outreach at scale
Waterfall Contact EnrichmentSupplement pipeline output with a 10-step contact enrichment cascade for leads with thin contact data ($0.20/contact)
Website Content to MarkdownConvert prospect websites to markdown for AI-powered outreach personalization using LLMs ($0.02/page)
Trustpilot Review AnalyzerAnalyze 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 maxCrawledPlacesPerQuery above 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 maxPagesPerDomain to 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, lower maxPagesPerDomain to 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 minScore to 0 and use the scoreBreakdown field 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 maxCrawledPlacesPerQuery to 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.txt directives.
  • 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:

  1. Go to Account Settings > Privacy
  2. 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.

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.

99% success$0.000/event

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

100% success$0.10/event

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

92% success$0.20/event

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.

99% success$0.15/event
Last verified: March 27, 2026

Ready to try Google Maps Lead Enricher?

Start for free on Apify. No credit card required.

Open on Apify Store