To get more than 120 results from Google Maps, split the area into a grid of smaller cells, run the same search in each cell, split again any cell that still hits the cap, and merge the results with duplicates removed by place_id. Google Maps shows about 120 places per search no matter how many businesses match, so one big search can never return a whole city; many small ones can. MapScraper does this automatically (100 free leads, no card), and the steps below work with any tool.
If you search "dentists in Miami" on Google Maps and scroll to the bottom of the list, it stops at around 120 places. There are far more than 120 dentists in Miami. That ceiling is the single biggest reason lead lists built from Google Maps come out incomplete.
This guide explains where the limit comes from, why the usual workarounds fail, and the method that actually returns every business in an area.
Where the 120 limit comes from
Google Maps returns results in pages of 20 and stops after about six pages. The cap applies per search, regardless of how many businesses match. Google's official Places API doesn't avoid the problem either: its Text Search (New) documentation says a single request returns at most 20 places, so developers also have to page through results and split large areas into smaller searches.
The result: any tool that runs one search and scrolls to the end will hand you at most ~120 rows — and it won't tell you how many it missed.
Why the usual workarounds don't work
| Workaround | What actually happens |
|---|---|
| Scroll longer | The list ends at the cap. There is nothing more to load. |
| Zoom in | You get a different 120, not more. |
| Add more keywords ("dentist", "dental clinic", "orthodontist") | Helps a little, but each search still caps, and overlap is heavy. |
| Search by neighbourhood names | Better, but neighbourhood boundaries are irregular, dense areas still cap, and you have to merge lists by hand. |
All of these share the same flaw: you never know whether you've got everything.
The method that works: grid splitting
The reliable approach is geographic:
- Draw a grid over the area. Split the city's bounding box into cells.
- Search each cell for the same term.
- Subdivide any cell that hits the cap. If a cell returns ~120, there are probably more inside it, so split that cell into four and search again. Repeat until no cell is capped. This is a quadtree, and it adapts automatically: a dense downtown gets many small cells, suburbs get a few big ones.
- Merge and de-duplicate. Cells overlap at the edges, so the same business appears more than once. De-duplicate on Google's place_id, not on name or address — two branches of a chain share a name, and addresses are written inconsistently.
When no cell is capped, the merged list is complete for that area. If some cells are still capped at the smallest size you allow, you know the result is a lower bound and roughly how much is missing.
Count before you spend
Grid splitting has a cost: a big city can mean hundreds of searches. That's why it pays to count first. Run the quadtree probe without writing any rows, and you learn the size of the search ("about 3,400 businesses") before you spend a single credit on it.
This is how MapScraper works: the pre-count probe tells you how many places a search contains — exactly when no cell is capped, as a range when some are — and only then do you decide whether to run it.
What fields to pull once you have the full list
Getting every business is half the job. For outreach you usually want:
- Name, category, address, coordinates — for segmentation and routing
- Phone and website — the basics for calling and qualifying
- Rating and review count — a quick filter for business size and activity
- Email and social profiles — not on the Maps listing itself; they come from crawling the business's website
See the full field reference for all 41 fields MapScraper exports.
A quick way to check whether a tool is hitting the cap
Run the same search in the tool and count the rows. If you get 100–125 rows for a term like "restaurants in Chicago", the tool is almost certainly running a single capped search. A tool that splits the area will return thousands.
Which kinds of tools get past the cap
Whether a tool returns more than ~120 results depends on how it searches, not on whether it's an extension, a cloud service or a script.
| Kind of tool | How it searches | Gets past 120? |
|---|---|---|
| Generic "scrape this page" extension | Reads the one results list you have open | No |
| Maps extension without area splitting | Runs one search and scrolls to the end | No |
| Maps tool with grid or quadtree splitting | Runs many smaller searches and merges them | Yes, if it de-duplicates |
| Places API used directly | Pages of up to 20 per request | Only if you write the splitting yourself |
| Your own script | Whatever you build | Only if you build splitting and de-duplication |
The question to ask any vendor is simple: "For 'restaurants in Chicago', do you run one search or many, and how do you remove duplicates?" If they can't answer, assume one search. If you'd rather not code at all, our comparison of ways to scrape Google Maps without coding goes through each no-code route.
How do you know the list is complete?
With grid splitting there is a clear test: no cell in the final grid returned the cap. If every cell came back below ~120, each cell's list is complete, so the merged list is complete for the area.
If some cells still hit the cap at the smallest cell size the tool allows, the result is a lower bound, not the full count. A good tool tells you which case you're in. MapScraper's pre-count reports an exact number when no cell is capped and a range ("about 3,400 (3,100–3,900)") when some are, before any leads are spent.
Two things grid splitting can't fix: businesses that aren't listed on Google Maps at all, and listings that fall outside the area you drew. For the first, a second source such as Bing Maps may list some businesses that Google doesn't. For the second, draw the area slightly larger than the city limits and filter by address afterwards.
Summary
- Google Maps caps every search at ~120 results.
- Scrolling, zooming and keyword stuffing don't remove the cap.
- Splitting the area into a self-subdividing grid and de-duplicating on place_id returns the complete list.
- Count first, so you know the size and cost before you run it.
You can see how big your own search is with MapScraper's free pre-count. Deep scan, which runs the full grid split past 120, is included in every lead pack, starting with the launch offer of 1,000 leads for $5 (emails included, one-time, the leads never expire).