Scraping Google Maps Data
Businesses aren’t just listed on Google Maps, but also use Google Maps data for critical market research, allowing them to gain insights into any local market and collect valuable business data from anywhere in the world.
Whether you’re a data scientist or business owner looking for more targeted lead generation, having all the data from Google Maps, such as business names, addresses, website, reviews and phone numbers is a necessity in today’s competitive information economy.
Using a Google Maps Scraper
Extracting data from Google Maps is also known as scraping and can be done through your own custom code (usually copying and pasting other code examples) or if your coding skills aren’t up-to-snuff, you may want to use a Google Maps Scraper instead.
There’s no shortage of Google Maps scraping tools available to save you from writing your own code and we’ll briefly cover the main types here.
Disclaimer though, we’re going to be a bit biased as we offer our own scraping solution, but want to provide you with all of the options available so you can make the best decision for your specific scenario.
These are typically user friendly add-ons you install into your web browser (such as a Chrome Add-On) that not only have the ability to read the Google Maps data on your screen, but also can automate activity from your browser (and IP address) to scrape data from Google Maps.
These can be very risky, especially if you’re logged into your Google account while using these tools since Google’s Terms of Service forbids this type of automated activity and you will be held directly responsible for any violations you cause and may even get your account banned!
Even if logged out of Google, this type of automated activity is still traceable to your IP address and can tarnish your IP reputation, resulting in not only being banned from Google, but also from countless other apps that share IP reputation data.
Tools that attempt to automatically scrape Google Maps data through automated means, such as through browser automation, typically run on the cloud (though a few are still available for download) and can use proxies to mask their real IP address.
Many of these services also offer an Unofficial API where they use similar screen scraping techniques to expose an “API” you can make API calls to and the screen scraper will then screen scrape Google Maps data on demand.
Not only is this against Google’s Terms of Service, but these are very unreliable as they typically rely on Google Maps not changing their presentation (which they constantly do). Furthermore, Google is very good about detecting automated data scraping and typically blocks these bots, so your mileage will vary if you can get one of these screen scrapers to work.
Are Screen Scrapers Really Legal?
While it’s technically not a crime if you perform web scraping on your own (for public data), it typically violates the Terms of Service between yourself & Google, and they therefore have the right to seek damages if they choose.
Many services that advertise scraping Google Maps through these unofficial means like to rely on this legal defense, but what they don’t mention is that using a third party (e.g. a scraping tool) to violate another company’s Terms of Service constitutes “inducement of breach of contract,” where the scraping company is helping you violate Google’s Terms of Service.
This is a tort in common law (a big deal) and why so many cease & desist letters, lawsuits and nastiness have emerged for the unofficial screen scrapers that rely on this weak legal defense - that they operate in a legal “grey area” or “but it’s ethical.” The reality is that they are breaking the law and why the remaining ones are typically based outside of the United States’ legal jurisdiction.
Scrape Data from Official Google Maps API
If you’d rather not violate Google’s Terms of Service (or use a third party to do so) while scraping Google Maps, then you should use the Google Maps Places API, which allows you to scrape up to 12,000 business contact details for free every month!
It’s free and easy to get started, they even offer $200 in free credits each month. You only need an API key to get started, see how to Get Your Google Maps API Key for help! This will allow you to scrape Google Maps legally for free, either on your own or through a scraping service like ours.
There are two main downsides we should consider when using the official Google API though: limited response data & ease of use.
1. Limited Response Data
There are 2 main endpoints for scraping publicly available data: Places Search and Place Details. The first is useful for scraping basic data about a location to create a sense of the businesses available, while the later is best used for downloading details like address, website, location components, reviews, phone numbers and more.
You’ll typically want to start with the Places Search endpoint, where you can enter any search area (latitude & longitude coordinates) with search terms and retrieve back up to 60 results (don’t worry, there’s a way around this limitation by performing a Google Maps Deep Crawl).
Some locations will work better than others for performing a deep crawl, e.g. map locations around cities will work well for returning bulk results whereas map locations in more rural areas will not.
The search results data will be very basic, only containing the address as the only means of contact details (e.g. no phone number) but will contain other basic fields like place title, review count, average rating & price level. To scrape more details (such as for lead generation), you’ll need to take note of the Place ID returned from this endpoint and perform a Place Details Lookup.
Once you have a Google Maps Place ID (or list of IDs from the places search results), you can feed them to the Place Details endpoint and will be able to extract data such as phone numbers, opening hours, recent reviews, Google Maps URL and official business website.
You can see our article on Place Details Fields for a full comparison of fields available, but you’ll notice that a few fields available on the Google Maps website (such as popular hours, menu, etc…) will not be available through the official API.
However, the official API will return the complete URL to each Google Maps place, so you can simply go to each URL and review the information you need on the official Google Maps website without relying on a screen scraper or unofficial API.
2. Requires Programming Skills
Like most APIs, Google Maps’ requires some programming skills for you to make HTTP requests to the service and then parse back the returned JSON format into something actually usable, like a CSV file for importing into Google Sheets.
But if you just need a simple way to scrape data from Google Maps, keep reading to learn more about our service.
No-Code Google Maps API Scraping
If you’re as convinced as us that the best way to scrape data from Google Maps is through the Official API, then we’ll explain how to use our freemium No-Code Google Maps Data Scraper, making the official API easily accessible to non-coders.
1. Perform a Search
We’ll start with a simple example and scrape Google Maps for Italian restaurants in Miami, FL through our Google Maps extractor around the Official Places Search Endpoint.
You’ll want to create a free account with our service, allowing you to extract data from Google Maps as an alternative to web scraping, and then head to our Google Maps Search Results Scraper.
Enter any free text query (just as if you were using the Google Maps website), your location and API key, then hit execute and our service will extract data directly from the response data.
The results page will present the scraped data in hierarchical collections you can immediately download as CSV files to your computer. Scraping data has never been easier! While quick and easy, you’ll notice this data will be missing important details like website, phone number and reviews.
You’ll notice that the results only have 20 rows in them (as this is just the first page of results). You can follow the pagination instructions to get the next 20 rows from the map results if you’d like.
2. Scrape Place Details
If you need more information back about each business like phone numbers, opening hours, website and more, then you’ll want to use our Google Maps Place Details Scraper for this, and simply paste in the
place_id for the place you need more information for.
This will then query the Official Place Details Endpoint on your behalf and extract out the details into CSV files like before, however the response data will only be one row. This row will contain many fields of interest, such as the following data:
- Address Components
- Phone Number
- Opening Hours
- Location Coordinates
Limited Reviews Data
Each place will return up 5 reviews in the details response, though it’s not documented exactly how these reviews are ordered. While it seems that these reviews are the most recent, it’s not guaranteed and you should not blindly rely on the limited reviews returned.
You’ll see a dedicated collection in the response for reviews, where you can download one row for each review. If you only download the root collection though, it will not contain all the reviews and just the first review “flattened” into the single row.
If you need comprehensive Google Maps reviews scraping, you can see our page on alternative APIs that allow you to Scrape Google Place Reviews for more information.
3. Workflow Automation
If scraping these one-by-one sounds tedious, don’t worry! You can use a workflow to automate this for you with our service, where you simply paste in a list of Place IDs (one per line), and we automatically scrape the details for you and combine the results into a single CSV file you can download.
This is incredibly useful for performing automated data scraping for any location and access thousands of records combined into a single CSV file.
We offer our service as a generic “platform as a service” that can be used with any data API. Therefore, we require all users to supply their own API Keys to access third party APIs.
By using our service with the Google Maps API, you must review and comply with the Google Maps API Terms of Service and Privacy Policies when generating & using your API Key.
Note that these terms forbids “scrap[ing] Google Maps Content for use outside the Services.” Our services promote accessing & storing responses for personal use only (e.g. saving responses to one’s local computer for private research) & not for any other use “outside the [Google Maps] Services.”
Google Maps Email Address Scraping
Unlike phone numbers, email addresses are not publicly listed on Google Maps, and therefore you can’t extract them from neither the Google Maps API nor any other screen scraper.
However, since you can retrieve website URLs from Google Maps, it’s possible to scrape the emails using another tool like Hunter. Simply enter the website domain into Hunter and you may be able to extract a public email address. You can also try other services that work with a phone number instead.
Alternatively, you can use our Foursquare API Scraper which functions very similarly to the Google Maps API, but also returns publicly listed emails within the basic search results. Definitely check this out if you have your heart set on scraping email addresses.