Google Maps Scraper & API: Whole-City Leads with Emails avatar

Google Maps Scraper & API: Whole-City Leads with Emails

Pricing

from $1.00 / 1,000 places

Go to Apify Store
Google Maps Scraper & API: Whole-City Leads with Emails

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

Brainfoods Studio

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

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.geojson and places.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 wantWhat to set
Every café in a citySearch terms coffee shop, Locations Jaipur
Web-design clientsOnly places without a website, or Minimum web-design score 60
Local-SEO clientsOnly unclaimed listings
Well-reviewed places onlyMinimum reviews 50, Minimum rating 4
One neighbourhoodLocations C Scheme, Jaipur
An exact areaCustom area: GeoJSON, a centre and radius, or a box
A market overview to send a clientMarketing 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.

RunResult
Input form prefill (20 places in C Scheme, Jaipur)about 6 seconds
Whole city of Jaipurabout 4,070 places in 2 to 4.5 minutes
Same city, two runs4,068 places in both
Coverage vs a much denser search of the same area98.6% of places found
3 Jaipur neighbourhoods, at least 50 reviews273 places kept, 379 checked and removed, 3.6 minutes
Website contacts, 150 cafés in Austin35 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

  1. Type one or more Search terms, such as coffee shop or dentist.
  2. Add Locations by name, or draw a Custom area.
  3. Set Max places and any filters.
  4. 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 typeWhat's in itCost
placeName, 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 reasonsper place
coverageHow much was searched, places found, whether the area was finishedfree
area-reportPer area and search term: density, rating spread, unclaimed share, leaders, gapsoptional
summaryPlaces delivered and removed, charges, how the run endedfree
errorA location that couldn't be found, or a page that failedfree

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.

EventFree planBronzeSilverGold 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:

RunCost
100 places$0.30
A whole city, about 4,000 placesabout $12
3 neighbourhoods, 273 kept and 379 removed by a filterabout $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.

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.