Back to blog
Guides & How-tos2026-02-12·5 min read

The Google Maps 120-Result Limit Explained

By Ibrahim DemolCEO IBLeadUpdated March 14, 2026

If you've ever tried to extract data from Google Maps, you've inevitably hit this wall: Google Maps never shows more than 120 results per search.

Search "restaurant Paris": 120 results. "Plumber Marseille": 120 results. Whether there are 500 or 15,000 matching establishments, you'll only see 120. This article explains why this limit exists, how much data you actually lose, and how to get around it.

Why Google limits results to 120

Google Maps is designed for end users, not data extraction. When someone searches for a restaurant, they only need the first 10-20 results. Showing 15,000 would be counterproductive for user experience.

The 120 limit is both a technical and business compromise:

  • Performance: loading 120 listings is already heavy for the browser (images, reviews, coordinates). Beyond that, the interface would become unusable.
  • Server cost: each result consumes Google-side resources (relevance scoring, distance calculation, geolocation). Multiplying by 100 is not economically viable.
  • Anti-scraping: limiting results reduces the value of each query for automated scrapers.
  • Advertising model: Google wants you to use the paid API (Google Places) for high volumes.

The mathematical proof of data loss

Let's take a concrete example to measure the scale of the problem:

SearchActual resultsDisplayed resultsData loss
"Restaurant Paris"~18,00012099.3%
"Plumber Lyon"~80012085%
"Bakery Bordeaux"~35012066%
"Auto repair Toulouse"~25012052%
"Dentist Nantes"~15012020%

In large cities, you lose over 90% of the data. Even in a mid-size city with 250 establishments, you miss half. Only very specific queries (small town + rare category) escape this limit.

Selection bias: the invisible problem

Worse than the quantitative loss is the qualitative bias. Google doesn't select the 120 results randomly. It favors:

  • Listings with many reviews (popular does not mean exhaustive)
  • Recently updated listings (Google-active does not mean all)
  • Listings with Google Ads (advertising bias)
  • Results close to your geolocation (geographic bias)

The consequence: businesses without reviews, new businesses, and those on the outskirts are systematically excluded. For B2B prospecting, this is a major problem -- these are often the businesses that need your services the most.

The trap of partial approaches

The "35,000 communes" trap

Some think they can bypass the limit by sending one query per French commune (35,000+). It helps for small towns, but medium and large cities remain incomplete.

Lyon has over 5,000 restaurants. Even searching "restaurant Lyon," you'll only get 120. You'd need to split Lyon into micro-zones (districts, neighborhoods, streets...) to approach completeness -- a massive effort.

Multiplying queries by zone

"Restaurant Lyon 1st", "restaurant Lyon 2nd"... It helps, but you still get 120 results per query, duplicates between zones, and enormous splitting + deduplication work. Moreover, districts are not granular enough: Paris's 3rd arrondissement alone has 2,000+ restaurants.

Using Google Places API

The API has the same limit (60 results per query, via pagination). And it's paid: $32 per 1,000 requests. To cover France with a fine grid, expect 200,000+ requests, meaning $6,400 minimum -- and that covers only one category.

Scraping faster/more often

Scraping more often doesn't change the limit. You'll still get 120 results, just more frequently. And you also risk getting blocked by Google.

The real solution: geographic quadtree

The only way to truly bypass the limit is to split the territory into micro-zones small enough that each zone contains fewer than 120 results. This is called a quadtree (quaternary tree).

How the quadtree works

The principle is simple but the execution is complex:

  1. Initial tile: the territory (e.g., all of France) is one large initial tile
  2. Scan: a Google Maps query is run on this tile
  3. Evaluation: if the tile returns ~120 results (likely saturated), it's subdivided into 4 sub-tiles
  4. Recursion: each sub-tile is scanned in turn. If it's also saturated, it's subdivided again
  5. Termination: when a tile returns significantly fewer than 120 results, it's considered exhaustive
  6. Merge: all results from all tiles are deduplicated and merged

For all of France, this generates tens of thousands of tiles in dense areas (Paris, Lyon, Marseille) and only a few tiles in rural areas. The quadtree automatically adapts to business density.

Limitations of a simple quadtree

A naive quadtree is not enough. You also need to handle:

  • Smart split: don't subdivide indefinitely zones with few new businesses (novelty ratio < 5%)
  • Overlap: adjacent tiles can return the same businesses, requiring deduplication
  • Error recovery: if a scan fails midway, you need to resume without starting over
  • Throttling: too many queries too fast = blocking. You need to regulate throughput.
  • Freshness: data changes. Scanning must be regular to stay current.

Impact on your use cases

The 120-result limit affects you differently depending on your goal:

  • B2B prospecting: you miss 50-99% of your potential prospects. Your file is incomplete and biased toward large businesses.
  • Market research: your statistics are skewed (business count, density per zone, geographic distribution).
  • Competitive intelligence: you only see the most visible competitors, not new entrants.
  • Geomarketing analysis: blank zones appear where businesses actually exist.

Why use a pre-indexed database

Building and maintaining a quadtree system is a full engineering project:

  • Quadtree system development: 2-4 weeks (not 1-2, realistically, when you account for edge cases)
  • Infrastructure (servers + bandwidth): $200-500 per full scan
  • Ongoing maintenance: Google regularly changes its DOM, selectors, and anti-bot protections
  • Enrichment: a second complete pipeline for emails, phone numbers, legal data
  • Deduplication: fuzzy matching algorithms to merge results from adjacent tiles

With IBLead, all this work is done for you. The database contains every business on Google Maps, no 120 limit, enriched with emails, phone numbers, social media, detected technologies, and legal data (SIRET for France). And it's refreshed regularly.

With plans starting at 44 EUR/month, it costs far less than a single DIY scrape of France. And next month, you have nothing to redo.

Read also

Ready to get started?

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

Try IBLead free