B2B Lead Enrichment — Google Maps to CRM
Pricing
from $10.00 / 1,000 enriched leads
B2B Lead Enrichment — Google Maps to CRM
Scrape any business type from Google Maps with verified email enrichment, phone numbers & social links. Works for any niche or location. Export to HubSpot, Salesforce, or CSV. The all-in-one B2B lead generation tool.
Pricing
from $10.00 / 1,000 enriched leads
Rating
0.0
(0)
Developer
Sam Kleespies
Actor stats
0
Bookmarked
8
Total users
5
Monthly active users
16 days ago
Last modified
Categories
Share
Turn any Google Maps search into a list of enriched, verified B2B leads ready to import into your CRM. This is the general-purpose B2B lead enrichment tool — works for any business type, any industry, any geography. Enter a search query, get back verified contact data with emails, phones, social links, and ratings — formatted for HubSpot, Salesforce, or raw export.
This actor is industry-agnostic. Niche-specific variants (dentists, contractors, lawyers, etc.) are also available for workflows targeting a single vertical. This tool covers everything else — and everything they do too.
What Is B2B Lead Enrichment and Why Does It Matter?
B2B lead enrichment is the process of taking raw business listings and appending verified contact information — emails, phone numbers, social media profiles — so your sales team can reach decision-makers directly. Instead of paying $500/month for a database that may be outdated, this tool pulls live data from Google Maps and the businesses' own websites.
How to Scrape Google Maps for Leads (4 Phases)
- Search — Enter any Google Maps query (e.g., "HVAC companies in Dallas, TX"). The actor retrieves every matching business listing up to your result cap.
- Crawl — For each result, the actor visits the business website and extracts email addresses, social media links, and contact page data.
- Verify — Every extracted email is checked via DNS MX lookup and SMTP handshake to confirm deliverability. No sending required, no external API costs.
- Export — Results are formatted as raw JSON, CSV, HubSpot-ready contacts, or Salesforce leads and delivered to your Apify dataset.
What Data Do You Get?
Each enriched lead includes the following fields:
{"name": "Summit HVAC Solutions","category": "HVAC Contractor","address": "4802 Commerce Dr, Dallas, TX 75226","phone": "(214) 555-0187","website": "https://www.summithvacdallas.com","mapsUrl": "https://www.google.com/maps/place/...","rating": 4.7,"reviewCount": 214,"email": "contact@summithvacdallas.com","emailVerified": true,"emailVerificationStatus": "smtp_verified","emailVerificationNote": "Verified via SMTP","allEmails": [{"address": "contact@summithvacdallas.com", "verified": true, "status": "smtp_verified", "verificationNote": "Verified via SMTP"}],"socialLinks": {"facebook": "https://facebook.com/summithvac", "instagram": "https://instagram.com/summithvac", "linkedin": "https://linkedin.com/company/summit-hvac-solutions"}}
Input Options
| Parameter | Type | Description |
|---|---|---|
searchQuery | string | Any Google Maps search string (e.g., "plumbers in Chicago, IL") |
maxResults | number | Maximum number of leads to return (default: 50) |
enrichEmails | boolean | Crawl business websites for email addresses (default: true) |
verifyEmails | boolean | Run DNS + SMTP verification on extracted emails (default: true) |
enrichSocials | boolean | Extract social media profile links (default: true) |
outputFormat | string | json, csv, hubspot, or salesforce |
Output Formats
Full (JSON/CSV) — All fields including raw social links, rating, review count, and verification status. Best for custom pipelines or data analysis.
HubSpot — Mapped to HubSpot contact and company properties. Import directly via HubSpot's CSV importer or the native integration. Fields include Company Name, Email, Phone Number, Street Address, Website URL, Google Maps URL, Rating, Number of Reviews, Industry, Facebook Company Page, LinkedIn Company Page, Twitter Handle.
Salesforce — Mapped to Salesforce Lead object fields: Account Name, Phone, Website, Billing Street, Email__c, Rating__c, Review_Count__c, Google_Maps_URL__c, Facebook__c, LinkedIn__c, Industry. Ready for direct import or API upsert.
Use Cases for This B2B Lead Enrichment Tool
- CRM enrichment — Fill gaps in your existing CRM by scraping Google Maps for businesses in your territory and importing verified contact data directly into HubSpot or Salesforce
- Sales prospecting — Build targeted outreach lists for any niche or geography without a subscription database
- B2B marketing campaigns — Generate verified business email lists for cold email, LinkedIn, or multi-channel campaigns across any industry
- Marketing agencies — Deliver enriched lead lists for clients in any vertical — no niche-specific tool needed
- Franchise development — Identify and contact independent operators in target markets who may be acquisition candidates
- Recruiters — Scrape Google Maps for companies in a specific industry and reach their HR or hiring contacts directly
- Local SEO agencies — Find businesses with poor Google Maps ratings as warm prospects for reputation management services
- Market research — Compile business density, rating, and contact data across geographies for territory planning or competitive analysis
Why Choose This Over Apollo or ZoomInfo?
| Feature | This Actor | Apollo | ZoomInfo |
|---|---|---|---|
| Pricing model | Pay-per-result | Monthly subscription | Annual contract |
| Data freshness | Scraped live from Google Maps | Periodically refreshed database | Periodically refreshed database |
| Email verification | Built-in, no extra cost | Separate credit consumption | Paid add-on |
| Source transparency | Public: Google Maps + business sites | Proprietary database | Proprietary database |
| Custom queries | Any Google Maps search string | Filter-based only | Filter-based only |
| CRM export formats | JSON, CSV, HubSpot, Salesforce | HubSpot, Salesforce (paid tiers) | HubSpot, Salesforce (paid tiers) |
Apollo and ZoomInfo are expensive subscriptions built on static databases. This actor scrapes Google Maps in real time, so you get current business data — not records that were last verified months ago. You pay only for the leads you actually generate.
Use via Apify API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('samstorm/lead-enrichment-actor').call({searchQuery: 'marketing agencies in Chicago, IL',maxResults: 50,enrichEmails: true,verifyEmails: true,enrichSocials: true,outputFormat: 'full',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('samstorm/lead-enrichment-actor').call(run_input={'searchQuery': 'marketing agencies in Austin, TX','maxResults': 100,'enrichEmails': True,'verifyEmails': True,'outputFormat': 'hubspot',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f'Got {len(items)} enriched business leads')
Multi-Location Workflows
Google Maps returns up to ~120 results per search query, so large-scale prospecting requires running the actor once per city or metro area and merging the datasets.
Option 1: Apify API loop — Call the actor programmatically for each location:
const queries = ['marketing agencies in Austin, TX', 'marketing agencies in Dallas, TX', 'marketing agencies in Houston, TX', 'marketing agencies in San Antonio, TX'];for (const searchQuery of queries) {const run = await client.actor('samstorm/lead-enrichment-actor').call({searchQuery,maxResults: 200,enrichEmails: true,verifyEmails: true,});console.log(`Completed: run ${run.id}`);}
Option 2: Apify Schedules — Set up a schedule in the Apify Console that triggers runs for different locations on a recurring basis. Use a separate Saved Task for each city.
Deduplication across runs: Each run deduplicates internally by business name + address. When merging datasets from multiple runs, deduplicate on the same key to remove businesses that appear in overlapping metro areas.
Integrations
This actor works with the full Apify ecosystem and popular automation platforms:
- Apify API & Webhooks — Trigger runs programmatically and receive results via webhook when complete
- Zapier — Connect to 5,000+ apps using the Apify Zapier integration
- Make (Integromat) — Build multi-step automations with the Apify Make module
- Google Sheets — Export results directly to a spreadsheet using Apify's built-in Google Sheets integration
- Slack — Get notified in Slack when a run completes using Apify's webhook notifications
FAQ
Will I get duplicate leads if I run the same query twice? Yes. Each run is independent — there is no deduplication across runs. If you need to avoid duplicates, export your results and deduplicate by email address or business name + address before importing into your CRM. For large-scale scraping, we recommend running once per geography and storing the results rather than re-running the same query.
Is it legal to scrape Google Maps for business leads? Yes. This actor collects publicly available business information that Google displays to all users — the same data visible in any Maps search. Business contact information listed publicly is not protected by privacy law in the United States or EU for B2B outreach purposes. Always comply with CAN-SPAM and GDPR when sending emails.
How accurate are the verified emails?
Emails are validated via DNS MX record lookup and SMTP handshake. This catches invalid domains and non-existent mailboxes without sending a message. Deliverability rates for emailVerified: true results consistently exceed 90%.
How many leads can I scrape in one run?
Google Maps typically surfaces 120 results per search query. For broader coverage, use multiple targeted queries (e.g., by city or sub-niche) and combine the datasets. There is no hard cap — set maxResults to match your budget.
What business types work best with this lead enrichment tool? Any business with a Google Maps presence and a website. High-yield categories include contractors (HVAC, plumbing, roofing), professional services (law firms, accountants, dentists), real estate professionals, and local retailers. B2B-facing businesses tend to have more accessible contact emails than consumer-only businesses.
Limitations
- Google Maps typically returns up to ~120 results per search query. Use multiple locations for larger datasets.
- Email extraction depends on the business having a website with visible contact info. Businesses using only contact forms won't have emails extracted.
- SMTP verification may be blocked by some mail servers, resulting in "unknown" status rather than confirmed valid/invalid.
- This actor finds business/professional emails only, not personal consumer emails.
Cost Estimation
Each run incurs two types of costs:
- Pay-per-event pricing — You pay per enriched lead returned (see pricing above the README).
- Platform usage — Apify charges for compute time and proxy bandwidth used during the run.
Typical costs for a 100-lead run:
- Run time: 5–15 minutes
- Platform usage: $0.50–$2.00 (depends on proxy type and email enrichment)
- Total per lead: varies by niche and location density
For the most cost-effective results, we recommend:
- Start with a small test run (10–25 leads) to validate data quality
- Disable email verification (
verifyEmails: false) if you plan to verify separately - Use specific locations (city + state) rather than broad regions
Getting Started
- Create a free Apify account if you do not already have one.
- Open the actor on Apify and click Try for free
- Enter your
searchQuery— any Google Maps search string works - Set
maxResults, enable email verification, and choose your output format - Run the actor and download your enriched lead list in seconds
Your first leads are ready in under two minutes. No subscriptions, no contracts — pay only for what you scrape.
Recent Updates
- March 2026 — Version 1.0 release: production-ready with verified email pipeline
- March 2026 — Optimized proxy usage with aggressive resource blocking — ~50% cost reduction per run
- March 2026 — Added fail-fast error recovery: blocked requests abort immediately instead of retrying
- March 2026 — Added social media link extraction (Facebook, Instagram, LinkedIn, Twitter/X)
Related Lead Scrapers by samstorm
Build a complete prospecting database across industries with verified email enrichment:
| Actor | What It Does | Best For | Try It |
|---|---|---|---|
| Dentist Lead Scraper | Verified emails from dental & medical practices | Dental supply sales, healthcare SaaS, medical recruiters | Try free |
| Contractor Lead Scraper | HVAC, plumber, roofer, electrician contacts | Construction suppliers, trade insurance, home service SaaS | Try free |
| Lawyer Lead Scraper | Attorney & law firm contact extraction | Legal tech sales, court reporting services, legal marketing | Try free |
| Restaurant Lead Scraper | Restaurant, bar, and cafe owner contacts | Food suppliers, POS system sales, restaurant tech | Try free |
| Real Estate Lead Scraper | Agent, broker, and property manager emails | Mortgage lenders, PropTech, real estate marketing | Try free |
| Auto Dealer Lead Scraper | Car dealership and auto shop contacts | Auto parts suppliers, dealer management software, F&I products | Try free |
| Wedding Vendor Lead Scraper | Venue, photographer, planner contacts | Wedding SaaS platforms, bridal advertising | Try free |
| Financial Advisor Lead Scraper | Financial advisor and insurance agent emails | FinTech sales, compliance software, wealth management | Try free |
| Veterinarian Lead Scraper | Vet clinic and pet service contacts | Pet supply distributors, veterinary SaaS | Try free |
Why Use This Instead of a General Google Maps Scraper?
The general-purpose Google Maps Scraper on Apify costs $4-10 per 1,000 results but requires you to chain multiple actors, configure filters manually, and pay extra for email enrichment. Here is what you get with this dedicated B2B Lead scraper that you will not get from a general tool:
| Feature | General Google Maps Scraper | This Actor |
|---|---|---|
| Pre-filtered business results | No — returns mixed in | Yes — every result is a business |
| Verified email addresses | Extra add-on ($0.002/place) | Built-in, included in price |
| Email deliverability check (DNS+SMTP) | Not available | Built-in |
| Social media profiles | Extra add-on | Built-in |
| CRM-ready export (HubSpot, Salesforce) | Not available | Built-in |
| Single-actor simplicity | Need 2-3 actors chained | One actor, one click |
What you get in a single run
- Search Google Maps for businesses in any location
- Automatically crawl each business website for email addresses
- Verify every email with DNS and SMTP checks
- Extract social media profiles (Facebook, Instagram, LinkedIn, Twitter)
- Export in your choice of format: Full JSON, HubSpot Import, or Salesforce Import
No coding required. No API keys needed. No multi-actor pipelines to configure.
Help Us Improve
If this actor saves you time, please consider leaving a review on the Apify Store. Your feedback helps other users discover this tool and helps us improve it. You can also report issues or request features through the Issues tab on the actor page.
