← Blog

Free Google Maps Scraper in Google Sheets (That Doesn't Scrape)

A Google Maps scraper's job in Google Sheets, without scraping: Google's Places API, your key, up to 1,000 free searches a month. 98 plumbers, not 20.

You want every business from a Google Maps search in a spreadsheet: names, phone numbers, websites, ratings. Not the 20 Maps shows you, all of them. So you search for a free Google Maps scraper, and page 1 is Chrome extensions, hosted scraping tools with a free tier, scrapers on GitHub, Reddit threads from people who built their own, and YouTube videos about scraping “unlimited” leads. The AI answer at the top lists Outscraper, G Maps Extractor, a few Chrome extensions and a GitHub project that runs in Docker. What almost none of them mention is that Google already has an official way to hand you this data: the Places API, with a free monthly allowance.

That’s what this page is about. I built Local Lead Finder, a $10 Google Sheet that does the job people use a Google Maps scraper for, without scraping. It asks Google for the data through the Places API (New), using your own key, and Google gives up to 1,000 searches a month free. Below I compare it plainly with the kinds of tools on page 1: what each one needs and where your data ends up. Then one real run: Google Maps showed me 20 plumbers in Boise, and the sheet found 98.

TL;DR

  • Local Lead Finder uses Google’s official Places API, not scraping; it found 98 Boise plumbers where Maps showed 20.
  • It needs your own free Places API (New) key; Google gives up to 1,000 searches a month free, one per area.
  • The most common mistake is searching one city name once; one search only goes 20 deep, so search every neighborhood.

Who this is for

  • Freelance web designer: you want every local business in a category in one sheet so you can sort by the empty Website column.
  • Local SEO freelancer: you want ratings and review counts for a whole category of businesses without copying them by hand.
  • Virtual assistant: clients ask for lead lists, and this builds one in a Google Sheet you can hand straight over.
  • Outside sales rep: you want your whole territory in one tab, with phone numbers, instead of 20 results at a time.
  • Small business owner doing your own outreach: you’ve tried copy-pasting from Google Maps and want a way that doesn’t take all day.

Before you start

Don’t have a Places API key yet? How to get one free. Haven’t set up the sheet? Setup takes 5 minutes.

What people mean by a free Google Maps scraper

When I looked at what ranks for “free google maps scraper”, the tools fall into four kinds. They all try to solve the same problem: Google Maps shows you a list, and you want that list in a spreadsheet.

Kind of tool What you need Where your data lands Chrome extension The extension installed, and Google Maps open in your browser Depends on the extension, usually a file you export Hosted scraper (Apify, Outscraper and similar) Their website or app Their dashboard, then a file you export (Apify’s page lists JSON, CSV, Excel, XML and HTML) GitHub project (like gosom/google-maps-scraper) Docker, Go, or their prebuilt program, run on your own computer A CSV or JSON file, or a database (per its README) “Scrape with ChatGPT or Claude” videos An AI coding tool, and a scraper it writes that you then run and fix Wherever the script writes it Local Lead Finder A free Places API (New) key and a copy of the sheet A new tab in your Google Sheet

The first four are scrapers: they read Google Maps pages, or run code that does. The GitHub project’s own README says the easiest way to use it is with an AI coding agent like Claude Code. That’s a real option if you’re comfortable running code. Most people searching for a free scraper just want the list.

And almost every one of them ends the same way: a file you download and open in a spreadsheet anyway.

The other way: Google’s own Places API

Google has an official way to get Maps data. It’s called the Places API, and the current version is Places API (New). You turn it on in Google Cloud, copy a key, and any tool you give that key to can ask Google for places directly. No reading pages, no browser open, no proxies.

Search results showing Places API, Places API (New) and Places UI Kit, with Places API (New) selected

Two things make this the “free” part:

  • The key is free to create. Google asks you to connect a billing account, but it gives up to 1,000 searches a month free. Here’s every screen, step by step.
  • The key is yours. It lives in your own Google Cloud project, and you can see and limit what it uses there.

How the sheet does a scraper’s job without scraping

Local Lead Finder is a Google Sheet with the Places API wired in. You paste your key into SETTINGS, and everything else runs from one menu.

The Find Leads menu: 1. Find Areas for region, 2. Search in All AREAS, 3. Outreached

  1. Find Areas for region. Type a city. The sheet uses OpenStreetMap and your Places API key to list every town and neighborhood in it, in the AREAS tab. Untick any you don’t want.
  2. Search in All AREAS. Type what you’re looking for. The sheet runs “keyword in area” for every ticked area, removes duplicates, and writes everything to a new tab.
  3. Outreached. After you contact a business, mark its row. It turns green, copies to the OUTREACH tab, and stays green in every future search.

Before a search starts, it tells you the most it could cost. Each area is one Google Places request per results page, so a city with 69 areas is up to 69 requests.

Start this search? coffee shop across 69 areas, up to 69 Google Places requests

Each row has name, phone, address, rating, number of reviews, Place ID, Google Maps link, WhatsApp link, website, and the area it was searched in.

The URL, WA and Website columns

The WhatsApp link already has your message typed in. You write that message once in SETTINGS.

One real run: 20 plumbers on Maps, 98 in the sheet

Here’s why searching every neighborhood matters. I searched “plumber in Boise, ID” in Google Maps and scrolled to the bottom of the list.

The bottom of the Google Maps results for plumber in Boise, ID, with a loading spinner under Howe Plumbing LLC

It loaded 20 businesses, 2 of them sponsored, then showed a loading spinner and nothing more.

Same keyword in Local Lead Finder. Find Areas turned Boise, Idaho into 42 areas, from Meridian, Eagle, Garden City and Kuna to Boise neighborhoods like the North End, Collister and Barber Valley. One search across all 42 found 98 plumbers.

Summary: 98 found by the sheet, 42 areas, 32 added a new place, 19 from the Boise search alone, 25 under 20 reviews, 16 no website. 18 on the Maps list, 16 also in the sheet, 82 in the sheet but not in the Maps list

  • The “Boise” area search alone found 19, about what Maps showed me. The other 79 came from the neighborhoods.
  • 32 of the 42 areas added at least one plumber nobody else had found.
  • 82 plumbers in the sheet weren’t on the Maps list at all.
  • 25 have under 20 reviews, and 14 of those are rated 5.0.
  • All 98 have a phone number. 16 list no website.

It used 42 Places API requests, well inside the 1,000 free a month. The full Boise write-up is here.

What it doesn’t do

I’d rather you know this before you buy it.

  • It doesn’t find email addresses. You get phone numbers, websites and a WhatsApp link. Some scrapers on page 1 advertise emails; this sheet doesn’t do that yet.
  • It doesn’t send messages for you. It opens each WhatsApp message already typed, and you send it.
  • It doesn’t find businesses that aren’t on Google Maps. The Maps list and the sheet both come from Google. The sheet runs more searches and keeps everything in one place.
  • It needs a Places API key. That’s a five minute job, but it is a step.
  • It isn’t free to buy. The searches are free up to Google’s monthly allowance. The sheet is $10 once, and free for Better Sheets lifetime members.

Step by step

  1. Get a free Places API (New) key (how).
  2. Copy Local Lead Finder to your Google Drive and paste the key into SETTINGS (setup).
  3. Click Find Leads > 1. Find Areas for region, authorize the sheet the first time, and type your city.
  4. In the AREAS tab, untick any areas you don’t want searched.
  5. Click Find Leads > 2. Search in All AREAS, type your keyword, check the request count and click OK.
  6. Open the new tab and sort it: by reviews, by rating, or by the empty Website column.
  7. Contact businesses from the list, and mark each one with Find Leads > 3. Outreached.

Common pitfalls

  • Searching the city name once: one search only goes 20 deep. The “Boise” search alone found 19 plumbers; the 42 areas found 98.
  • Enabling the old Places API: the sheet needs Places API (New). If you enabled the other one, go back and enable the new one.
  • Searching before Find Areas finishes: it keeps adding areas for a minute or two. In one run I started at 87 areas and it finished at 150.
  • Leaving junk neighborhoods ticked: neighborhood names that are also other place names pull in junk, like a park, a cemetery, or a dentist in Dartford, England. Untick those and check names that don’t fit.
  • Running a huge region without looking at the count: the sheet shows the most a search could cost before it runs. Read it before you click OK on a big city.
  • Posting a copy of the sheet with your key in it: treat the key like a password and keep your copy private.
  • Forgetting to mark Outreached: if you skip it, the next search won’t show you in green who you already contacted.

Learn the Google Sheets formulas in this post

Better Sheets has hundreds more tutorials like these. If you want to get better at Google Sheets, join Better Sheets.

Other ways to use Local Lead Finder

All 18, grouped by who they’re for: Lead generation ideas: 18 local businesses to sell to.

FAQ

How can I scrape leads from Google Maps for free?

You don’t have to scrape. Google’s Places API gives you the same business data, and Google gives up to 1,000 searches a month free on your own key. Local Lead Finder runs those searches area by area and puts every result in a Google Sheet; the sheet itself is $10 once.

Does Google Maps provide an API?

Yes. It’s the Places API, and the current version is Places API (New). You enable it in Google Cloud and copy a key. Here’s every step with screenshots.

Is the Google Maps API still free?

For most searches, yes. Google gives up to 1,000 searches a month free. In Local Lead Finder each area is one request per results page, so 42 Boise areas used 42. The sheet shows the most a search could cost before it runs.

Is a Google Maps scraper legal?

I’m not a lawyer, and this isn’t legal advice. What I can tell you is that Local Lead Finder doesn’t scrape: it asks Google for the data through the Places API, the way Google built for getting Maps data, using a key in your own Google account.

How do I get Google Maps data without getting banned?

Use the API instead of scraping. There are no proxies or bot tricks involved, because nothing is being scraped. Google sees ordinary API requests from your own key, and the only limit is the quota on that key.

Can ChatGPT or Claude scrape Google Maps for me?

They can write you a scraper, and the gosom GitHub project even suggests running it with an AI coding agent. You still have to run it and fix it. If you just want the list, a sheet that uses Google’s API is less to look after.

Does it get email addresses?

Not yet. You get phone numbers, websites and a WhatsApp link with your message typed in. Every one of the 98 Boise plumbers had a phone number.

Can I export the results to CSV or Excel?

Yes. Each search makes its own tab. In Google Sheets, File > Download gives you a CSV or Excel file for your CRM or a VA.

Get the sheet

Local Lead Finder is $10, and free for Better Sheets lifetime members.

Get Local Lead Finder

Ads keep the free stuff free. Members browse ad-free — log in or see pricing.
Big Year 2027 calendar: the whole year on one Google Sheet

Free 2027 calendar.Plan all of 2027 on one Google Sheet, free.

Copy it to your Google Drive.

Free. No password, no card. The sheet link shows up right here.