How to Scrape Google Maps Business Listings (No Code): A Step-by-Step Guide
Extract business names, ratings, addresses, and websites from Google Maps into CSV or JSON with Crawl Pilot's no-code List Extractor — the full 3-step wizard, preview, results table, and what breaks.
You can scrape a Google Maps search — "coffee shops in Austin", "dentists near me", "plumbers in Manchester" — into a clean CSV or JSON file of business names, ratings, review counts, addresses, and websites without writing a line of code. You do it in the results panel on the left of Maps using Crawl Pilot's List Extractor, and the whole job takes a few minutes per search.
The catch is that Google Maps loads results into a scrolling panel, not fixed pages. That maps directly onto Crawl Pilot's Infinite Scroll / Single Page navigation mode. This guide walks through the full three-step wizard, the preview, the results table and its exports, and what breaks.
A note on ethics and terms: This guide is for extracting publicly listed business information for legitimate uses like local market research and lead generation. Google's Terms of Service restrict automated access. Keep volumes low, don't hammer the service, and don't collect personal data. See our privacy and ethics guide.
What You'll Need
- Crawl Pilot installed and pinned (see the quickstart if you haven't set it up)
- A normal Chrome session logged into your regular profile
- A specific search in mind — the tighter the query, the cleaner the data
Before You Start: Session Preparation
Google Maps is aggressive about flagging automated behavior. Reduce your footprint first:
- 02Use your regular Chrome profile, not Incognito. A session with normal Google cookies looks far less suspicious.
- 04Run the search manually first and glance through the results — that's what a real user does.
- 06Don't use a VPN whose location contradicts your search region.
- 08Keep the search specific. "Plumbers in Round Rock TX" gives a clean, manageable list; "Plumbers in Texas" gives noise and heavier rate limiting.
Step 1: Run Your Search and Load the Results
Go to google.com/maps, type your query, and press Enter. The results panel appears on the left — a scrolling list of business cards, each with a name, rating, category, and address.
Google only renders a handful of results at first. Scroll the results panel down slowly until you see "You've reached the end of the list." at the bottom. Everything you want must be scrolled into view — Crawl Pilot extracts what's rendered in the DOM, and Maps lazy-loads cards as you scroll. For most searches you'll load 60–120 businesses this way.
Step 2: Open Crawl Pilot and Connect the Tab
Click the Crawl Pilot icon. The side panel opens on the right.
If you see the banner "Extension not connected to this tab", click Connect. Then open List Extractor — it runs as a three-step wizard.
Step 3: Wizard Step 1 — Pick a Repeating Item
This is the part people expect to be hard and isn't. You don't map out columns or hunt for containers — you click one business card and Crawl Pilot figures out the rest.
- 02Click Select on Page. The panel switches to "Listening for Click…" and the page becomes selectable.
- 04Hover over one business card in the results panel and click it.
- 06Crawl Pilot detects the repeating pattern and shows a green "Repeating Pattern Found · N matching items on page" card — where N should roughly match the cards you scrolled into view. It also auto-extracts the fields it found on that card (name, rating, address line, link).
From the detected card you can:
- Preview Sample Data (the database icon) — opens a preview window with a sample table of the detected rows, so you can confirm the data is right before running the full extraction.
- Highlight on page (the eye icon) — flashes every matched item on the page so you can verify the pattern caught them all.
- Add another field (the +) — click it, then click a different element on the card (e.g. the "Website" button) to capture an extra column. Repeat for anything auto-detection missed.
- Remove any field you don't need.
Google Maps uses obfuscated class names, so the columns will be generically named — you can rename them later, but the values are what matter. Once the preview looks right, click Next.
Step 4: Wizard Step 2 — Choose How to Load More Items
The wizard asks "How should we load more items?" with three options:
- Numbered Pagination — page numbers or a Next button
- "Load More" Button — a button that appends more items
- Infinite Scroll / Single Page — items load as you scroll, or everything is already on one page
Google Maps has no next-page button, so choose Infinite Scroll / Single Page. Because you already scrolled the full list into view in Step 1, every card is in the DOM and Crawl Pilot will read them in one pass. Click Next.
For very large searches, extract in batches: scroll a chunk, run the wizard, export, then scroll further and run again — and merge the exports afterward.
Step 5: Wizard Step 3 — Review & Run
The final step shows a Summary (fields selected, items per page, page limit) and a Crawl Speed setting:
- Careful — heavy or protected sites
- Balanced — the default for most sites
- Aggressive — fast, simple pages only
For Google Maps, choose Careful. Under Advanced Settings you can see the wait delay (page limit doesn't apply in single-page mode). When you're happy, click Start Extraction. A live status bar shows the item count climbing; a Stop button is there if you need it.
Step 6: Open the Results Table and Export
When extraction finishes, click Open Results Table. This opens the full dataset — one row per business, all your columns — in Crawl Pilot's data table.
Click the Export button (top right) and choose your format:
- CSV — for Sheets/Excel
- JSON — for feeding into scripts or other tools
- Markdown — for docs or notes
(Crawl Pilot also offers Google Sheets, Webhook, Airtable, and Zapier destinations for connected workflows.)
A CSV export will look like this:
name,rating,reviews,category_address,website
Radio Coffee & Beer,4.6,(2131),Coffee shop · 3101 S 1st St,radiocoffeeandbeer.com
Houndstooth Coffee,4.5,(986),Coffee shop · 4200 N Lamar Blvd,houndstoothcoffee.com
Cuvée Coffee Bar,4.4,(1204),Coffee shop · 2000 E 6th St,cuvee.coffee
Cleaning the Output
The reviews and combined category/address columns usually need a quick pass. In Google Sheets or Python:
python
What Breaks and Why
Only 10–15 results extracted instead of 100+
You didn't scroll the full list into view before extracting. Scroll the results panel to "You've reached the end of the list.", wait 2 seconds, then re-run Step 1.
The pattern catches the wrong things
Use Highlight on page to see what matched. If it's off, remove the field and click Select on Page again on a cleaner card. The Preview Sample Data window is the fastest way to catch this before a full run.
Address and category are merged into one field
That's how Maps renders them — one text node with a · separator. Split them in post-processing rather than fighting selectors.
Website column is blank for many rows
Not every business links a website on its Maps card. Blanks are correct.
Results reshuffle or a CAPTCHA appears
Google throttled you. Stop, solve any CAPTCHA manually, wait 15–20 minutes, and space out your searches.
Frequently Asked Questions
Can I export Google Maps data as JSON, not just CSV?
Yes. On the results table, the Export dropdown offers CSV, JSON, and Markdown locally, plus Google Sheets, Webhook, Airtable, and Zapier. Pick JSON if you're piping the data into a script or another app.
Is it legal to scrape Google Maps business listings?
Extracting publicly displayed business info (names, addresses, ratings) for research or lead generation is treated differently from collecting personal data, but Google's Terms of Service do restrict automated access. Stay within reasonable volumes and consider the official Places API for commercial scale.
Can I get email addresses from Google Maps?
No — Maps doesn't display emails. But you can export the website column, then feed those URLs into Crawl Pilot's Email Extractor or Page Extractor to pull contact addresses from each business's own site.
How many businesses can I extract per search?
As many as you scroll into view — typically 60–120 before Maps stops loading more. For larger regions, break the search into neighborhoods or zip codes and merge the results.
What to Try Next
Once you have a CSV of businesses with their websites, run the Page Extractor: paste the list of website URLs and pull contact pages, services, or hours from each site in a second pass. That two-step pipeline — List Extractor for the map results, Page Extractor to enrich each business — turns a single search into a rich local dataset.
Ready to start? Install Crawl Pilot and try it on one local search first.
