Google Maps Scraper — Emails, Phones & B2B Leads
Pricing
from $4.00 / 1,000 place scrapeds
Google Maps Scraper — Emails, Phones & B2B Leads
Extract Google Maps business leads with emails, phones, ratings, reviews, social links, opening hours, and lead scoring. Base $0.004/place; email enrichment is charged separately. MCP/API-ready.
Pricing
from $4.00 / 1,000 place scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
37
Total users
8
Monthly active users
8 days ago
Last modified
Categories
Share
Local Business Lead Generator — Google Maps Contacts
Build a reviewable local-business prospect list from a category and location. The actor discovers public Google Maps listings, enriches listed websites for public contact signals, and returns one CRM-ready lead per business with source and freshness fields.
When to use it
Use this actor for territory planning, agency prospecting, local market research, and lead-list preparation when you need public business records with phone, website, ratings, and optional public email enrichment. It is a strong fit for a bounded request such as “roofing contractors in Austin, TX” or a supplied Google Maps search URL.
For domain-only contact collection after you already have a company list, use Bulk Website Contact Extractor as the downstream workflow. For a wider web-search lead list beyond local Maps coverage, route the job to Universal Lead Finder.
Output records
Each default-dataset item represents one public Google Maps business listing.
| Field | Purpose |
|---|---|
business_name, category, full_address | Business identity and location context |
phone, website, email | Public contact routes; nullable when unavailable |
rating, review_count, reviews | Public Google Maps reputation signals |
lead_score, lead_priority, contactability | Transparent contactability qualification |
opportunity_signals | Factual public-presence gaps for workflow review |
enrichment_status, data_source, scraped_at, source_url | Enrichment, provenance, and freshness context |
{"business_name": "Example Roofing Co.","category": "Roofing contractor","full_address": "123 Main Street, Austin, TX","phone": "+1 512 555 0100","website": "https://example-roofing.com","email": "info@example-roofing.com","rating": 4.6,"review_count": 84,"lead_score": 90,"lead_priority": "high","contactability": "email","opportunity_signals": ["no_social_profile_detected"],"enrichment_status": "completed","data_source": "google_maps","scraped_at": "ISO-8601 collection timestamp","source_url": "https://www.google.com/maps/search/roofing+contractors+in+austin"}
lead_score is a 0–100 contactability score based on public email, website, phone, rating, review, and social-profile signals. lead_priority maps it to high, medium, or low. opportunity_signals identify observable missing-data signals and support a human purchase-intent review.
Quick Start Input
Provide a category with a location, a public Google Maps URL, or both. Every optional filter is applied after a complete business record is assembled.
{"searchQuery": "roofing contractors","location": "Austin, TX","maxResults": 5,"enrichEmails": true,"requireEmail": true,"requireWebsite": true,"minLeadScore": 70,"minRating": 4.0,"maxReviews": 0,"language": "en"}
| Input | Guidance |
|---|---|
searchQuery | Open business category or local-service keyword, such as dentists |
location | Clear city, region, or country, such as Austin, TX |
startUrls | Public Google Maps search or place URLs for direct processing |
maxResults | Bounded maximum number of qualified business records to return; the default uses 5 for a fast health check |
enrichEmails | Visits listed business sites for public email and social contact signals |
requireEmail, requireWebsite | Contact-route qualification filters for outreach-ready lists |
minLeadScore, minRating | Transparent quality and reputation filters |
Pricing and cost planning
This actor uses Pay per event pricing. place-scraped charges per persisted business lead, and email-enriched charges only when website enrichment finds a public email. Apify platform usage is additional under the actor’s Pay per event + usage setting. The live Pricing tab is the current source of truth for event prices and platform usage.
The actor announces a base lead-event cost cap before it starts work. Start with a small bounded run for a new territory, then raise maxResults once the fields and filters match your workflow.
Workflow story
An Austin web-design agency starts with roofing contractors and a small maxResults value. It sets enrichEmails to true and minLeadScore to 70, then reviews the returned contactability, lead_priority, and opportunity_signals fields. The team exports the approved records to its CRM, using place_id and source_url for future refreshes, while businesses with weaker public signals remain available for a separate research workflow.
API example
curl "https://api.apify.com/v2/acts/khadinakbar~google-maps-leads-scraper/runs?token=YOUR_APIFY_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"searchQuery": "dentists","location": "Austin, TX","maxResults": 25,"enrichEmails": true,"minLeadScore": 70}'
Use a secret manager or an environment variable for YOUR_APIFY_TOKEN; keep tokens out of saved actor input and source files.
Use with AI agents
The actor is available through Apify’s hosted MCP service. Give an agent this bounded instruction:
Find 25 dentists in Austin, TX. Prefer public email contactability and a lead score of at least 70. Return the business name, public contact routes, lead priority, opportunity signals, source URL, and scrape time for human review.
Use this actor for business-list discovery and qualification. For dedicated email-only follow-up from the same Maps source, choose Google Maps Email Extractor as a focused alternative.
Result states
Each execution writes OUTPUT and RUN_SUMMARY in the default key-value store. COMPLETE means the advertised work completed, PARTIAL preserves useful results with safe warnings, VALID_EMPTY reports a valid search with an empty result set, and INVALID_INPUT provides a correction example. UPSTREAM_FAILED makes target availability explicit to automations when Google Maps provides zero useful rows.
Best results and responsible use
Use a specific business category and a precise city or region. Public website enrichment finds only contact data exposed by the business itself, and a result’s contactability value describes discovered routes rather than inbox deliverability. Apply applicable privacy, anti-spam, and do-not-contact requirements before any outreach.
Builder's Note
I designed the implementation with separate Google Maps discovery and website enrichment stages. That keeps public website lookups bounded and lets the output state exactly whether enrichment completed, found a public email, or had a website available. Dataset writes are validated before the primary billing event so every billed lead corresponds to a persisted, schema-shaped row.