How to scrape Google Maps for Free [2024 Edition]

Sasha Bouloudnine
January 19, 2024

17 min read

Looking to scrape data from Google Maps but you don’t want to copy-paste for hours?

In this article, I’ll show you a simple method in 4 easy steps:

  1. Go to Google Maps Scraper
  2. Indicate the URL you want to scrape
  3. Click Start ▶️
  4. Download the results
google maps search export hero snapshot.png

Without writing a single line of code. With emails included. For free.

Let’s deep dive in.

Which data points will we scrape from Google Maps?

Usual attributes

Our no-code cloud-based tool scrape automatically more than 35 attributes per establishment.
data points scraped by google maps search export by lobstr.png

It does include mainly general information — and contact information such as phone number:

  1. Name
  2. Lat
  3. Lng
  4. Postal address
  5. Score
  6. Reviews count
  7. Phone
  8. Website
  9. Description
  10. Point Of Interests (POI)

Email address

Plus, if the website is available, we can visit the website, and collect email addresses.

It works in 2 steps.

First, we collect the website collected on Google Maps.

google maps search export by lobstr scrapes the website.png

Second, we collect the email addresses present on the website.

address being collected from website.png

🍷

Be careful, the scraper featured here does not collect Google Maps Reviews. If you need it, check our powerful Google Maps Reviews scraper.

Why not use the Google Maps Official API?

If I type google maps api in Google, it does appear 2 things:

  1. It does exist
  2. It is maintained by Google itself
google maps api google search first result.png

In these conditions, why not use the official Google Maps API?

Well, for 6 main reasons:

  1. You need to know how to code
  2. It is (really) hard to understand
  3. You get only 60 results per search
  4. You are arbitrarily rate limited
  5. It is (atrociously) expensive
  6. Key attributes are missing

Let’s deep dive in.

You need to know how to code

An API stands for application programming interface. In other words, it is a service that you can interact with with a piece of code.

Simply said, you need to know how to code to use Google Maps API.

Of course you can ask ChatGPT to write a piece of code in Python for instance:

chatgpt4 code to scrape google places api.png

But you need at least basic coding knowledge to run the script and play around.

And to say the least the official Google Maps API is not the most easy to use.

It is (really) hard to understand

Google is one of the companies with the most market value worldwide. It does represent +4% of all S&P500 stock market. Or 1.78 trillion dollars or total market capitalization in December 2023.
share of google market cap from s&p500 march 2022.png

However, their API is extremely hard to deal with.

You have to deal with intricate product offers and several layers of pricing.

For instance, for the Google Maps API only, you need to deal with 4 families of products.

Let's restrict to what interests us here, Places. You need then to deal with 10 subproducts, and for each 1 to 3 pricing plans. In total, 17 pricing plans.

pricing plan of google maps official api.png

Hard to play, hard to master.

You read it right.

You can scrape only 60 results per search query.

hard display limit on google maps official api.png
For example, let’s say you need to collect all restaurants in Austin, Texas. It’s said to be home to 6000+ restaurants in total, according to Eater Austin%20There%20are%20about%201%2C000,times%20greater%20at%20approximately%206%2C000.).
restaurants count in austin.png

In that situation, how to achieve a complete web scraping? Yes, you get it. You’re screwed.

You are arbitrarily rate limited

In addition to being limited per request, you are speed limited.

As any API service, you are limited to a certain number of daily requests. Google Maps API limit is 1000 requests per day without identity verification.

google places api threshold limit.png

Tight.

Keys attributes are missing

Let’s be honest. The result for Google Maps API is clean and well structured.

You retrieve all important attributes, with proper categorization and indentation. If the API access is complicated, the result is easy to deal with.

For example, at location level, you get a nice multi-layers structure:

google places api json structure.png

However, the main issue is that core contact attributes are missing.

Email, social media links such as Facebook or Instagram: all of this is missing. Although it is critical from a B2B lead generation perspective.

google maps official api vs lobstr google maps data points.png

In other words, if you need to generate leads from Google Maps, do not use the Google Maps API.

You miss some attributes and all is lost. And if only it was cheap enough…

It is (atrociously) expensive

With our no-code automation, it will cost you €50 to scrape approximately 50,000 results.

Or €1 per 1000 results.

pricing simulator google maps search export.png

What is the price with the official Google Maps API?

Well, I’ll spare you the complicated computations (they are really).

But basically speaking we will need to use 2 services, with basic pricing:

  1. Search places nearby a given location (2500 requests)
  2. Get details of each place (50000 requests)

In total, we will have to pay (be ready)... $914.

total price google places api simulation.png

Even when taking into account the free $200 monthly offer, it will cost you €647 per month. Or €13 per 1000 results. \

In other words, the official Google API is 12x more expensive than our Google Maps data scraper.

🤯

With restrictive hypotheses. And missing core attributes.

Unless you are a seasoned developer with cross-API needs, do not use the official Google Maps API.

OK Google API is unusable. Is it however legal to collect data through non official scraping tools?

You can legitimately ask yourself, as Arief Salafudin bravely did here:
google discussion about legal scraping on google maps.png

To answer briefly:

  1. It is against the Google Terms Of Service (TOS)
  2. But it is absolutely legal
  3. You risk nothing

Let’s deep dive in.

It is against the Google Terms Of Service (TOS)

If you scroll slightly down, you will notice that Google simply does not allow bulk data scraping.

Cfanatic, Diamond Product Expert (!) at Google, says it clearly: "no".
response from google thread about bulk data scraping on google maps.png

What does Google exactly say about it?

There is no specific mention of Google Maps. But if you explore the Spam policies for Google web search, scraping is against Google TOS.
scraping violates google terms of service.png

Though, if you type google maps scraping on Google, you will be asked to test dozens of competing tools.

More surprising, Google authorizes the promotion of scraping services on Google Ads.

You can check this long list of criminal activities — according to Google — here. There is now mention of any scraping-related service.
products forbidden on google ads.png

Our own Google Ads account makes the case for us:

google ads about scraping services.png

How to explain that Google does allow advertising of a product against its TOS?

As said by rockerBOO in this reddit thread, factual data is not under copyright.
reddit thread about scraping legality.png

What does it mean?

To keep it simple, it means data is publicly accessible online. This data does not belong to Google. Consequently, you can scrape it and share it as you wish.

The US Ninth Supreme Court, one of the highest US courts, did reaffirm it on April 15, 2022.

Scraping data that is publicly accessible on the internet is not a violation of the Computer Fraud and Abuse Act, or CFAA, which governs what constitutes computer hacking under U.S. law.

screenshot of article techcrunch about scraping being legal.png

You did understand it: data scraping on Google Maps is totally legal.

You risk nothing

To sum-up, scraping data is against Google TOS, but absolutely legal according to US laws. What does it imply if you try to scrape data yourself?

According to the TOS, Google can suspend your access to Google Services.
google suspending account if scraping activity detected.png

Thus, if you use a third-party service, you risk absolutely nothing.

And from our side, how do we prevent being banned?

Well, it is simple: we do not collect data being connected to any account. If there is no Google Account, there is no Google account suspension.

That’s it.

🦭

Why extract data from Google Maps?

We did identify 3 main use cases:

  1. Lead generation
  2. Competitors analysis
  3. Subsegment App creation

Let’s check it out.

Lead generation

Main reason to scrape Google Maps is lead generation.

Indeed, on Google Maps, you can retrieve precious contact information, such as phones. And emails using our powerful Google Maps Search Export.

You can then:

  1. Contact the business owners
  2. Present your offer
  3. Sell them the product
Arief Salafudin nailed it, in this Google sub thread on October 17, 2022.
google discussion about using google maps for lead generation.png

Competitors analysis

Second reason to scrape Google Maps is to gather competitors' information.

Indeed, you will find data points informing you on:

  1. Market competition intensity
  2. Competitors performance
  3. Competitors positioning

Let’s say you own a nightclub in Austin, Texas. After all, why not?

First, you can identify fast market competition intensity.

The number of competitors and the geographical coordinates will tell you if you can settle in.

identify low competition area.png

Second, you will be able to check competitors' performance.

With reviews count and business reviews score, determine which competitors are good. And which ones are about to be expelled off the market.

nightclubs reviews score austin google maps.png

Endly, you can check your competitors' positioning in the market.

Do they have beers? Or a large cocktail offer?

We provide insightful information by gathering:

  1. Business description
  2. Points Of Interest (POI)
description and poi of google place on google maps.png

Have you identified a market need not fulfilled by the current offer? Build a solid business based on data-driven decisions.

Subsegment app

minzsasori asks on reddit if it is legal to scrape data and pull into its application.
reddit thread about is it legal to scrape data and add in app.png

But what does it mean exactly?

With a Google Maps data scraper, you can export all Google places of a subcategory. And build a Google Maps subsegment competing app.

For instance, bookamagician.com is a simple directory that gathers magicians online.

It is ranking first position on the keyword book a magician on Google in the US.

bookamagician.com ranking on keyword book a magician.png

And it is said to generate $30K/year, with no or low maintenance.

tweet of patt walls how to make business with business listings.png

With a solid Google Maps data scraping, you can extract all business listings to a CSV file. And build similar websites in competitive niches in seconds:

  1. Clowns
  2. Comedians
  3. Caricature artists
  4. Fire performers
  5. Dancers

Step-by-step tutorial

In this section, let’s see how launch Lobstr Google Maps Search Export scraper. The most competitive scraper available today on the market.

In 4 easy steps:

  1. Go to Google Maps Scraper
  2. Indicate the URL you want to scrape
  3. Click Start ▶️
  4. Download the results

Let’s deep dive in.

Go to Google Maps Scraper

First, go to the app Dashboard page, and create a new Squid.
click on the red button to create a new squid.png

Once the window opens, type google in the search input field.

Several Google related scrapers do appear. Choose Google Maps Search Export: the chosen one.

choose your squid to create a new squid.png
As you can see, you can also scrape reviews from Google places, and scrape Google SERPs. Both scrapers are usable for free. Check it out!

Once you click on the button, it will create a Squid. Time to tell our scraper which list of businesses we want to scrape.

Indicate the URL you want to scrape

In this comprehensive guide, we will scrape all nightclubs from Austin, Texas. After all, we expect cool kids to pour in.

First, go on Google Maps, type the keyword you want to collect places from and press enter: here nightclub.

google maps search with nightclub as keyword.png

Then, copy the URL generated by your browser.

copy google maps search url.png

Get back to Lobstr.

Paste the URL in the input field (1), and click on Add (2) to add the origin URL you want to scrape listings from.

paste you google maps search url and click on save.png

You should receive a success green notification! Click on Save & Exit to go to the next step.

click on save & exit once task has been added.png
You can also add several URLs at once from a CSV file, using our Upload file feature. Feel free to check the dedicated help article here.

Looking to target multiple cities or zip codes at once? No need to copy Google Maps links one by one.

With the area-wise targeting feature, you can add all zip codes to your tasks in just a few clicks:

Use Params Demo
  1. Toggle the Use params button
  2. Pick an activity or category from the dropdown menu
  3. Select your targeted country
  4. Specify states or provinces (admin 1 & admin 2)
  5. Choose the cities and zip codes you want to target
  6. Click Add task to complete your selection

Click Start ▶️

You may reach at that point the launch area.

Simply click on the big green Launch button.

click on launch at squid lobstr area.png

The scraper is launched!

In the Live area just below, you will see the web pages being scraped. And, cherry on the cake, the emails being scraped on the business website. In real time.

check lobstr squid console to check live results.png

Download the results

After 3 minutes and 28 seconds, the scraper did collect 92 unique Austin nightclubs. Crazy good!

Simply click on the Download button to export the data.

download button on lobstr squid interface.png

You will get a proper, exhaustive and structured dataset in CSV format. With all the data. Phone and emails of each business listing included.

snapshot of data collected by google maps search export by lobstr.png
Do you wanna convert CSV to Excel? Feel free to check our dedicated help article, available here.

Congrats!

🪩

If you want to access your data through API, it’s possible. Feel free to check your API key in the profile section. And the whole documentation is accessible here.

And it did cost you literally $0. You did collect all these places for free. Let’s precise it further.

How much does it cost?

Pricing is clear, competitive and simple.

  1. €0 per month with 3000 leads per day
  2. €50 per month with 30000 leads per day
  3. €250 per month with 300000 leads per day

You did read properly: you can scrape up to 3000 leads per day, business emails included, for free.

pricing plans lobstr.io.png

The most competitive price out there.

Do you want to check precisely which plan you need considering your lead flow needs? Feel free to check the price simulator directly accessible from the product page.
google maps search export pricing simulator by lobstr.png

Google Maps limits display per URL. How to go further?

Google Maps displays max 200 results per Search URL.

It is possibly for two reasons:

  1. Ease User Experience (UX)
  2. LImit data gathering

For instance, if you search nightclub around the Austin region, you will find max 90-100 clubs. How to get all nightclubs in the USA?

hard limit of results displayed on google maps.png

How do you collect all the nightclubs of a whole country?

Basically, you need to create as many search URLs as you get locations. And you can do it in two ways:

  1. Use our Lobstr 1-click tool
  2. Use lat/lng and spreadsheet

Let’s deep dive in.

Use our Lobstr 1-click tool

Access our Google Maps Search URLs generator here.

Once on the page:

  1. Add your keyword e.g. nightclub
  2. Pick your country e.g. USA
  3. Click on Generate
add keyword country and click on generate.png

Internally, we have gathered the 500 largest cities of each country. It will generate a list of 500 search URLs, 1 per city. Simply download it, and upload the list in the scraper.

output of google maps urls generator by lobstr.png
To upload a list of URLs in a scraper, please check our dedicated help article available here.

But what if you need to target a specific location? For instance, all nightclubs in Arkansas?

Use lat/lng and spreadsheet

We will do manually what our tool does in 1 click. Be careful, it allows you to target a specific region, but it is (way!) longer. We will do in 2 steps:

  1. Gather all lat/lng of the region
  2. Generate all URLs with a Google Spreadsheet

Be ready.

Gather all lat/lng of the region

First, let’s gather all coordinates of Texas.

The best source for latitude and longitude is opendatasoft. It is an open source database with a large range of publicly accessible datasets.
The Geonames - All Cities with a population > 1000 provides a list of all cities worldwide. With at least 1000 people living in. You can access it here.

If you check on the card, you will see they provide thousands of geolocation, only for the Texas region. Awesome!

geonames all cities population sup 1000 texas region.png

To restrict to Arkansas, we will limit research to two parameters:

  1. Country name EN: United States (US)
  2. Text Search: AR i.e. Arkansas
filter geonames city per country and arkansas.png

You can check in the table: an absolutely awesome list of cities from the region.

Then, click on Export tab, and export the data to CSV:

download all arkansas cities with pop inf 1000 geonames.png

It’s looking absolutely gorgeous, isn’t it?

geonames all cities inf 1000 pop sample.png

Generate all URLs with a Google Spreadsheet

Our initial Google Search URL was this one:

https://www.google.com/maps/search/nightclubs/@30.336143,-97.8089683,12z

You can see there are 3 arguments:

  1. Keyword
  2. Latitude
  3. Longitude
google maps search url with keyword lat and lng.png

First, we open the spreadsheet with all the latitudes and longitudes we have just downloaded.

In the last column, add a column keyword, and add the keyword you want to search: here nightclub.

Copy-past to the bottom.

add keyword to generate google maps search urls.png

Endly, in column V, we will use an Excel formula to concatenate text. \

The formula is the following one:

f
="https://www.google.com/maps/search/"&U2&"/@"&S2&","&T2&",12z"

It will automatically pick the 3 elements — lat, lng, and keyword — and generate 1 search URL per line.

autofill in googlesheet to generate google maps search urls.png
Feel free to access the complete spreadsheet here. Fantastic!

Simply export the file to CSV, and upload the bunch of tasks into the scraper. Extract Google Maps data at scale, with a focus on region. Collect all Google places.

FAQ

Can I use AI to scrape Google Maps?

No, AI cannot be used to scrape data directly from any website. However, if you are a developer, you can use it to generate the code from the HTML structure.

Be careful, ChatGPT is not easy to deal with.

chatgpt does not want to help scraping google maps because of alignment.png

Can I scrape Google Place IDs?

Yes, Google Maps Search Export lets you extract many elements during data extraction. Including a unique Google place ID.
google places ids.png

Can I code my own Google Maps scraper?

Yes, absolutely! However, Google Maps requests are not easy to identify nor to deal with. Also, we recommend using a chrome headless browser, such as selenium webdriver.
Once you have loaded the HTML, you can parse data with libraries such as beautifulsoup.

Be careful, you will face many challenges:

  1. Long development time
  2. Unstable selectors and xPath
  3. Slow scraping speed
  4. Use of your own computer's resources
  5. IP ban
  6. No email nor any advanced data points

You can use any language. But we recommend to use popular languages such as JavaScript or Python. You will find more resources online, and better AI-powered advice.

If you want to get quick to the point, feel free to use this Python github repository.
gaspa93 github folder with python google maps scraper.png

The scraping is slow and does consume your own resources. But with 327 stars, and 92 commits since release, it’s a solid way to quickly get hands on.

Feel free to check this source file, to understand how the scraper is built.
selenium being used in python code to scrape google maps.png

Conclusion

And that’s it!

As we have seen in this article, the Google API is an absolute hell to use.

Yet, you can scrape Google Maps data in 4 easy steps. With our powerful Lobstr Google Maps Search Export. Email included.

This operation is free, up to the large amount of 150 leads per day. And as we confirmed: absolutely legal.

Do you wanna scrape other Google results?

Check the related free-tier crawlers in our store:
  1. Google Search Results Scraper
  2. Google News Search Export
  3. Google Maps Export Reviews
1516989175726.jpegSasha Bouloudnine

Co-founder @ lobstr.io since 2019. Genuine data avid and lowercase aesthetic observer. Ensure you get the hot data you need.

Related Articles

Related Squids