← Blog

List of Local Businesses: How to Make One for Any Town

Directories only show who joined. Here's how to make your own list of local businesses for any town, with phone, website and reviews: 142 Boise coffee shops.

One way to use Local Lead Finder. Local Lead Finder is a $10 Google Sheets template I built that turns any Google Maps search into a lead list: every business, with phone, website, rating and reviews. This post is one use case for it: making a list of local businesses for any town, in any category. Other ways to use it are listed at the end, or see all 18 lead generation ideas.

You need a list of local businesses. Maybe you sell to them, maybe you’re opening one and want to know who’s already there, maybe you’re looking for sponsors. Search “list of local businesses” and page 1 is directories: a West Denver nonprofit’s small business directory, Yelp’s “Top 10 Best Local Businesses” pages for Greensboro, Tampa and North Las Vegas, a shop local directory, a maker brand directory. They’re made for shoppers, and they only show the businesses that joined or got picked. The other option is buying a list, which is made once and sold to everyone who buys it.

So here’s how I’d make my own instead, for any town and any kind of business. I ran it for real with Local Lead Finder, a $10 Google Sheet I built that pulls every business on Google Maps into a spreadsheet. The worked example is 142 coffee shops in the Boise area, sorted by town. The same steps gave me 325 hair salons in Chattanooga, 255 property managers in Minneapolis, 225 dentists in Spokane and 98 plumbers in Boise.

TL;DR

  • One “coffee shop” search across 42 Boise areas made a list of 142 local businesses, each with phone, address, rating, reviews and website.
  • It works one keyword at a time, and one search stops at 20, so the sheet searches every neighborhood in your town.
  • Check odd neighborhood names before you use the list: the Basque Block search pulled in a market, a chorizo shop and a bar.

Who this is for

  • B2B sales rep with a local territory: you get every business of one type in your territory in one tab, with phone numbers.
  • Web designer: the website column shows which local businesses list no website on Google.
  • Wholesaler or supplier: you get every possible buyer in your delivery area, sorted by town.
  • Someone opening a local business: you get your competition in one list, with ratings and review counts.
  • Event organizer or nonprofit looking for sponsors: you get every business in town that might put its name on your banner.

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.

Three places a list of local businesses comes from

A directory. Chamber of commerce member lists, city and nonprofit directories, Yelp, shop local sites. They’re free to look at. They list the businesses that joined, paid, or got reviewed enough to make a “Top 10”, and you read them one page at a time. Good for finding a place to eat. Hard to call down.

A bought list. A bought list is made once and sold to everyone, so it goes stale, and every business on it has already been pitched by the last buyer. You also can’t see how it was made, so you don’t know what’s missing.

Google Maps. Most local businesses keep their own Google listing up to date: phone, hours, website. That’s the best source. The catch is that one Maps search shows you about 20 and stops. You can’t sort it, and you can’t save it as a list.

Local Lead Finder takes the third one and fixes the catch. It uses Google’s official Places API with your own key, runs one search for every neighborhood in your town, removes duplicates, and writes everything to a tab you can sort. (If you’ve been looking at scrapers for this, I compared them in Free Google Maps Scraper in Google Sheets (That Doesn’t Scrape).)

Worked example: a list of local businesses in Boise

I picked coffee shops because every town has them. Region: Boise, Idaho. Find Areas turned that into 42 areas: Boise, Meridian, Eagle, Garden City and Kuna, plus Boise neighborhoods like the North End, Depot Bench and the Basque Block.

Then Find Leads > Search in All AREAS, with “coffee shop” as the keyword. Before it runs, the sheet tells you how many Google requests it’s about to make:

Start this search? "coffee shop" across 42 areas, up to 42 Google Places requests and about 840 businesses

42 areas, one request each. That’s well inside the up to 1,000 free searches Google gives you a month.

142 coffee shops came back, each on its own row:

The coffee shop results: name, phone, address, rating, number of reviews and website

Every row has the name, phone, full address, Google rating, number of reviews, website, a Google Maps link and a WhatsApp link, plus the area that found it. (I hid a few columns for the screenshot.)

Sort your list by town

A list of businesses “in Boise” is really a list of businesses in Boise, Meridian, Eagle and the rest. If you deliver, drive, or knock on doors, you want it by town. I pulled the town out of each address with one formula:

=QUERY({ARRAYFORMULA(REGEXEXTRACT('coffee shop (AREAS)'!C2:C143,"([^,]+), [A-Z]{2} \d{5}"))},"select Col1, count(Col1) group by Col1 order by count(Col1) desc")

Summary: 142 places, 42 areas, 30 areas added a new place, 21 no phone, 15 no website, 4.59 average rating, 170 median reviews. By town: Boise 88, Meridian 19, Eagle 15, Garden City 13, Kuna 6, Riggins 1

  • 88 of the 142 are in Boise itself. Meridian has 19, Eagle 15, Garden City 13, Kuna 6.
  • 21 have no phone number on Google and 15 have no website.
  • The average rating is 4.59 and the median shop has 170 reviews.

Swap “coffee shop” for whatever you need and change the tab name in the formula. That’s the whole method.

Why one search isn’t a list

Here’s why the sheet bothers with 42 areas. The “Boise” search on its own added 20 coffee shops, exactly one page of Google results. That’s the ceiling for one search. The other 122 came from the neighborhood and suburb searches, and 30 of the 42 areas added at least one shop nobody else had found.

The same thing happened with plumbers: Google Maps showed me 20 for “plumber in Boise, ID”, and the sheet found 98 (the full comparison is here). A list of local businesses built from one search is a list of the top 20.

The same steps work for any kind of business

I’ve run this for other kinds of businesses in other towns. Same steps each time, only the keyword and region change:

  • Hair salons, Chattanooga: 325 salons from 73 areas.
  • Property management companies, Minneapolis: 255 from 87 areas.
  • Dentists, Spokane: 225 from 59 areas.
  • Plumbers, Boise: 98 from 42 areas.
  • Coffee shops, Boise: 142 from 42 areas.

What’s in each list is different, and that’s the useful part. Here’s how many list no website on Google, by industry:

No website listed, by industry: hair salons Chattanooga 131 of 325 (40%), coffee shops Boise 15 of 142 (11%), plumbers Boise 16 of 98 (16%), dentists Spokane 15 of 225 (7%)

40% of the Chattanooga salons list no website. Only 7% of the Spokane dentists do. Same sheet, same columns, very different lists. The count is one formula:

=COUNTIFS('hair salon (AREAS)'!A2:A,"<>",'hair salon (AREAS)'!I2:I,"")

Clean your list before you use it

Searching by neighborhood name has one side effect: some neighborhood names are also the names of places.

  • Basque Block added 11 rows. Some were downtown coffee shops. Others were the Basque Market, a chorizo shop, the Basque Center and Bar Gernika.
  • Two Rivers / Banbury found Two Rivers Coffee Roasters, which is in Riggins, nowhere near Boise. That’s the one Riggins row in the town table.
  • Chains barely showed up. The list had one Starbucks for the whole Boise area, which is obviously not true. If you need every location of a chain, search the chain’s name as its own keyword.

Sort by the Area column, look at the few areas with odd names, and delete what doesn’t belong.

What to do with the list

  • Work it as a call list. Every row has a phone number if the business lists one. Mark a row with Find Leads > 3. Outreached and it turns green, copies to the OUTREACH tab, and stays green in every future search. If you want status and next-step columns on top of that, I set that up in Google Sheets CRM for Leads: Pipeline, Follow-Ups, No Repeats.
  • Add another kind of business. Every search makes its own tab, so run “bakery” or “florist” next on the same areas.
  • Export it. File > Download gives you a CSV or Excel file for your CRM or a VA.

Step by step

  1. Get a free Google Places API key (how) and set up Local Lead Finder (about 5 minutes).
  2. Type your town or region into SETTINGS and run Find Areas. Boise, Idaho gave me 42 areas.
  3. Untick any areas you don’t need.
  4. Run Search in All AREAS with one kind of business as the keyword, like “coffee shop”.
  5. Check the request count in the “Start this search?” box, then start it. The first run asks you to authorize the script.
  6. Sort the new tab by Area and delete rows from odd area names.
  7. Add a town column with the QUERY above if you want the list by town.
  8. Mark each business Outreached as you contact it, and run the next keyword when you’re ready.

Common pitfalls

  • Searching only your town’s name: “coffee shop” in plain Boise stopped at 20. The neighborhoods and suburbs found the other 122.
  • Searching before Find Areas finishes: it keeps working in the background. Wait for the AREAS tab to fill before you search.
  • Trusting neighborhood names: Basque Block added 11 rows, including a market, a chorizo shop and a bar. Sort by Area and check the odd ones.
  • Keeping rows from outside your area: Two Rivers Coffee Roasters is in Riggins. Check the town column.
  • Reading no website as no business: an empty Website cell means nothing is listed on Google. Search the name before you pitch a site.
  • Planning to call everyone: 21 of the 142 coffee shops have no phone on Google. Those need a walk-in.
  • Running a huge region without checking the cost: each area is one Places API request per results page. The sheet shows the most a search could cost before it runs.

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 do I get a list of businesses in my area?

Type your town into Find Areas, then search one kind of business in all areas. For Boise that was 42 areas and 142 coffee shops, each with phone, address, rating, reviews and website.

Is there a free list of local businesses?

Directories and Yelp are free to browse, but they only show who joined or got picked, one page at a time. The sheet is $10, and searches run on your own Google key, which comes with up to 1,000 free searches a month.

Is buying a list of local businesses worth it?

A bought list is made once and sold to everyone, so it goes stale and every business on it has already been pitched. A list you make from Google Maps is made the moment you search, from listings the businesses keep up to date themselves.

Can I get every business in a town, not just one type?

The sheet works one keyword at a time, and each keyword gets its own tab. Run the kinds of businesses you care about one after another on the same areas.

Does the list include email addresses?

No. You get phone numbers and websites. Most local businesses list a contact email on their website.

Can I export the list to Excel or CSV?

Yes. Each search makes its own tab, and File > Download gives you a CSV or Excel file.

What does it cost?

The sheet is $10, and free for Better Sheets lifetime members. Each area is one request per results page, so the Boise coffee shop list was 42 requests, and the sheet shows the most a search could cost before it runs.

Is Local Lead Finder a scraper?

No. It uses Google’s official Places API with your own key.

Get the sheet

Local Lead Finder is $10, and free for Better Sheets lifetime members. Pick a town, type a kind of business, and you get the list.

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.