Tony Wang9 min readThere Is No "Salon" Category on Google Maps. There Are 420,171 Salons.
Five obvious category searches return zero results across 3.19M US listings. And where the generic label does exist, it's a biased sample, not a small one.
Ask this dataset how many salons there are in America and the honest answer is that the question won't parse. category=salon returns zero. Not "few" — zero. The category does not exist.
There are, however, 420,171 salons. They are filed under beauty_salon (167,216), hair_salon (140,945), nail_salon (91,647), eyelash_salon (11,122), tanning_salon (9,234) and one more. Every one of those is a real category. The word you'd actually type is not.
Five obvious searches that return nothing
| What you'd query | Returns | Listings that exist | Spread across | Largest actual label |
|---|---|---|---|---|
| category=service | 0 | 1,449,469 | 477 labels | money_transfer_service (90,386) |
| category=agency | 0 | 670,019 | 91 labels | insurance_agency (160,447) |
| category=center | 0 | 483,853 | 119 labels | day_care_center (70,953) |
| category=salon | 0 | 420,171 | 6 labels | beauty_salon (167,216) |
| category=dealer | 0 | 163,038 | 118 labels | used_car_dealer (65,309) |
3,186,550 listings — 15.9% of the US map — sit behind a category name that does not exist. There is no service category despite 1.4 million service businesses across 477 labels. There is no agency despite 670,019.
Where the generic label exists, it usually isn't the answer either
The natural next assumption is that the generic label exists everywhere else and mostly works. It doesn't, and the pattern has no logic you can predict:
category=doctor gets you every doctor. category=clinic gets you 196 of 358,402 clinics. Both look equally reasonable when you type them.
Dining is the case most people will hit. restaurant returns 174,332 listings; there are 774,619 across 408 labels, because Google treats cuisine as a primary category: mexican_restaurant (81,331), fast_food_restaurant (74,404), pizza_restaurant (65,024), and a tail that runs all the way down to sukiyaki_restaurant and welsh_restaurant with one listing each.
The part that actually matters: the generic label is biased
An incomplete sample is a manageable problem — you scale it up, or you caveat it. A biased sample is a different thing, and that is what the generic label is.
| Concept | Median reviews, generic label | Median reviews, all labels | Generic ÷ concept |
|---|---|---|---|
| Dining (408 labels) | 69.7 | 208.6 | 0.33x |
| Stores (414 labels) | 1.9 | 12.2 | 0.16x |
| Contractors (54 labels) | 1.4 | 4.5 | 0.32x |
| Hotels (22 labels) | 89.5 | 266.6 | 0.34x |
| Schools (147 labels) | 0.0 | 1.8 | 0.01x |
| Bars (27 labels) | 34.9 | 40.4 | 0.86x |
A business filed as plain restaurant has a median of 69.7 reviews. Across all dining, the median is 208.6 — three times higher. Stores are worse: the generic bucket runs at a sixth of the concept median.
The mechanism is visible in the contact data. Listings labelled restaurant have no website 36.1% of the time; for fast_food_restaurant it is 8.4%, for pizza_restaurant 12.3%. Picking a specific category is itself a sign of a managed listing. A business that filled in its own profile chose "pizza restaurant." One that never touched it got the generic bucket by default.
So the generic label doesn't just under-count a sector — it selects the least-established members of it. Any average computed from it is pulled downward, and by a factor that varies by sector and that you cannot see from inside the query.
The 1.1 million listings with no category at all
The largest single bucket in the taxonomy is the empty one: 1,119,633 US listings (5.6%) carry no category. It is tempting to read that as a million businesses Google couldn't classify. It isn't.
They are almost entirely not businesses. 94.9% have no phone and 96.0% have no website, against 16.5% and 37.4% for categorized listings, and they average 1.1 reviews against 72.6. In a 300-title sample, 41% were street names — W 48th St, Wishing Hill Dr, Little Orchard St — 2% were counties, and most of the rest were neighbourhoods and landmarks: Silicon Valley, South End, Pebble Beach. Only 4,893 of the 1.12 million (0.44%) have both a phone number and five or more reviews.
The uncategorized bucket is the map's geography leaking into its business directory.
What to do about it
Three rules that follow directly from the numbers:
- Never query a single category and treat it as a sector. Enumerate the label set first. The head-noun grouping used here — exact label plus everything ending in
_<head>— takes one aggregation and is conservative enough not to contaminate. - Check whether the generic label exists at all. Five of the most natural ones don't, and a query for a non-existent category returns zero rather than an error, which is the failure mode most likely to be mistaken for a real answer.
- Don't compute sector averages from the generic bucket. It is biased low by 3x to 6x in every well-populated concept we tested. If you must use one label, say so and expect the number to understate.
What it means
A category system with 6,818 values and no salon is not badly designed; it is designed for a business filling in a profile, picking the most specific thing that describes them. It is simply not a query interface, and it behaves worst exactly where it looks most reasonable — returning a confident zero for a word that isn't in the vocabulary, and a confident, biased average for one that is.
Sources
Query the Google Maps dataset yourself
Every figure here came from live queries against Crawlora's Google Maps business dataset — 132 million listings, filterable by country, state, county, category, rating and review count. 2,000 free credits a month, no card.
Frequently asked questions
How many business categories does Google Maps have in the US?
6,818 distinct categories across 20,047,091 US listings, enumerated exactly rather than sampled. The top 100 categories cover 47.6% of listings, while 3,672 categories (53.9% of them) have 100 listings or fewer and together account for just 0.33%. A further 1,119,633 listings carry no category at all.
Why does searching category=salon return no results?
Because there is no `salon` category. There are 420,171 salons, filed under beauty_salon (167,216), hair_salon (140,945), nail_salon (91,647), eyelash_salon (11,122), tanning_salon (9,234) and one more. Four other obvious heads behave the same way: service, agency, center and dealer all return zero while 1,449,469, 670,019, 483,853 and 163,038 listings respectively sit under their specific siblings. The five combine for 3,186,550 listings unreachable by the obvious query.
Does category=restaurant find all restaurants on Google Maps?
No — it finds 22.5% of them. There are 774,619 US listings across 408 dining labels, because Google treats cuisine as a primary category: mexican_restaurant (81,331), fast_food_restaurant (74,404), pizza_restaurant (65,024) and a tail reaching sukiyaki_restaurant and welsh_restaurant with one listing each. The plain `restaurant` label returns 174,332.
Is the generic category label a representative sample of its sector?
No, it is biased low. Listings labelled plainly `restaurant` have a median of 69.7 reviews against 208.6 across all dining labels. Stores run at 0.16x the concept median, contractors 0.32x, hotels 0.34x, schools 0.01x. The mechanism is visible in contact data: `restaurant` listings lack a website 36.1% of the time versus 8.4% for fast_food_restaurant. Choosing a specific category is itself a sign of a managed listing, so the generic bucket collects the least-established members of a sector.
What are the Google Maps listings with no category?
Overwhelmingly not businesses. The 1,119,633 uncategorized US listings have no phone 94.9% of the time and no website 96.0% of the time, against 16.5% and 37.4% for categorized listings, and average 1.1 reviews against 72.6. In a 300-title sample, 41% were street names and 2% were counties, with most of the remainder neighbourhoods and landmarks. Only 4,893 of the 1.12 million have both a phone and five or more reviews.
How should you query a sector in Google Maps data?
Enumerate the label set before querying, rather than trusting one category name. Grouping by head noun — the exact label plus every label ending in _<head> — takes one aggregation and avoids substring contamination, which is a real hazard: matching on 'law' also catches lawn_care_service, and 'dent' catches student_dormitory. Then check whether the generic label exists at all, since a query for a non-existent category returns zero rather than an error.