Export Google Business Profile Data to Excel and Google Sheets: The Exact Workflow
You can move Google Business Profile data into Excel or Google Sheets in one pass. Run a Maps search with the GoLeads Pro extension, export CSV or XLSX, open the file in Excel or import it into Sheets, set the phone column to text, remove duplicates, and keep only the columns you will call or email from.
I used to copy listings by hand. I opened a result, copied the name, switched to a sheet, pasted it, and went back for the phone number. A list of 40 businesses ate most of an afternoon. Typos crept in each time I switched windows, and I found them only when a call failed.
The workflow below replaced that mess. Say you search dentists in Miami. By the end of this post that search becomes a sheet you can call from, with phone numbers intact and thin rows kept out of the calling list.
What actually lands in the export file?
Expect one row per business and one column per fact. The header row is the first thing I read. A missing column gets fixed at the search or export stage. Filling gaps by hand later wastes the time the export just saved.
| Export column | What it holds | How I use it in the sheet |
|---|---|---|
| Business name | The listing name as shown on Maps | Sort and search column |
| Category | The main Maps category for the listing | Filter for one service type at a time |
| Address | Street, city, and postcode where listed | Route planning and area filter |
| Phone | The phone number shown on the listing | Calling column, kept as text |
| Website | The business website from the listing | Source for email checks and research |
| Public email found on the business site where present | Outreach column, never guessed | |
| Rating | Star rating shown on Maps | Quality filter, high to low |
| Review count | Number of reviews on the listing | Second quality filter beside rating |
| Maps link | Link back to the listing | One click check when a row looks off |
Blank email cells are normal. An email appears only when a business publishes one on its own site. A blank cell means the business never published one, and I leave it blank rather than guessing an address that will bounce.
The search step itself sits in the general guide at How to Extract Leads from Google Maps, and the wider export picture sits at Export Google My Business Data.
Start with a search you can defend
Broad searches pull in businesses I will never call. Narrow searches miss half the street. One service and one place gives a list I can stand behind, and I scan the first page of results before I export anything. A mixed result set means the search term needs tightening first.
- Open Google Maps and type one service plus one city or neighbourhood.
- Scan the results for wrong categories and adjust the search term if the mix is off.
- Open the GoLeads Pro extension from the Maps results page and start the extraction.
- Wait for the run to finish and check the row count against what Maps showed.
- Export the results as CSV for Sheets work or XLSX for Excel work.
- Save the file with the search term and date in the name, so you can find it again.
I check the row count before anything else. A count that sits far below what Maps showed tells me the run stopped early, and I would rather rerun than call from a half finished file.

Excel will eat your leading zeros unless you stop it
Excel damage is quiet. You double click a CSV, Excel reads a phone number as a number, the leading zero drops, and you learn about it from a failed call. My rule now is simple: CSV files go through the import wizard, never through a double click.
From the Data tab I choose Get Data, then From Text or CSV, then Transform Data. On that screen I set the phone column to text. Postcodes that start with a zero get the same treatment. Then I load the data to a table. An XLSX export opens directly, and I still check the phone column format before I sort or filter.
Two columns go at the right edge before anyone calls: Contacted and Notes. Contacted holds a date or stays blank. Notes holds one short line, such as called with no answer, or asked for an email follow up. Those two columns turn a raw export into a working list.
The Google Sheets route is shorter
Sheets needs fewer clicks. I open a blank sheet, choose File, then Import, then Upload, and pick the CSV file. On the import screen I choose Replace current sheet for a fresh import, and I check the separator setting on that same screen. A comma separator is the normal choice. A wrong separator turns a whole row into one long cell, and that fault looks strange until you spot it.
After import I freeze the header row, turn on the filter, and set the phone column format to Plain text. Then I read the first few phone numbers out loud, slowly. A lost leading zero at this point means a reimport with the column set to text, not a patch job one number at a time.
Sheets wins when a team shares the list, since two people can work the same sheet without passing files back and forth. Excel wins when you work alone and want the file on your own machine.
A cleaning order you can copy straight into your workflow
Cleaning takes about ten minutes, and it decides whether the list is usable. Maps shows the same business under a slightly different name sometimes, and a business near an area edge can appear in two searches. Phone sort catches duplicates that a name sort misses.
- Format phone and postcode as text, then read the first and last rows of each column.
- Sort by phone, remove exact duplicates, then sort by name and scan for near matches.
- Move rows with no phone and no email to a research tab when a website is present.
- Keep a dated copy of the raw export before you delete or merge any row.
- Clear any email that did not come from a public page, and leave the cell blank.
- Fill the Contacted and Notes columns before the first call, not after.
That raw copy matters. Cleaning runs one way. Once rows are merged and columns are deleted, memory will not rebuild the original file. My dated copy sits in a separate folder, untouched, and every working copy traces back to it.
Rows with a website and no phone or email stay on the research tab. I open the site, look for a contact page, add what I find by hand, and note the date. A row moves to the main list only once it has a way to reach the business. The guide to finding those addresses sits at How to Find Emails From Google Maps.
Worked example: dentists in Miami, start to finish
Say you search dentists in Miami. You scan the first page, spot two listings that belong to a different trade, and tighten the term until the set reads as dentists only. Then you run the extension, watch the row count, and export CSV.
The file goes into Sheets through File, Import, Upload, Replace current sheet, and a comma separator. I freeze the header row, turn on the filter, and set phone to Plain text. You read the first few numbers, and they hold their shape. Sorting by phone turns up two rows sharing one number, and a name scan shows the same clinic listed with a shortened name on the second row. One row goes, the notes from both rows land in the surviving row.
Next comes calling order. Rating and review count set the order, highest rated and most reviewed first, then down the list. Contacted gets a date after each call, Notes gets one line about what happened. By evening the sheet holds a call history, and the next morning starts with the next uncalled row.
What goes wrong most often, and the fix that held for me
Phone numbers lose leading zeros. The fix sits at import, in the text format setting, and patching numbers after import invites fresh typos. I learned to treat any post import phone fix as a sign to reimport instead.
Rows duplicate across two searches. The fix is a phone sort plus a name scan before the first call, while the list is still small enough to read. Calling a business twice from two rows wastes goodwill that a ten minute check would have saved.
Emails go missing. The fix is a check of the business website, because a missing email usually means the business never published one. Chasing a missing email as though the export failed burns an afternoon for nothing.
One fault stays quieter than the rest. People export, clean, and edit a sheet for a week without saving a copy. My fix is a dated copy after cleaning, with the word working in the working copy name. When an edit goes wrong, I reload from the dated copy and lose an hour.
A sheet you can call from beats a sheet that only looks full.
When this workflow is the wrong tool
Some jobs need more than a sheet. A list that must stay in sync with a CRM every day will drift the moment someone edits the sheet and forgets the CRM, or the other way round. For those jobs, a CRM import from the same export file fits better, and the vendor mapping covers HubSpot, Salesforce, Apollo, Pipedrive, and Zoho, per the vendor.
JSON belongs in a different corner. It suits a script or a dashboard tool that reads structured data. For Excel or Sheets work, CSV or XLSX is the right pick. I keep a CSV copy beside any JSON handoff, so a human can read the file without opening a code editor.
Cost stays plain here. GoLeads Pro reports a free tier of 50 leads a day, up to 300 leads in total, with no credit card required, and that figure is vendor reported. Zapier and Make sit on higher tiers, per the vendor. Check the current plan page before you plan a large run. The free tools roundup at Free Lead Scrapers for Google Maps sets out what free options cover before you pay.
Frequently asked questions
Can I export Google Business Profile data straight to Excel?
Yes, with one step in between. You run the Maps search, export the results as CSV or XLSX, and open the file in Excel. Use the import wizard for a CSV and set the phone column to text, so Excel keeps leading zeros intact. An XLSX export opens directly, and you should still check the phone format before you sort, filter, or start calling.
Can I export to Google Sheets without a paid tool?
You can import a CSV into Google Sheets at no extra cost inside Sheets itself, once you have the CSV file. Open a blank sheet, choose File, then Import, upload the CSV, and replace the current sheet. Set the phone column to Plain text after import and freeze the header row. The export step that creates the CSV is where a tool like GoLeads Pro sits.
Why do my phone numbers lose their leading zero in Excel?
Excel reads a phone number as a numeric value by default, and a numeric value has no leading zero to keep. The fix sits at import time. Open the CSV through Data, then Get Data, then From Text or CSV, set the phone column to text, and load the data. Fixing numbers after import means retyping them, and that retyping invites fresh typos.
What is the difference between CSV, XLSX, and JSON exports?
CSV is a plain text file with commas between fields, and it opens in Excel, Sheets, and most other tools. XLSX is the native Excel workbook format, with formatting and multiple sheets available. JSON is structured data for scripts, databases, and dashboard tools. Pick CSV or XLSX for human work in a sheet, and JSON when another system will read the file.
How many leads can I export for free with GoLeads Pro?
GoLeads Pro reports a free tier of 50 leads a day, up to 300 leads in total, with no credit card required, and that figure is vendor reported. Exports cover CSV, XLSX, and JSON, mapped for HubSpot, Salesforce, Apollo, Pipedrive, and Zoho, per the vendor. Zapier and Make sit on higher tiers. Check the current plan page before you plan a large run around the free limit.
Can I keep the same sheet updated when I run a new search?
Yes, if you plan the columns first. I keep the same header row across runs, paste the new rows below the old ones, and sort by phone to catch repeats before I call anyone. The search date goes on each batch, so I can trace a row back to its run. Old notes stay untouched, because those notes hold call history I still need.
Should I split the address into separate columns?
I split it only when a mail merge or a route plan needs the parts apart. I add street, city, and postcode columns, fill them from the full address, and keep the full address column in place until I have checked the split. A bad split sends mail to the wrong street, so I scan the first and last rows of each new column before I trust the rest.
What do I do when a row has a website but no phone or email?
I keep the row on a research tab and open the website to look for a contact page. Many small businesses list a phone number on their site even when Maps shows none. I add what I find by hand, note the date I found it, and move the row to the main list only when it has a way to reach the business.
Run your next search, export it, and put the sheet to work the same day. Get the GoLeads Pro extension and start with the free tier.