Why a Google Maps search isn't competitor analysis
Open Google Maps, search your category, and you get a list biased by whatever pin the map happens to be centered on and capped well short of the full count in the area. It's fine for finding the nearest option as a customer. It's a poor basis for a business decision, because you never see the full competitive set, only the slice closest to wherever you last scrolled.
Searching the same category across every city or neighborhood in your target area fixes both problems. You get the listings for the whole area instead of the nearest dozen, with exact ratings and review counts in columns you can sort and average.
Five signals: count, rating, reviews, price, website
Count: how crowded the category really is
Search a category on Google Maps by hand and you see the dozen listings closest to the pin you happen to be looking at. Search the same category across every neighborhood or city in your area and you get a far fuller count, because Maps' on-screen results are capped and centered on where you're looking.
Rating: the exact number, in a column
Google shows each listing's rating in the results panel, but you can't sort or average it there. In a spreadsheet, the exact numbers (4.1 against 4.4) let you compute a real category average instead of eyeballing a row of near-identical stars.
Review count: a rough proxy for volume
A business with 400 reviews at 4.2 stars is probably serving more customers than one with 12 reviews at 4.9. Review count alone tells you which competitors are established and which are new. Paired with rating, it tells you which established competitors are vulnerable.
Price level: where the category sits
Google's $ to $$$$ indicator isn't shown for every listing, but where it is present it's the quickest way to see whether a market is bunched at one price point (room to open premium or budget) or already spread across the full range.
Website and hours: how much the owner manages the listing
Whether a listing has a website at all, and whether its hours are filled in, both show how much attention the owner gives their online presence. That's a different axis from rating or review count, and often the one nobody on the sales or expansion side is tracking.
Build the dataset in five steps, with no filters
Define the category exactly
Pick the Google Maps category name your competitors would be found under: "Personal injury attorney" rather than "Lawyer", "Boxing gym" rather than "Gym". A category that's too broad pulls in businesses that aren't really your competition and drags every average toward the middle.
Set the geography to match how customers actually choose
A coffee shop's competitive set is a few blocks. A B2B software reseller's might be a whole metro or state. Pick cities or a radius that match how a customer in that category picks between options. Too wide, and you're benchmarking against businesses nobody compares.
Run the scrape with no filters first
Filtering by minimum rating or review count is for lead generation, where you only want the strong signals. For competitor analysis you want the full population, including the 3.2-star listings and the ones with barely any reviews: they're part of the real distribution you're benchmarking against.
Export everything, then filter in a spreadsheet
Download as CSV or XLSX with every field the plan allows. Filtering after export, rather than during the search, means you can slice the same dataset several ways (by sub-category, by price level, by neighborhood) without running it again.
Re-run it later to catch new entrants
Every row carries a scraped-at timestamp, and a second scrape a month or a quarter later returns only listings your account hasn't received before, so new entrants arrive as their own dated file. On the Scale plan, scheduled recurring scrapes can run it for you.
Three calculations do most of the reading
Once the export is in a spreadsheet, three simple calculations do most of the work:
- Category average rating and its spread. The average tells you the bar; the spread tells you whether it's a tight cluster (hard to stand out on rating alone) or wide (a clear top and bottom tier).
- Review-count percentile. Sort by review count and find where you (or a specific competitor) sit. Being in the top quartile on review count with a below-average rating is a specific, fixable problem: high volume, weak experience.
- Website and hours completion rate. What share of the category has no website field at all, or blank hours? That percentage is a rough read on how much of the category leaves its online presence alone. It's useful context for the business being compared and for a vendor selling into the category.
Four mistakes that wreck the comparison
Comparing across mismatched sub-categories+
"Restaurant" lumps fast food in with fine dining. "Contractor" lumps a one-person handyman in with a 40-person general contractor. Pull the specific sub-category Google Maps assigns (the by-industry guide linked below has the category names for common verticals), or every average you compute compares businesses that were never competing with each other.
Treating review count as market share+
Review counts build up over the life of a listing. A ten-year-old business with 600 reviews isn't necessarily outselling a two-year-old one with 150, because it's had five times as long to collect them. Weigh review count against how long the listing has plausibly existed before you rank on it.
Letting temporarily-closed listings inflate the count+
A raw category count includes businesses Google still lists as temporarily closed (the field comes with Growth and up). Filter those out, or report them separately as a churn signal, before you calculate density or averages, or a category that looks crowded may have real vacancy in it.
Expecting a second scrape to show what changed+
A single snapshot tells you where things stand today, dated by the scraped-at timestamp on every row. A later scrape returns only listings your account hasn't received before: a clean list of new entrants, without rating changes or reopenings among the listings you already have. For those, revisit the Google Maps URLs in your first export.
Three decisions the data can make
The dataset is only useful once it points at a specific decision. Three come up most often:
Where to open or expand
Run the same category across several candidate cities or zip areas and compare count, average rating, and price-level spread side by side. A city with a low count and a below-average category rating is a materially different opportunity than one that's dense and already rated 4.6 on average.
What to fix about your own listing
Find your own row in the export and see exactly where it sits against the category on rating, review count, and whether your hours and website fields are filled in. The gaps you score competitors on apply to your own listing too.
Who to target if you sell into the category
If you sell software, marketing, or services to a vertical, the same columns that flag competitive weakness (no website, a low rating for the category, a thin review count for the listing's apparent age) flag your best-fit prospects. It's the same dataset read from the other side.
The fields that matter for competitor analysis
The fields that matter most for this kind of analysis:
Free plan exports 13 core fields in CSV; Starter adds website, domain and plus code (16 fields) and XLSX. Growth ($49/mo) and above include all 23 fields, JSON export and webhooks. The REST API, for automating a recurring comparison run, comes with every plan.
Map your competitive set today
50 free leads on the Free plan. No card needed.
Get 50 free leads →