Google Maps Lead Enricher avatar
Google Maps Lead Enricher

Pricing

Pay per usage

Go to Apify Store
Google Maps Lead Enricher

Google Maps Lead Enricher

Search Google Maps for any business type and location, then automatically enrich every result with emails, phone numbers, team contacts, email patterns, and lead quality scores. Combines Google Maps Scraper with a 3-step B2B enrichment pipeline.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ryan clinton

ryan clinton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Share

Search Google Maps for any business type and location, then automatically enrich every result with emails, phone numbers, team contacts, email patterns, and lead quality scores.

One search query in, fully enriched leads out. No manual data piping between actors — this orchestrates the entire pipeline for you.

How it works

"plumbers in LA" → Google Maps → 200 businesses → Contact Scraper → Pattern Finder → Lead Qualifier → Enriched leads
  1. Search Google Maps — finds businesses matching your query (Google Maps Scraper)
  2. Scrape contact info — emails, phones, team member names, social links from each website (Website Contact Scraper)
  3. Detect email patterns — figures out the company's email format, generates emails for team members (Email Pattern Finder)
  4. Score and rank leads — analyzes 30+ business quality signals, assigns a score (0-100) and letter grade (B2B Lead Qualifier)

You get back one comprehensive record per business with Google Maps data merged with full pipeline enrichment.

How to use it

  1. Go to the Google Maps Lead Enricher on Apify
  2. Enter search queries like "dentists in Austin TX" or "marketing agencies in London"
  3. Click Start — the pipeline runs all 4 steps automatically
  4. Download your enriched leads as JSON, CSV, or export to Google Sheets

Output

Each business produces one enriched record. Here's a real example:

{
"businessName": "Expert Web Design Co",
"searchQuery": "web development agencies in San Francisco",
"googleMapsCategory": "Web designer",
"googleMapsAddress": "123 Market St, San Francisco, CA 94105",
"googleMapsPhone": "+1-415-555-0123",
"googleMapsRating": 4.8,
"googleMapsReviewsCount": 142,
"googleMapsPlaceId": "ChIJ...",
"googleMapsUrl": "https://www.google.com/maps/place/...",
"domain": "expertwebdesign.com",
"url": "https://expertwebdesign.com",
"emails": ["hello@expertwebdesign.com"],
"phones": ["+1-415-555-0123"],
"contacts": [
{ "name": "Sarah Chen", "title": "Founder & CEO" }
],
"socialLinks": {
"linkedin": "https://linkedin.com/company/expertwebdesign",
"twitter": "https://x.com/expertwebdesign"
},
"emailPattern": "{first}.{last}@expertwebdesign.com",
"emailPatternConfidence": 0.8,
"generatedEmails": [
{ "name": "Sarah Chen", "email": "sarah.chen@expertwebdesign.com" }
],
"score": 75,
"grade": "B",
"scoreBreakdown": {
"contactReachability": 18,
"businessLegitimacy": 22,
"onlinePresence": 15,
"websiteQuality": 12,
"teamTransparency": 8
},
"signals": [
{ "signal": "hasPersonalEmail", "category": "contactReachability", "points": 8, "detail": "sarah.chen@expertwebdesign.com" },
{ "signal": "hasLinkedInCompany", "category": "contactReachability", "points": 4, "detail": "LinkedIn company page" }
],
"address": "123 Market St, San Francisco, CA 94105",
"techSignals": ["google-analytics", "hubspot"],
"pipelineSteps": ["google-maps", "contact-scraper", "email-pattern-finder", "lead-qualifier"],
"processedAt": "2026-02-07T..."
}

Signals array shortened for brevity — the full output includes all signals that fired.

Output fields

FieldTypeDescription
businessNameStringBusiness name from Google Maps
searchQueryStringThe search query that found this business
googleMapsCategoryStringBusiness category on Google Maps
googleMapsAddressStringAddress from Google Maps
googleMapsPhoneStringPhone from Google Maps
googleMapsRatingNumberGoogle Maps rating (0-5)
googleMapsReviewsCountNumberNumber of Google reviews
googleMapsPlaceIdStringGoogle Place ID
googleMapsUrlStringGoogle Maps URL
domainStringCompany domain
urlStringWebsite URL
emailsArrayAll discovered email addresses
phonesArrayAll phone numbers (Maps + website)
contactsArrayNamed contacts with name, title
socialLinksObjectSocial media profile URLs
emailPatternStringDetected email pattern (e.g., {first}.{last}@domain)
emailPatternConfidenceNumberPattern confidence 0-1
generatedEmailsArrayGenerated emails for team contacts
scoreIntegerLead quality score (0-100)
gradeStringLetter grade: A, B, C, D, F
scoreBreakdownObjectPoints per category
signalsArrayBusiness quality signals that contributed to the score
addressStringPhysical address (from website or Maps)
techSignalsArrayTechnologies detected on the website
pipelineStepsArrayWhich pipeline steps were executed
processedAtStringISO timestamp

Input

FieldTypeDescriptionDefault
searchStringsArrayArray of stringsGoogle Maps search queries (required)
maxCrawledPlacesPerQueryIntegerMax businesses per search query100
languageStringGoogle Maps search language"en"
includeBusinessesWithoutWebsiteBooleanInclude businesses with no website (Maps data only)false
maxPagesPerDomainInteger (1-20)Pages to crawl per website for contact scraping5
minScoreInteger (0-100)Only output leads at or above this score0
skipEmailPatternFinderBooleanSkip email pattern detectionfalse
skipLeadQualifierBooleanSkip lead scoringfalse
proxyConfigurationObjectProxy settings for all pipeline stepsApify Proxy

Example input

{
"searchStringsArray": [
"plumbers in Austin TX",
"electricians in Austin TX"
],
"maxCrawledPlacesPerQuery": 50,
"minScore": 50
}

How to use the API

Python

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_API_TOKEN")
run = client.actor("ryanclinton/google-maps-lead-enricher").call(
run_input={
"searchStringsArray": ["dentists in Austin TX"],
"maxCrawledPlacesPerQuery": 50,
"minScore": 50,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['businessName']} ({item['domain']}): {item['score']}/100 ({item['grade']})")
print(f" Google: {item['googleMapsRating']}★ ({item['googleMapsReviewsCount']} reviews)")
print(f" Emails: {item['emails']}")
print(f" Contacts: {len(item['contacts'])} people")

JavaScript / Node.js

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: ['dentists in Austin TX'],
maxCrawledPlacesPerQuery: 50,
minScore: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`${item.businessName} (${item.domain}): ${item.score}/100 (${item.grade})`);
console.log(` Google: ${item.googleMapsRating}★ (${item.googleMapsReviewsCount} reviews)`);
console.log(` Emails: ${item.emails.join(', ')}`);
});

Pipeline architecture

┌─────────────────────────────────────────────────────────────────────┐
│ Google Maps Lead Enricher │
│ │
│ Input: ["plumbers in Austin TX"]
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Step 1: Google Maps Scraper │ │
│ │ Search Maps → get businesses with websites │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ 200 businesses, 180 with websites │
│ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Step 2: Website Contact Scraper │ │
│ │ Scrape emails, phones, names, socials │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ emails + contact names │
│ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Step 3: Email Pattern Finder │ │
│ │ Detect format, generate emails for contacts │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ patterns + generated emails │
│ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Step 4: B2B Lead Qualifier │ │
│ │ Score 30+ signals, grade A-F │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ │
│ ▼ │
│ Output: Maps data + enrichment merged, sorted by score │
└─────────────────────────────────────────────────────────────────────┘

Use cases

Local service businesses

Search "plumbers in Austin TX" → get 200 plumbing businesses with emails, direct contact names, and quality scores. Focus outreach on grade A and B leads.

B2B lead prospecting

Search "marketing agencies in New York" → get decision-maker names and direct emails for every agency. Filter by score to focus on established businesses.

Multi-location research

Run multiple queries at once:

{
"searchStringsArray": [
"dentists in Austin TX",
"dentists in Dallas TX",
"dentists in Houston TX"
],
"maxCrawledPlacesPerQuery": 100,
"minScore": 50
}

Get a ranked lead database covering your entire target market.

CRM enrichment

Export results as CSV and import directly into your CRM with complete contact data, quality scores, and Google Maps metadata.

Performance and cost

This Actor calls 4 sub-actors (Google Maps Scraper + 3 pipeline actors):

BusinessesEstimated timeEstimated cost
10~2 minutes~$0.10
50~5 minutes~$0.50
100~10 minutes~$1.00
500~30 minutes~$5.00

Estimates include all 4 pipeline steps. The Google Maps Scraper is the most expensive step. Skipping Email Pattern Finder or Lead Qualifier reduces cost.

Cost breakdown per step:

  • Google Maps Scraper: varies by query (see pricing)
  • Website Contact Scraper: ~$0.50 per 1,000 sites
  • Email Pattern Finder: ~$1.00 per 1,000 domains
  • B2B Lead Qualifier: ~$1.00 per 1,000 domains
  • Orchestrator: minimal (no crawling, just API calls)

Tips

  • Start small — test with maxCrawledPlacesPerQuery: 5 before running large queries.
  • Use minScore — set to 50+ to filter out low-quality leads and reduce noise.
  • Skip steps for speed — if you only need contact info, set skipEmailPatternFinder and skipLeadQualifier to true.
  • Multiple queries — you can search different locations or business types in a single run.
  • Exclude no-website businesses — keep the default (includeBusinessesWithoutWebsite: false) to only get businesses you can actually enrich.

FAQ

How does billing work?

This Actor calls 4 sub-actors as separate Apify runs. You'll see 5 runs in your dashboard: the orchestrator (minimal cost) plus Google Maps Scraper, Contact Scraper, Email Pattern Finder, and Lead Qualifier. Total cost is the sum of all runs.

How much does the Google Maps Scraper cost?

The Google Maps Scraper (compass/crawler-google-places) has its own pricing. Check their page for current rates. The enrichment pipeline adds roughly $2.50 per 1,000 businesses on top.

Can I skip enrichment steps?

Yes. Set skipEmailPatternFinder: true to skip pattern detection, or skipLeadQualifier: true to skip scoring. Fields from skipped steps will be null in the output.

What if a business has no website?

By default, businesses without websites are excluded since they can't be enriched. Set includeBusinessesWithoutWebsite: true to include them — they'll have Google Maps data only (name, address, phone, rating) with null enrichment fields.

Does this work internationally?

Yes. The Google Maps Scraper works worldwide. Set the language parameter to match your target market. Note that contact extraction and name parsing work best with English-language websites.

What if a step fails?

Step 1 (Google Maps Scraper) is required — if it fails, the run stops. Steps 2-4 are fault-tolerant — if any fails, the pipeline continues with whatever data was collected. The pipelineSteps array shows which steps completed.

Actors in this pipeline

Responsible use

This Actor processes publicly available data from Google Maps and company websites. By using it, you agree to:

  • Comply with all applicable laws, including GDPR, CAN-SPAM, and CCPA
  • Respect each website's Terms of Service
  • Use extracted data only for legitimate business purposes
  • Not use this tool for unsolicited bulk email or spam

Changelog

v1.0 (2026-02-07)

  • Initial release
  • Orchestrates Google Maps Scraper → Website Contact Scraper → Email Pattern Finder → B2B Lead Qualifier
  • Combined output with Google Maps metadata + full B2B enrichment
  • Domain deduplication (multiple businesses on same domain enriched once)
  • Skip toggles for Email Pattern Finder and Lead Qualifier
  • Option to include businesses without websites
  • Results sorted by lead score