Google Maps Lead Enrichment
Pricing
from $30.00 / 1,000 results
Google Maps Lead Enrichment
Enrich Google Maps business listings with AI-extracted emails, contacts, and social media. CRM-ready output.
Pricing
from $30.00 / 1,000 results
Rating
0.0
(0)
Developer
Peter Corapi
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Turn any Google Maps search into a prospect list with a named contact and a personalized cold-email draft for every lead.
Pay-per-result pricing | Works globally | AI-powered extraction
What You Actually Get (Real Numbers)
Based on a recent 50-lead production run (dentists in Miami, FL):
| Field | Hit rate | Notes |
|---|---|---|
| Google Maps core data (name, phone, address, rating, category) | ~100% | Always present |
| Website crawled + AI extraction ran | 88% | Charged at enriched rate |
| Personalized cold-email draft | 86% | Headline feature — one per lead, references specific details from their site |
| Named contact (owner, doctor, principal) | 72% | Mostly full name; ~half also have title |
| Services list | ~75% | Usually 5-20 items |
| Business description | ~75% | One-sentence summary |
| Email address | ~28% | Varies by industry |
Industries we've tested: dentistry (88% crawl success), plumbing (70%), HVAC. Service businesses with real websites are the sweet spot.
Why This Is Different From Other Lead Scrapers
Most Google Maps scrapers stop at phone + address. Most "email finders" just grep for email regex. This actor does neither in isolation — it combines them with AI extraction to produce usable outreach material, not just raw data.
The typical output of a run is not "50 emails." It's 50 draft opening messages, ~36 addressed to a real decision-maker by name, plus whatever email addresses happened to be on each site.
How It Works
- Search — Fetches businesses from Google Maps for your query + location
- Dedupe — Removes any duplicate place IDs from the sub-actor
- Crawl — Visits each business website (homepage + /contact, /about, /team, up to 4 pages total, 1.5s between requests)
- Extract — Gemini 2.5 Flash reads the page text and extracts emails, contact names, services, description, and drafts a personalized cold email referencing specific details from the site
- Score — Rates each lead 0-100 based on completeness (hot / warm / cold)
Who This Is For
- Cold email / LinkedIn outreach — use the drafts as-is, or as personalization research even when the email isn't available
- Lead gen agencies — volume prospecting with named decision-makers
- B2B sales prospecting local businesses in service industries
- Market research on local business landscapes
Not a good fit for: restaurants (usually on Instagram/Facebook only, no real website text), large retail chains (centralized corporate contacts), or Amazon-first e-commerce brands.
Input
| Field | Required | Description |
|---|---|---|
| Search Query | Yes | Business type (e.g., "plumbers", "dentists", "commercial roofers") |
| Location | Yes | City, region (e.g., "Austin, TX", "London, UK") |
| Max Leads | No | Number of businesses (default: 50, max: 500) |
| Enrich Websites | No | Turn on AI extraction (default: true). False for basic Google Maps only |
| Place IDs | No | Provide specific Google Maps place IDs instead of a search query |
Pricing
Pay-per-result via Apify's PPE system. See the Monetization tab for current rates. Two tiers:
- Enriched lead — Website crawled and AI extracted at least one useful field (contact, services, description, or draft). You get the full record.
- Basic lead — No website, crawl failed, blocked, or extraction returned empty. Charged at the lower basic rate. You get Google Maps data only.
The underlying Google Maps sub-actor (compass/crawler-google-places) bills separately to your Apify account — typically a few cents per 50 results.
Output Example
Real output from a hot lead (score 90):
{"name": "Miamidentist4u by Javier Andrade DDS","address": "1695 NW 110th Ave ste 210, Miami, FL 33172","phone": "(305) 220-1866","website": "http://www.miamidentist4u.com/","rating": 4.9,"review_count": 526,"category": "Dental clinic","place_id": "ChIJO4CWZeq42YgRMjrMqzYgWg8","emails": ["info@miamidentist4u.com"],"contact_name": "Dr. Javier Andrade","contact_title": "CEO / Cosmetic & General Dentistry","services": ["Invisalign", "Veneers", "Digital Dentistry","Cosmetic Dentistry", "Dental Implants"],"description": "Miami Dentist4U, led by Dr. Javier Andrade, is a dental clinic in Miami committed to excellence, offering cutting-edge treatments and personalized care with 24 years of experience in digital dentistry.","cold_email_draft": "Hi Dr. Andrade, I was really impressed by your 24 years of experience and Miami Dentist4U's commitment to digital dentistry, transforming smiles with precision and comfort. Your focus on staying at the forefront of cosmetic dentistry advances, like Invisalign and veneers, truly stands out. I'd be interested to hear more about how your personalized approach helps patients achieve their dream smiles.","enrichment_status": "enriched","score": 90,"score_label": "hot"}
Tips
- Start with 10 leads to see output quality for your industry before running 50+
- Be specific — "emergency plumbers" beats "plumbers"
- Location matters — "Austin, TX" gives better results than "Austin"
- Best industries — dentistry, plumbing, HVAC, legal, accounting, roofing (service businesses with information-rich websites)
- Weakest industries — restaurants, retail, chain franchises (usually return basic data only)
- Use the drafts for multi-channel — the personalized opening works on LinkedIn, phone, and email. Don't let a missing email stop you from using the research
Multi-Location Brands
Chains with multiple physical locations appear as separate leads (different Google Maps place IDs). Contact info may repeat across rows. Dedupe client-side on emails or contact_name if you want one entry per brand.
Known Limitations
- JavaScript-heavy sites (SPAs) return incomplete data — no headless browser
- Emails are extracted from website text, not SMTP-verified
- Social media extraction is weak (sites link social via JS-rendered icons the crawler doesn't see) — treat
social_mediafields as a bonus, not a feature - No LinkedIn enrichment (roadmap)
- Runs take ~1-2 minutes per 10 leads to respect website rate limits
Support
Bug report or feature request? Contact the developer through Apify.