Google Maps Scraper — Emails, Phones & B2B Leads avatar

Google Maps Scraper — Emails, Phones & B2B Leads

Pricing

from $4.00 / 1,000 place scrapeds

Go to Apify Store
Google Maps Scraper — Emails, Phones & B2B Leads

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

37

Total users

8

Monthly active users

8 days ago

Last modified

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.

FieldPurpose
business_name, category, full_addressBusiness identity and location context
phone, website, emailPublic contact routes; nullable when unavailable
rating, review_count, reviewsPublic Google Maps reputation signals
lead_score, lead_priority, contactabilityTransparent contactability qualification
opportunity_signalsFactual public-presence gaps for workflow review
enrichment_status, data_source, scraped_at, source_urlEnrichment, 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"
}
InputGuidance
searchQueryOpen business category or local-service keyword, such as dentists
locationClear city, region, or country, such as Austin, TX
startUrlsPublic Google Maps search or place URLs for direct processing
maxResultsBounded maximum number of qualified business records to return; the default uses 5 for a fast health check
enrichEmailsVisits listed business sites for public email and social contact signals
requireEmail, requireWebsiteContact-route qualification filters for outreach-ready lists
minLeadScore, minRatingTransparent 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.