Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $0.75 / 1,000 places

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Scrape Google Maps business listings by search term and location. Extract names, addresses, phone numbers, websites, emails, opening hours, ratings, reviews, categories, coordinates and place IDs. Covers whole cities, states and countries. No API key needed. Results stream in live.

Pricing

from $0.75 / 1,000 places

Rating

0.0

(0)

Developer

Coder

Coder

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Get every business on Google Maps that matches what you are looking for, anywhere in the world.

Search dentist in Manhattan, hotels across Malta, or coffee shop in one postcode, and get back a clean table: names, addresses, phone numbers, websites, opening hours, ratings, review counts, categories, coordinates and place IDs. Add reviews, photos and website contact details when you need them.

Results appear while the run is still going, so you can start working with them before it finishes.

What you get

Every place comes with:

  • Contact — name, full address broken into street, city, state, postcode and country, phone number in both display and dialling form, website, plus code and coordinates
  • Ratings — average rating, review count, and the star breakdown
  • Opening hours — per day, including split hours and closures
  • Categories — the main category and every other one Google lists
  • Identifiers — place ID, CID and a direct Google Maps link
  • Status — permanently or temporarily closed

Turn on full place details and each place also brings its description, price level, service options and amenities, review keywords, popular times, menu and booking links, and the extras that apply to its type — star rating, check-in and check-out times and room offers for hotels, current fuel prices for petrol stations.

Turn on reviews for the review text, star rating, date, reviewer, owner reply, photos and the per-category ratings such as food, service and atmosphere. Reviews arrive in their own table, one row per review, and are also included with each place.

Turn on website contact details to get the email addresses, extra phone numbers, social media profiles and postal addresses that are on a business's own website but not on Google Maps. This is what turns a list of places into a list you can actually contact.

Turn on photos to collect each place's gallery, at full resolution.

How to use it

  1. Enter one or more search terms — what you would type into Google Maps.
  2. Enter a location — a city, region or country. Whole states and countries work; set a place limit so the run stays predictable.
  3. Choose what to collect, and run it.

You rarely want everything a search returns. The Only collect places that… options let you keep only the places worth having:

  • in one of the categories you name
  • rated at or above a minimum
  • with at least a minimum number of reviews, which is the quickest way to drop dormant and duplicate listings
  • with a website, or without one — outreach lists usually want one or the other
  • still open

Filtering is free, and a place that gets filtered out is never charged. Narrowing a run makes it cheaper and faster, not more expensive.

Being precise about where

For most runs, typing the location is enough. When a name is ambiguous, or you need an exact area, use Precise area:

  • City, state, county — for when a place name repeats in several regions
  • Postcode — one at a time, with the country set; only places inside it are kept
  • Custom area — draw the area yourself as GeoJSON, for a delivery zone or a sales territory that no administrative boundary matches

Specific places

Already know which places you want? Paste Google Maps links or place IDs and skip the search. Useful for refreshing a list you collected earlier, since a place ID never changes.

Output

Two tables.

Places — one row per place, with reviews and photos nested inside it.

{
"title": "Buena Vista",
"categoryName": "Restaurant",
"categories": ["Restaurant", "Bar", "Peruvian restaurant"],
"address": "251 W 30th St, New York, NY 10001",
"street": "251 W 30th St",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"countryCode": "US",
"phone": "(212) 555-0148",
"phoneUnformatted": "+12125550148",
"website": "https://example-restaurant.com",
"totalScore": 4.6,
"reviewsCount": 1512,
"reviewsDistribution": {
"oneStar": 34,
"twoStar": 21,
"threeStar": 68,
"fourStar": 260,
"fiveStar": 1129
},
"openingHours": [{ "day": "Monday", "hours": "11:30 AM–10 PM" }],
"location": { "lat": 40.7484, "lng": -73.9967 },
"placeId": "ChIJdw_prS5DIjkRim7FRjjIswU",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJdw_prS5DIjkRim7FRjjIswU"
}

Reviews — one row per review, carrying the place it belongs to, so you can sort, filter and export reviews on their own.

{
"placeTitle": "Buena Vista",
"placeId": "ChIJdw_prS5DIjkRim7FRjjIswU",
"stars": 5,
"text": "A must try when visiting NYC. The staff is very friendly and attentive.",
"publishedAtDate": "2026-04-18T12:37:31.859Z",
"name": "Abigail Curran",
"isLocalGuide": true,
"reviewDetailedRating": { "Food": 5, "Service": 5, "Atmosphere": 5 },
"responseFromOwnerText": "Thank you, Abigail — we're delighted you enjoyed it.",
"responseFromOwnerDate": "2026-04-18T15:10:21.000Z"
}

Export either as JSON, CSV, Excel or XML, or pull them through the API.

Good to know

  • Review privacy. Reviewer names, photos and profile links can be left out with one switch, for when your data policy limits what personal information you may store.
  • Language and country. Set the language to get place names, categories, hours and review translations in it. Set the country to see an area the way someone searching from there would — it changes address formats, currencies and which nearby places Google treats as relevant.
  • Large areas. Set a per-search limit on a country or large region — results are taken from across the map up to that limit. For exhaustive coverage of a dense city, run it on its own.
  • Places without a website are skipped by the contact lookup and are never charged for it.

Common uses

  • Lead lists — every plumber, dentist or agency in a region, with phone, website and email
  • Finding businesses with no website — filter to places without one, and you have a prospect list
  • Market research — how many competitors are in an area, how they are rated, when they are busy
  • Review analysis — pull thousands of reviews for a place or a category and read what customers actually say
  • Store and franchise mapping — every branch of a chain in a country, with coordinates
  • Keeping a database fresh — re-run against your place IDs to pick up closures, moves and new phone numbers

FAQ

Do I need a Google API key? No. Nothing to set up and no quota to manage.

Can I scrape a whole country? Yes. Set a limit and results are collected from across the whole country, not just one corner of it. For exhaustive coverage of a dense area, run it city by city.

How many reviews can I get per place? As many as the place has. Sort by newest, most relevant, highest or lowest, cut off at a date, or keep only reviews mentioning a particular word.

Will I be charged for places I filter out? No. Filters are applied before a place is collected, so anything ruled out costs you nothing.

Can I get email addresses? Yes — turn on website contact details. Emails come from the business's own website, since Google Maps does not list them.

Is scraping Google Maps legal? This Actor collects publicly available business information, the same data anyone can see on Google Maps without signing in. It does not access private data or bypass logins. You are responsible for how you use the results, including under GDPR and similar laws where personal data is involved — which is why reviewer details can be switched off.