All articles

How to export Google Maps results to Excel, CSV or Google Sheets

Google Maps has no export button. The manual options (saved lists, Google Takeout), the tools, the columns to keep, and Sheets formulas to clean and dedupe.

The Leadraft teamLeadraft
Published
Read time
7 min
Category
Guide

Google Maps has no button that exports search results to Excel, CSV or Google Sheets. You have three routes: save places to a list and download it with Google Takeout (you only get the name, your note and a Maps link), copy results into a sheet by hand, or use a tool that reads the results and exports a full CSV or Excel file. Whichever route you take, clean the file the same way: dedupe on the place ID, split the address, drop closed and out-of-area businesses, and keep a short set of useful columns.

Can I export Google Maps results without a tool?#

Yes, but only in a limited form. The two manual options are saved lists exported through Google Takeout, and copying by hand.

Option 1: Saved lists and Google Takeout#

You can save places to a list in Google Maps and download your lists through Google Takeout. Google's help page gives the steps (Google Maps Help):

  1. In Google Maps, open each business and tap Save, then pick or create a list (for example, "Tulsa plumbers").
  2. Go to takeout.google.com.
  3. Click Deselect all, then check Saved.
  4. Click Next step, choose the delivery method and file type, and click Create export.
  5. Unzip the download. Each list is a separate CSV file in a folder called Saved.

What you actually get: users report that each CSV has four columns, Title, Note, URL and Comment (ruk.ca). There's no address, phone, website, category or coordinates. The same source reports that starred places come out separately, as a GeoJSON file in the Maps (your places) export. Google doesn't document the exact columns, and the report is from 2019, so check your own export.

That's fine for a short personal list. For leads, you'd still have to open every Maps link to copy the phone and website, and saving places one by one doesn't scale past a few dozen.

Option 2: Copy by hand#

For under 50 businesses, copying is honestly the fastest:

  1. Make a sheet with the columns in the table below.
  2. Search Google Maps, open each result, and copy name, phone, website and address.
  3. Paste the listing's URL too. It contains the place's coordinates and identifies the listing, which helps with duplicates later.

What tools export Google Maps results to CSV or Excel?#

Most Google Maps tools export CSV and Excel. They differ in how much of the area they cover and whether they add emails.

Scroll horizontally if needed →

Tool typeExport formatsCovers past ~120 per search?Emails
Generic table extension (e.g. Instant Data Scraper)CSV, XLSXNo, only what you scrollNo
Maps-specific extension (e.g. G Maps Extractor)CSV, XLSXPer search, by handLimited
Cloud scraper or API (e.g. Apify, Outscraper)CSV, XLSX, JSONIf configured to split the areaAdd-on
Places API to Sheets (Apps Script or code)Sheets, CSVOnly if you tile; 60 per queryNo
Lead tool (e.g. Leadraft)CSV, XLSX, Google Sheets feed, CRM pushYes, if it tilesUsually included

Two warnings. A single search, exported by any tool, still stops at about 120 results, which is why lists from one search look complete and aren't (why the 120 cap happens). And Google's terms restrict exporting Maps content; read our legal guide before you build lists at scale.

One Google Maps search versus a tiled search of the same areaLeft: a single search returns results bunched around the middle of the area and stops. Right: the area split into a grid of tiles, each searched separately, finds businesses across the whole area, including the edges. In one measured run, a single search found 230 coffee shops in Portland and the tiled search found 457.One searchSame area, searched tile by tileResults stop, bunched in the middleEvery tile searched, edges included
One search stops after a few hundred results, mostly near the middle. Searching the area tile by tile reaches the edges. Measured once: Portland coffee shops, 230 from one search vs 457 tiled (measured on one city and one keyword.)

Which columns should I keep?#

Keep the columns you'll filter, personalize or dedupe on, and drop the rest. This is a good default for a lead list:

Scroll horizontally if needed →

ColumnWhy keep it
place_id (or Maps URL)The only reliable key for deduping and for updating rows later
name
categoryFilter out the wrong trade; segment the message
address, city, state, zipSplit, so you can filter by place
lat, lngCheck a business is inside your area
phoneNormalized to digits for matching
websiteWhere emails come from
domainDerived from the website; dedupes chains and matches emails
rating, reviewsSegment by reputation or size
statusDrop permanently closed businesses
email, email_status, email_sourceIf you add emails: the address, its grade (Verified, Accept-all, Invalid) and the page it came from

If you're importing into a sequencer like Instantly or Smartlead, map name to company, email to email, and city and category to custom variables for your first line. Our guide to building a local lead list covers how to use those fields well.

How do I clean a Google Maps export?#

Clean it in this order. Each step removes rows that would waste credits or damage your sending reputation.

  1. Remove duplicates by place ID (or Maps URL), not by name.
  2. Remove permanently closed businesses.
  3. Drop businesses outside your area, by ZIP code or coordinates.
  4. Drop the wrong trade by checking the category column, not the keyword that found the row.
  5. Normalize phones and websites so the same business matches across files.
  6. Flag emails on free providers (Gmail, Yahoo) and emails whose domain doesn't match the website. Some are fine; many are the web designer's address.
  7. Verify every email before you send, and treat catch-all results as a maybe. See catch-all emails explained.

What Google Sheets formulas help clean the data?#

These formulas assume your data starts in row 2 with place_id in column A, name in B, website in C, phone in D, email in E and zip in F. Adjust the letters to match your sheet.

Flag duplicates so you can review them before deleting (in a helper column, filled down):

=IF(COUNTIF($A$2:A2, A2) > 1, "duplicate", "")

Keep one row per place ID in a new tab. SORTN with tie mode 2 returns the first row for each distinct value in the sort column:

=SORTN(Sheet1!A2:H, 9^9, 2, 1, TRUE)

Count unique businesses:

=COUNTUNIQUE(A2:A)

Extract the domain from the website (lowercase, without www.):

=IFERROR(REGEXEXTRACT(LOWER(C2), "^(?:https?://)?(?:www\.)?([^/?#:]+)"), "")

Normalize a phone number to digits only:

=REGEXREPLACE(D2, "[^0-9]", "")

Flag free-mail addresses:

=REGEXMATCH(LOWER(E2), "@(gmail|yahoo|hotmail|outlook|aol|icloud)\.com$")

Check the email is on the business's own domain (assuming the domain formula is in column G):

=IF(E2 = "", "", IF(REGEXEXTRACT(LOWER(E2), "@(.+)$") = G2, "own domain", "check"))

Keep only rows in your ZIP codes, with your list of ZIPs in a tab called Zips, column A:

=FILTER(A2:H, COUNTIF(Zips!A:A, F2:F) > 0)

And in Excel?#

Excel has equivalents. Use Data > Remove Duplicates and tick only the place ID column, or =UNIQUE() in Microsoft 365. For the domain, =TEXTBEFORE(TEXTAFTER(C2, "//", 1, , , C2) & "/", "/") returns the host part of a URL, and you can strip www. with SUBSTITUTE. Excel's COUNTIF duplicate flag works exactly as above.

How do I keep the sheet up to date?#

Exports go stale. Businesses close, change phone numbers and open every month. Three habits help:

  • Keep the place ID in every row, so a fresh export can be matched against the old one.
  • Re-run the same searches monthly or quarterly, and only add businesses whose place ID is new.
  • Keep a suppression tab of businesses that asked not to be contacted, and check every new export against it with COUNTIF.

Leadraft's monitors do the second step automatically and deliver only the new businesses. Its exports can also push to Instantly, Smartlead, lemlist and HubSpot if you'd rather skip the spreadsheet.

FAQ#

Can you export Google Maps search results to Excel?#

Not directly. Google Maps has no button to export a list of search results. You can save places to a list and download it with Google Takeout, copy results by hand, or use a tool that reads the results and exports a CSV or Excel file.

What does Google Takeout export for saved places?#

Takeout's Saved option exports each of your lists as a CSV file. Users report the columns are Title, Note, URL and Comment: no address, phone, website or coordinates. Starred places are a separate export.

How do I remove duplicate businesses in Google Sheets?#

Dedupe on the Google place ID or Maps URL, not the business name. In Google Sheets, SORTN with tie mode 2 keeps one row per value in the column you choose, and COUNTIF can flag repeats so you can review them first.

Which columns should I keep when exporting Google Maps data?#

Keep the place ID, name, primary category, address split into city, state and ZIP, latitude and longitude, phone, website, rating, review count and business status. Add email, email status and email source if you find emails on the business websites.

Not from one search. Google Maps stops at about 120 results per search, so you have to search smaller areas and keyword variants, export each, and merge and dedupe the files.

Sources#

  1. Google Maps Help, Create a list of places (Export your saved lists with Google Takeout).
  2. Peter Rukavina, Google Maps warning: "Want to go" and "Starred places" are not the same (Takeout Saved CSV columns: Title, Note, URL, Comment), June 25, 2019.
  3. Google Docs Editors Help, SORTN function and REGEXEXTRACT function.
  4. Apify, Google Places API limits (about 120 listings per Maps search), September 23, 2025.
  5. Google, Google Maps Platform Terms of Service §3.2.3 and Google Maps End User Additional Terms.