Back to blog
Guides & How-tos2026-03-01·10 min read

How Many Leads Does Google Maps Hide From You?

By Ibrahim DemolCEO IBLeadUpdated March 14, 2026

You think you've scraped all the Google Maps results for your area? You probably haven't. The Google Maps 120-result limit doesn't just hide a few extra listings -- it hides nearly the entire market. And that gap has a direct cost on your prospecting.

This article puts concrete numbers on what this limit costs you. If you want the technical explanation of why this limit exists and how to work around it, read our complete guide to the 120-result limit. Here, we're talking business impact.

The numbers that hurt: what Google Maps is actually hiding from you

Google Maps is the world's largest local business database, with over 200 million listings. But when you run a search, you only see a tiny fraction. Here's what that looks like in practice:

SearchResults shownActual businessesCoverage rate
Restaurant Paris120~15,0000.8%
Plumber Lyon120~1,20010%
Dentist Marseille120~80015%
Hair salon Toulouse120~95012.6%
Bakery Bordeaux120~60020%
Lawyer Paris120~4,5002.7%
Electrician Ile-de-France120~3,8003.2%

Even in the best case (bakery in Bordeaux), you only recover 20% of results. In the worst case (restaurant in Paris), 99.2% of businesses are invisible to you.

And this isn't a problem limited to major cities. Toulouse, Bordeaux, Nantes -- as soon as a category exceeds 120 businesses in a zone, you're affected. For any local B2B prospecting effort that aims to be exhaustive, this is a massive blind spot.

The multiplier effect across categories

The problem compounds when you target multiple categories. Imagine a web agency looking for clients across the entire Ile-de-France region:

CategoryStandard scrapingRealityBusinesses missed
Restaurants120~45,00044,880
Hair salons120~8,5008,380
Construction trades120~12,00011,880
Retail shops120~25,00024,880
Medical practices120~6,0005,880
Total600~96,50095,900

600 results instead of 96,500. Your prospecting file covers just 0.6% of the actual market. And you're basing your commercial decisions -- budget, channel, message -- on this minuscule sample.

The selection bias: your competitors have the exact same 120 leads

The problem doesn't stop at missing volume. The 120 results Google Maps shows you aren't a random sample. Google applies a precise ranking:

  • Top-rated listings appear first (4.5 stars before 3.8)
  • Businesses with the most reviews are favored (500 reviews before 12)
  • Optimized Google Business profiles are prioritized (complete description, photos, hours)
  • Geographic proximity influences the ranking based on the map center
  • Listing age and activity also play a role

Result: everyone scraping Google Maps with the same queries gets the same 120 businesses. You, your competing agency, and the dozens of others targeting the same vertical.

What this means for your prospecting

Those 120 businesses are the most visible, the most solicited, and often the least receptive. They already receive dozens of sales pitches every week. Your emails land in an already saturated inbox, alongside 5 other similar proposals.

Meanwhile, the other 1,080 businesses (in the Lyon plumber example) have never been contacted by any competitor. They're less visible on Google, have fewer reviews, but they have the same needs for services and suppliers. And nobody is reaching out to them.

The concrete math

Let's run a real example. You sell management software to restaurants in Paris:

  • With standard scraping: 120 leads. Typical response rate (cold emails to over-targeted leads): 1-2%. That's 1-2 responses.
  • With complete extraction: 15,000 leads. Response rate on unsolicited leads: 3-5%. That's 450-750 responses.

The difference? It's not 120x more leads, it's potentially 300x more responses -- because unsaturated leads respond at a higher rate.

The best leads are the ones your competitors can't find.

Why the "classic" workarounds don't work

Faced with this limit, most prospectors try workarounds. None of them fundamentally solve the problem.

Multiplying geographic queries

"Restaurant Lyon 1st", "restaurant Lyon 2nd", "restaurant Lyon 3rd"... You get more results, but:

  • Each sub-query is still capped at 120 results
  • Results overlap massively (30-50% duplicates between adjacent districts)
  • Deduplication is a technical headache (name variants, approximate addresses)
  • You never know if you've reached completeness -- you'd need to test every street
  • Processing time explodes: 20 sub-queries x 5 minutes = a full work day

To properly cover Paris with its 20 arrondissements, you'd need hundreds of carefully split sub-queries. And even then, large categories like "restaurant" exceed 120 results within a single arrondissement.

Zooming in on the map

Google Maps adjusts results based on zoom level. But the ceiling stays at 120. Zooming way in gives you 120 results for a smaller area -- but sparse zones will return duplicates or out-of-area results. And you have to repeat this for each micro-zone, manually.

Using the Google Places API

The official API is even worse: it's limited to 60 results per query (via 3-page pagination x 20). And it costs $32 per 1,000 requests. To cover a single large city completely, costs easily reach several hundred dollars. All of France? Tens of thousands of dollars.

Changing keywords

"Restaurant", "dining", "brasserie", "bistro", "catering"... Multiplying variations helps catch differently classified listings, but introduces even more duplicates and still doesn't guarantee completeness. Some businesses don't use any of your keywords in their listing.

Scraping more often

Running the same scrape every week doesn't change the limit. You'll still get 120 results, just more recent ones. The same 120, or nearly.

The only real solution: exhaustive geographic subdivision (quadtree)

To achieve complete Google Maps extraction, you need to abandon the "one query = one keyword + one city" approach and switch to a systematic geographic method.

The quadtree principle:

  1. Initial division: the territory is split into geographic tiles (e.g., 5 km x 5 km squares)
  2. Scan: each tile is scraped independently with the target category
  3. Saturation test: if a tile returns 120 results (the maximum), it likely contains more
  4. Adaptive subdivision: the saturated tile is automatically split into 4 smaller tiles (hence the name "quadtree")
  5. Recursion: the process repeats until each tile contains fewer than 120 results -- guaranteeing completeness
  6. Deduplication: all results are merged and deduplicated using the unique Google identifier (place_id)

This method guarantees exhaustive coverage. If Paris contains 15,000 restaurants, the quadtree will subdivide the city into hundreds of micro-zones, each with fewer than 120 results, then merge everything.

The problem? It's extremely expensive to implement yourself:

  • Hundreds of thousands of requests to cover a single country
  • Residential proxy infrastructure: $200-500/month minimum
  • Dedicated servers: $50-150/month
  • 2-3 weeks of development to build the system (subdivision, dedup, recovery, monitoring)
  • Ongoing maintenance: Google changes its CSS selectors, DOM structure, rate limits
  • No enrichment included: you need a second system for emails and phone numbers

For a developer doing DIY scraping, the total cost easily exceeds $400 per scraping campaign. And you have to redo it every month if you want fresh data. Over a year, that's over $5,000 -- for a single country.

Concrete results with IBLead: before and after

IBLead continuously runs this quadtree process across all covered countries. The database is pre-indexed, deduplicated, and automatically enriched. Here's the difference compared to a standard approach:

SearchStandard scraping (120 max)IBLead (exhaustive)Additional leads
Restaurant Paris120~15,000+14,880
Plumber Lyon120~1,200+1,080
Lawyer Paris120~4,500+4,380
Electrician Ile-de-France120~3,800+3,680
Dentist Marseille120~800+680

And each listing is enriched with data that basic scraping doesn't provide:

  • Full contact details: address, phone, website, GPS coordinates
  • Professional emails: up to 5 emails automatically extracted from the business website
  • Social media: Facebook, Instagram, LinkedIn, X, YouTube pages
  • Legal data (France): SIRET, SIREN, owner name, APE code, legal form, founding date
  • Google Maps metrics: rating, review count, status (open/closed), hours
  • Detected web technologies: CMS, analytics tools, payment solutions used by the business

With SIRET matching and email enrichment, you have everything needed for a personalized prospecting campaign -- "Dear Mr. Dupont, owner of [company]..." -- without coding, proxies, or maintenance.

The real competitive advantage

When you're working with 15,000 restaurants in Paris instead of 120, you gain access to businesses that nobody else is contacting. Not the top-rated listings that everyone targets, but the 99% of the market that remains invisible in a standard Google Maps search.

That's where the most receptive leads are: businesses that have never received a prospecting email for your service, because nobody knew they existed on Google Maps. Your response rate on these leads will be naturally higher than on the 120 leads everyone is fighting over.

The real cost comparison

A tool like Scrap.io costs at least 49 EUR/month, or 588 EUR/year, and doesn't solve the 120 limit. PhantomBuster charges by the minute and also caps at 120 results. DIY scraping costs $400+ per scrape.

IBLead gives you access to the complete database with plans starting at 44 EUR/month. No 120 limit, no proxies to manage, no code to maintain. All countries, enrichment included, refreshed monthly.

Conclusion: stop prospecting blindly

The Google Maps scraping limit of 120 results isn't a minor constraint. It's an invisible wall that reduces your addressable market by 80-99%, creates a selection bias against you, and guarantees you're working the same saturated leads as your competitors.

Manual workarounds (multiplying queries, zooming in, varying keywords) don't fundamentally change anything. Only systematic geographic subdivision -- the quadtree approach -- enables complete Google Maps scraping, and it's a heavy infrastructure project that few businesses can afford.

IBLead does this work for you, continuously, across all covered countries. With plans starting at $35/month, you get access to the complete database -- all results, enriched, deduplicated, refreshed monthly. That's less than a single DIY scrape, and it's ready now.

Try IBLead and see how many businesses you've been missing.

Ready to get started?

Access every Google Maps business, enriched with emails and legal data.

Try IBLead free