Google Maps Business & Email Extractor
Searches Google Maps by business type and location, then extracts business details — name, category, rating, review count, address, phone, website, opening hours, business status and Maps URL — and follows each website to find email addresses and social profiles.
What it extracts
Data not currently verified. The output schema for this Actor is not published in our source repository. See the Apify listing for the authoritative version.
Input parameters
Generated from the Actor’s input schema — the same fields the Apify console shows.
| Parameter | Type | Required | Description |
|---|---|---|---|
businessType | string | Required | Type of business to search for (e.g., 'restaurants', 'lawyers', 'dentists') |
location | string | Required | Location to search within (e.g., 'New York, NY', 'London, UK') |
maxResults | integer | Optional | Maximum number of businesses to process (default: 20) |
API access
Run this Actor from your own code over the Apify API.
{
"businessType": "Dentists",
"location": "Manhattan, NY"
}curl -X POST \
"https://api.apify.com/v2/acts/logical_scrapers~google-maps-email-extractor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"businessType":"Dentists","location":"Manhattan, NY"}'import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' })
const run = await client.actor('logical_scrapers~google-maps-email-extractor').call({
"businessType": "Dentists",
"location": "Manhattan, NY"
})
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("logical_scrapers~google-maps-email-extractor").call(run_input={
"businessType": "Dentists",
"location": "Manhattan, NY",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)Runs are executed on Apify. Create an API token in your Apify account, then call the Actor over REST or with the official client for your language. The same input object works in the Apify console, so you can test interactively before automating.
Use cases
Local lead generation
Build a contact list of businesses of a given type in a given city, complete with email and phone.
Local market research
Measure how many businesses of a category operate in an area, and compare ratings and review volume.
Field sales territory planning
Assemble address-level target lists by category and geography before assigning territories.
Agency prospecting
Find local businesses whose web presence or contact surface suggests a need for your service.
Pricing
Data not currently verified. This Actor's pricing model is not declared in our source repository.
Current rates are published on the Apify listing and can change, so they are not duplicated here. See pricing on Apify
Reliability
Measured across all public Goldmine Actors on Apify, 2026-08-24. This is an account-level figure, not a per-Actor benchmark — per-Actor speed and completeness benchmarks are not yet published. Source.
Limitations
What this Actor does not do, so you can tell before you run it whether it fits.
- Email addresses come from each business’s own website. Businesses with no website, or none published on their listing, return no email.
- Result volume per search is bounded by what Google Maps returns for that query and area — narrow the location to go deeper.
- Ratings, review counts and opening hours are point-in-time values and change frequently.
- Following each website to find contact details makes runs slower than a listings-only scrape.
Frequently asked questions
How do I control what it searches?
You give it a business type and a location. It runs that as a Google Maps search and works through the results.
Where do the email addresses come from?
From the business website linked on the Maps listing. The Actor visits the site and prioritises contact-style pages.
Are duplicates removed?
Yes — results are deduplicated within a run so the same business does not appear twice.
Used for
Workflows this Actor is part of, and the other scrapers it chains with.