Go to Store
Google Maps Scraperintelligent-operations/crawler-google-places

Extract data from thousands of Google Maps locations and businesses, including reviews, reviewer details, images, contact info, including full name, email, and job title, opening hours, prices & more. Export data, run via API, schedule and monitor runs, or integrate with other tools.

๐Ÿ“ What is Google Maps Scraper?

Google Maps Scraper lets you extract business data from Google Maps, helping you generate leads, analyze competitors, and fuel growth with just a few clicks.

  • Generate qualified leads: extract business names, websites, emails, and phone numbers to build prospect lists for your sales team
  • Track competitors across regions: monitor where competitors operate, how theyโ€™re rated, and how many reviews theyโ€™ve received
  • Perform market analysis: analyze market saturation, identify service gaps, or benchmark local businesses by size, rating, and visibility
  • Support partnerships: discover top-rated or high-volume locations for outreach and collaboration
  • Automate research workflows: replace manual search tasks with repeatable, workflows that keep datasets fresh and consistent

The scraper expands Google Maps data extraction beyond the limitations of the official Google Places API โ†— and bypasses the limitation of Google Maps โ†— of displaying (and scraping) no more than 120 places per area.

What data does Google Maps Scraper extract?

๐Ÿ”— Title/place name๐Ÿ“ Subtitle, category, place ID, and URL
๐Ÿ“ Address๐ŸŒ Location, plus code and exact coordinates
๐Ÿ“ž Phone number๐ŸŒ Website, if available
๐Ÿ“ Company contact details from website (company email, phone number and social media profiles)๐ŸŽฏ Business leads enrichment (full name, work email address, phone number, job title, LinkedIn profile)
๐Ÿ“‡ Social media profile enrichment (detailed profile data for Facebook, Instagram, YouTube, TikTok, Twitter)โž• List of detailed characteristics (additionalInfo)
๐ŸŒ Search results๐Ÿ“Š Review count and review distribution
โญ Average rating (totalScore)๐Ÿ–ผ๏ธ List of images
๐Ÿจ Hotel booking URL and price + nearby hotels๐Ÿ”’ Temporarily or permanently closed status
๐Ÿ™‹ Updates from customers & Questions and answers๐Ÿ” People also search
๐Ÿงพ Menu๐Ÿ’ฒ Price bracket
๐Ÿ•— Opening hours๐Ÿ“ฆ Popular times - histogram & live occupancy
๐Ÿช‘ Table reservation provider๐Ÿ›๏ธ Multiple businesses located within indoor venues, such as malls or shopping centers.
๐Ÿค– Competitor analysis report (add-on)๐Ÿ—บ๏ธ Interactive map visualization of analyzed competitors

For maximum usefulness, Google Maps Scraper has the following abilities:

  • Extract anything: names, addresses, websites, phone numbers, ratings, review counts, categories, or opening hours
  • Flexible search: scrape using any number of criteria, including search query, category, location, coordinates, or URL
  • Define the area to scrape: focus on specific locations, or set a wide area using coordinates or geolocation parameters
  • Flexible output format: export data into almost any format, with multiple views available
  • Integrate with other tools: use webhooks or our MCP server to set up workflows with other Actors or third-party tools like Make or Zapier
  • Use add-ons for further enrichment: use paid add-ons to further enrich your data with contact details, images, reviews, or an AI-powered competitor analysis report

โฌ‡๏ธ Input

The input for Google Maps Scraper should be either a Google Maps URL or a location in combination with a search term. You can also extract any details such as images, reviews, amenities, and so on. You can set up the input programmatically or use the fields in scraperโ€™s interface.

Search terms

Using multiple similar search terms can increase the number of scraped places but it also increases the time a run takes. We recommend using a combination of search terms that are distinct or overlap only slightly in meaning. Using a long list of duplicate search terms will just increase the time of a run without providing more results.

Example of a good list of search terms: [ restaurant, bar, pub, cafe, buffet, ice cream, tea house ]

Example of a bad list of search terms: [ restaurant, restaurants, chinese restaurant, cafe, coffee, coffee shop, takeout ]

While Google search results often include categories adjacent to your search, e.g. restaurant might also capture some cafe or bar places, but you will get better results if you use them as separate search terms, as well.

Categories

Using categories can be dangerous!

Search terms can introduce false positives, extracting some irrelevant places. Categories can be used to narrow down the results to just the ones you select.

Categories can also be dangerous because they can cause false negatives, excluding places you might want in the results. Google has thousands of categories and many are synonymous. You must list all the categories you want to match, including all synonyms; for example, Divorce lawyer, Divorce service, and Divorce attorney are three distinct categories and some places might be classified as only one of them, meaning you should input all of them. For this reason, we recommend going through the categories list carefully. For some use cases, you might want to select as many as 100 categories to ensure you donโ€™t miss any relevant places.

To help with this, Google Maps Scraper tries to increase the chance of a match by doing the following:

  • If any category of a place (each can have several categories) matches any category from your input, it will be included.
  • If all words from your input are contained in a category name, it will be included. E.g. restaurant will match Chinese restaurant and Pan Asian restaurant.
โš ๏ธ If categories are used without search terms, they will be used both as search terms and as category filters. However, for the above reasons, using categories without search terms is not recommended. We generally recommend fewer search terms and many categories.

Search without geolocation

Rather than using the standard search term and location inputs, you may also opt to use only the search term (e.g. "restaurants in berlin") or a direct Google Maps search URL (e.g. https://www.google.com/maps/search/restaurants/@52.5190603,13.388574,13z/ โ†—) without the location input field.


๐Ÿ“ค Output

The Actor stores its output in a dataset. When you run it, you can preview and download the results in many formats (JSON, CSV, Excel, XML, RSS, HTML Table).

Here is a sample of a scraped Google Maps place:

{
  "title": "MI HOME Grill & Fish",
  "categoryName": "Restaurant",
  "address": "1250 W Main St, Norristown, PA 19401",
  "phone": "+1 610-539-1500",
  "website": "http://mihomegrill.com/",
  "totalScore": 4.6,
  "reviewsCount": 1709,
  "location": { "lat": 40.121, "lng": -75.348 },
  "openingHours": [{ "day": "Monday", "hours": "11 AMโ€“9 PM" }],
  "url": "https://www.google.com/maps/place/..."
}

๐Ÿจ External places (hotels)

Google sometimes shows these places when searching in certain locations, mainly for hotels. They are however not regular places with pins on the map and offer only some of the regular output fields. These places are marked with 3 extra output fields:

{
    "url": "https://www.google.com/maps/place/Al Eairy Furnished Apartments Al Madinah 9/@24.48...",
    "isExternalServicePlace": true,
    "externalServiceProvider": "SuperTravel",
    "externalId": "/g/11pkhzvq1s"
}

Example cost: 100 competitors analyzed

The table below shows the additional cost of enabling this add-on for 100 places, assuming 100 reviews per place and 1 social media profile found per place. The base place-scraped cost applies regardless of this add-on.

EventCountFREESILVER
Additional place details100$0.20$0.15
Company contacts enrichment100$0.20$0.15
Reviews (100 per place)10,000$5.00$3.70
Social media profile enrichment100 profiles$10.00$0.70
Competitor analysis event100$2.50$1.80
Total~$17.90~$6.50

Reviews are the largest cost driver. Social media profile enrichment on the FREE plan is priced significantly higher than on paid plans. The exact cost depends on how many social profiles are actually found per business.


๐ŸŒ€ Custom search area

If your location canโ€™t be found on Google Maps or you want to customize it for a specific area, you can use the Custom search area function. Youโ€™ll have to provide coordinate pairs for an area and the scraper will create start URLs out of them. There are several types of search area geometry that you can use: Polygon, MultiPolygon and Point (a circle with a radius of 5 kilometers by default).

๐Ÿ”ด Circle

For a circle, we can use the Point type with our custom parameter radiusKm. Donโ€™t forget to change the radius to fit your needs. This example covers the city of Basel in Switzerland:

{
    "type": "Point",
    "coordinates": ["7.5503", "47.5590"],
    "radiusKm": 8
}

Map view

Google Maps Scraper can produce an interactive HTML map of the analyzed competitors, stored in the actor runโ€™s Key-Value Store. Below is a preview:

Interactive map visualization of analyzed competitors.


โ“ FAQ

How does Google Maps Scraper work?

It works exactly as if you were searching through Google Maps and copying information from each page you find. It opens the Google Maps website, goes to a specified location, then writes your search query into the search bar. Then it scrolls down until it reaches the end of the scroll bar or maxCrawledPlacesPerSearch. It enqueues all the places as separate pages and then copypastes all visible data into an organized document. This process is repeated for many map pages inside the input location. To understand the process fully, just try it out in your browser - the scraper does exactly the same thing, only much faster.

What are the disadvantages of the Google Maps API?

With the Google Maps API, you get $200 worth of credit usage every month free of charge. That means 28,500 map loads per month. However, the Google Maps API caps your search results to 60, regardless of the radius you specify. Our Google Maps Scraper lets you overcome these limits, providing cost-effective, comprehensive results, and also scrapes histograms for popular times, which arenโ€™t available in the official API.

Can I scrape places from multiple locations?

In most cases, you donโ€™t need multiple locations at all. A single broad location, such as an entire country or state, combined with a good set of search terms and categories, will usually get you the results you need.

Can I integrate Google Maps Scraper with other apps?

Yes. The Google Maps Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate your Google Maps data with Zapier, Slack, Make, Airbyte, GitHub, Google Sheets, Asana, LangChain and more.

Can I use Google Maps Scraper as its own API?

Yes, you can use the Apify API to access Google Maps Scraper programmatically. The API allows you to manage, schedule, and run Apify actors, access datasets, monitor performance, get results, create and update actor versions, and more.

To access the API using Node.js, you can use the apify-client NPM package. To access the API using Python, you can use the apify-client PyPI package.

Is it legal to scrape Google Maps data?

Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the users have chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data if you have a legitimate reason to do so, and you should also factor in Googleโ€™s Terms of Use โ†—.


Your feedback

Weโ€™re always working on improving the performance of our Actors. So if youโ€™ve got any technical feedback for Google Maps Scraper or simply found a bug, please create an issue on the Actorโ€™s Issues tab.