Google Maps Scraper & API: Whole-City Leads with Emails
Pricing
from $1.00 / 1,000 places
Google Maps Scraper & API: Whole-City Leads with Emails
Every business in a city or neighbourhood from Google Maps, with emails and social links, free lead scores and a coverage report that shows the list is complete. No login. $3 per 1,000 places, less on paid plans; filtered-out places cost a fraction.
Pricing
from $1.00 / 1,000 places
Rating
5.0
(1)
Developer
Brainfoods Studio
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Google Maps Places Scraper
Yes, we're late to the party. The Store already has good Google Maps scrapers. We built one more for a simple reason: you asked for every café in a city, and the usual answer was the first few hundred Google felt like showing you. This one keeps searching until the area is covered, then tells you how complete the list is.
Google Maps Places Scraper gives you complete lead lists for a whole city or neighbourhood from Google Maps: name, category, address, phone, website, rating, reviews, opening hours, claimed or not, and a map link. Each place comes with free lead scores for web design, local SEO and reputation agencies, plus map files for Google My Maps, QGIS and kepler.gl.
No login · No Google API key · From $0.001 per place · Filtered-out places cost a fraction
What does Google Maps Places Scraper do?
- Covers the whole area. It keeps searching until Google has nothing new to show for the area.
- Tells you how complete it is. A free coverage row per area and search term says how much was searched, how many places were found, and whether the search finished.
- Scores every lead, free. Web-design, local-SEO and reputation scores from 0 to 100, each with the reasons in plain words.
- Filters that save you money. Minimum rating, minimum reviews, only unclaimed, only without a website, skip closed, minimum score. You pay the full price only for places that pass.
- Finds emails and social links (opt-in). Turn on website contacts and it visits each delivered place's own website for business emails, social profiles, and whether the site loads, uses HTTPS and works on phones. You pay only for places where an email or social profile is found.
- Exports maps.
places.geojsonandplaces.kml, ready for Google My Maps, Google Earth, QGIS and kepler.gl. - Optional extras: an area report per area (demand, quality, leaders, gaps) and an interactive marketing kit dashboard.
Who is it for?
- Agencies finding clients: unclaimed listings, businesses with no website, places with a reputation problem.
- Sales teams building a territory list that's actually complete, not the top 120.
- Founders opening a shop who want to see where the competition is thin before signing a lease.
- Analysts and AI agents that need clean rows with stable IDs, not a screenshot of a map.
Use cases
| You want | What to set |
|---|---|
| Every café in a city | Search terms coffee shop, Locations Jaipur |
| Web-design clients | Only places without a website, or Minimum web-design score 60 |
| Local-SEO clients | Only unclaimed listings |
| Well-reviewed places only | Minimum reviews 50, Minimum rating 4 |
| One neighbourhood | Locations C Scheme, Jaipur |
| An exact area | Custom area: GeoJSON, a centre and radius, or a box |
| A market overview to send a client | Marketing kit |
How it finds your area
You type a place name. Google Maps decides which place you mean, so "Malviya Nagar, Jaipur" is the neighbourhood, not a power station with the same name.
- Cities are searched to their boundary.
- Neighbourhoods without a published boundary are searched within 2 km of their centre. Change it with Neighbourhood radius.
- Need an exact shape? Give a Custom area instead.
- The run log shows what each location was matched to and how many km² were searched.
What we measured
Live runs on Apify Proxy, November 2026, search term coffee shop, 4 GB memory.
| Run | Result |
|---|---|
| Input form prefill (20 places in C Scheme, Jaipur) | about 6 seconds |
| Whole city of Jaipur | about 4,070 places in 2 to 4.5 minutes |
| Same city, two runs | 4,068 places in both |
| Coverage vs a much denser search of the same area | 98.6% of places found |
| 3 Jaipur neighbourhoods, at least 50 reviews | 273 places kept, 379 checked and removed, 3.6 minutes |
| Website contacts, 150 cafés in Austin | 35 with an email, 79 with a social profile; about 1 minute extra |
| Website contacts, 150 cafés in C Scheme, Jaipur (100 list no website) | 15 with an email, 26 with a social profile; about 20 seconds extra |
A city search takes minutes, not seconds, because it covers every street. The status line shows progress as it goes.
How to use it
- Type one or more Search terms, such as
coffee shopordentist. - Add Locations by name, or draw a Custom area.
- Set Max places and any filters.
- Run it, then download the results as JSON, CSV or Excel, or open the map files.
Input example
{"searchTerms": ["coffee shop"],"locations": ["Jaipur"],"country": "IN","maxPlaces": 5000,"minReviews": 20,"includeAreaReport": true}
Use it from an AI agent
Call it from the Apify MCP server or API with the input above. Every row has a type (place, coverage, area-report, summary or error), so an agent can read the coverage row first and know whether the list is complete.
What you get
| Row type | What's in it | Cost |
|---|---|---|
place | Name, categories, address, postal code, coordinates, phone, website, rating, reviews, hours, claimed or not, status, price level, plus code, Google Maps link, nearest competitor, rating percentile, 3 lead scores with reasons | per place |
coverage | How much was searched, places found, whether the area was finished | free |
area-report | Per area and search term: density, rating spread, unclaimed share, leaders, gaps | optional |
summary | Places delivered and removed, charges, how the run ended | free |
error | A location that couldn't be found, or a page that failed | free |
Lead scores
Each place gets three scores from 0 to 100, with the reasons listed next to them:
- Web design: high when there's no website or only a social or listing page, and higher for established places with good ratings. With website contacts on, it also counts sites that don't load, lack HTTPS or don't work on phones.
- Local SEO: high for unclaimed listings, few reviews, missing hours or a thin profile.
- Reputation: high when a well-reviewed place has a rating under 4, so it has something to fix.
The marketing kit
Turn on Marketing kit and you get MARKETING_KIT.html, an interactive market dashboard to open in a desktop browser or send to a client:
- Buyer view: switch between opening a business and finding clients as an agency.
- Clickable map: every neighbourhood opens its own numbers.
- Market charts: demand vs supply, leaders, who holds the market, quality gaps, whitespace.
- The top 50 prospects and the reason each one is on the list.
MARKETING_KIT.json has every number behind it, for your own tools or AI agent.
Pricing
You pay per place delivered. Places your filters remove cost a small check fee instead of the full price.
| Event | Free plan | Bronze | Silver | Gold and up |
|---|---|---|---|---|
| Place delivered | $0.003 | $0.002 | $0.0015 | $0.001 |
| Place checked and removed by your filters | $0.0002 | $0.00015 | $0.0001 | $0.00008 |
| Area report, per area and search term | $0.03 | $0.025 | $0.02 | $0.015 |
| Marketing kit, up to 2 locations | $1 | $1 | $1 | $1 |
| Each extra kit location | $0.25 | $0.25 | $0.25 | $0.25 |
| Website contacts, per place where an email or social profile is found | $0.0015 | $0.0012 | $0.001 | $0.0008 |
- Max places is how many you get. With filters on, only places that pass count, so the run keeps searching until it has that many or the area is covered.
- Charged only after rows are saved. Coverage, summary and error rows are free.
- Never past your spending limit. When the limit is reached the search stops and the run still succeeds with what it found.
- Start fee: Apify's standard $0.00005 per GB of memory, so $0.0002 at the default 4 GB.
What typical runs cost on the Free plan:
| Run | Cost |
|---|---|
| 100 places | $0.30 |
| A whole city, about 4,000 places | about $12 |
| 3 neighbourhoods, 273 kept and 379 removed by a filter | about $0.90 |
| Add an area report for each of those 3 | +$0.09 |
| Add a marketing kit for those 3 | +$1.25 |
FAQ
Do I need a Google account or an API key?
No. The actor reads public Google Maps results the way a browser does. You don't sign in to anything.
Why does a whole city take a few minutes?
Google shows at most a couple of hundred places per search, so covering a whole city takes hundreds of searches. That's how the list ends up complete. The prefill run finishes in seconds.
How do I know the list is complete?
Read the coverage row. It says whether the search finished or stopped at Max places, the time limit or your spending limit.
Why was my neighbourhood searched as a circle?
Many neighbourhoods have no published boundary. Then the honest answer is a circle around the centre Google gives. Set Neighbourhood radius, or give a Custom area for an exact shape.
Does it get emails?
Yes, as an opt-in. Turn on Website contacts: emails and social links and the actor visits each delivered place's own website (the homepage, plus up to 3 contact or about pages when the homepage has no email). It returns business emails, social profiles and whether the site loads, uses HTTPS and works on phones.
- Business emails only, by default. Addresses like info@ or hello@ on the business's own domain. Personal-looking emails (jamie@, tom.smith@, a name at Gmail) come only if you also turn on Include personal-looking emails. You are responsible for having a lawful reason to contact people (GDPR, CAN-SPAM, India's DPDP Act).
- Respectful. Each site's robots.txt is honoured. Sites with bot protection are skipped, not bypassed, and count as unreachable.
- What to expect. About half of business websites give an email, and three quarters a social profile. Many places list no website at all, or only an Instagram or Facebook page; those get a social link at best.
- You pay only for finds. Website contacts are charged per place where an email or social profile is delivered, never for a site that gave nothing.
- A little slower. It adds about 5 seconds per website, run in parallel.
Which countries work?
Anywhere Google Maps works. Set Country to bias the place lookup, and Language for the result text.
Legal note
This actor collects publicly available business listings. You're responsible for how you use the data, including local rules on marketing and personal data.
More from Brainfoods Studio
Support
Found a bug or missing a field? Open an issue on the actor's Issues tab. We're the new kids here, so we read every one and usually reply within a day.