The weekend version, honestly described
Ask an AI assistant for a Google Maps scraper and you will get one that runs. It searches a keyword in a city, pulls business name, address, phone, website, rating, and review count, and writes a tidy spreadsheet. No errors, hundreds of rows, minutes of work. If what you need is a one-off list of names, that script is genuinely all you need, and you can stop reading here.
The rest of this page is about what happens when that spreadsheet is supposed to feed real outreach: a market you intend to cover, emails you intend to send, a pipeline you intend to trust next quarter. Three things break, and none of them announce themselves.
The scraper that looks like it worked
Here is the fact the weekend build has no way to surface: Google caps what a single search can return. Google's own Places API documentation states that a text search returns a maximum of 60 results, delivered 20 per page. Scrape the Maps interface instead of the API and you face the same shape of limit: pagination runs out long before a real market does.
We measured what that means in practice. In July 2026 we ran a live coverage measurement on one metro category, restaurants in Houston. Combining many overlapping searches from different positions, deep pagination on each, and a dense reference grid of 118 additional searches, we could prove at least 1,605 distinct businesses findable in that one category in that one city.
Against that floor:
- A single search, the weekend build, reaches under 4 percent of it. Sixty capped results out of at least 1,605. The other 96 percent produce no error message.
- Even a diligent build falls short. Eight deep-paginated searches from eight different positions, far more effort than any casual script, reached 1,114 businesses, which is 69 percent. The reference grid surfaced 491 businesses those eight searches never saw.
- The ceiling is real. Six of those eight deep searches hit Google's pagination cap, meaning more businesses were available even there. 1,605 is a floor, not the market.
This is the part of the problem you cannot vibe-code your way out of, because the code is not the problem. Coverage is a measurement problem before it is a scraping problem: without a reference to measure against, you cannot know what you missed, and the spreadsheet looks equally finished either way. It is why we search every city from many positions and keep tuning that against live measurements like the one above, and why we report our coverage numbers as floors. How exactly we decide where and how deep to search is our trade secret, and it exists because the naive version quietly returns a fraction of the market while appearing to work.
The bill of materials
Now the money. The weekend script is free. The data sources it depends on are not, and neither is anything downstream of it. Priced at retail, as of July 2026:
- Search access. A search results API such as SerpApi starts at $25 per month for 1,000 searches ($75 for 5,000). Remember the coverage math above: at 20 rows per page and many overlapping searches per city and category, real coverage multiplies your search count well past what the raw row count suggests. Scraping Google directly instead means proxies and anti-bot upkeep, which is its own bill.
- Email verification. Maps listings contain no email field, so any address you find comes from business websites and needs verification before you dare send to it. MillionVerifier, the third-party verifier we use ourselves, sells plans from $39.
- Evaluation. If you want the list ranked against your ideal customer rather than alphabetical, an LLM API bill that scales with every business you evaluate.
- Somewhere to run it. Hosting, storage, scheduling, and retries, small but never zero.
- Your hours. The build, and then every week after the build. This is the largest line item and the only one that never appears in the build-versus-buy spreadsheet.
Stack the entry plans and you have passed $29 per month before writing a line of code. That is the price of our Growth tier: 5,000 tokens per month, where one token is one search result or one AI evaluation, with 50+ enrichment fields included at no extra token cost, on top of a free tier of 500 tokens with no card. We buy from the same categories of suppliers you would, at volume rates, and we pool costs across users, so a recently verified address is not re-billed to the next person who needs it. That pooling is why the same dollar buys more inside a platform than at retail, and it is the entire reason a subscription can undercut a stack of subscriptions.
The part that never ships
Suppose you build it anyway, properly. The week you finish is the best week the scraper will ever have.
Google changes markup, caps, and anti-bot behavior on its own schedule. Result formats shift. The enrichment side is worse: every website you extract emails and technologies from is a moving target, and detection logic that worked in March silently misses in August. A scraper is not a project you complete. It is a small product you operate, forever, for one customer.
And while you maintain the pipeline, the data it already produced is expiring. We measured this too: in our July 2026 study of 2,482 scraped business emails of known age, 14.2 percent of decisively checkable addresses were dead, addresses only three to four months old ran 13 to 17 percent dead, and a third of the sample sat on catch-all domains where no verifier on earth can prove the mailbox exists. A scraped list is a depreciating asset. Keeping it sendable is an ongoing verification process, not a feature you code once.
Every hour that process takes is an hour not spent selling whatever you actually make. If you bill your time out, multiply your rate by the build and the upkeep and put that number next to any subscription on the market. That comparison, not per-row price, is the honest one.
When building it yourself is the right call
An honest page includes this section. Build your own when:
- You need names, not contacts. A one-off list for market sizing or competitor mapping, where nobody will ever email the rows. The 60-result cap may not even matter at that scale.
- The scraper is the point. A learning project, a portfolio piece, a genuine curiosity. Building one teaches you more about this industry than any comparison page will.
- You already operate a data pipeline. If enrichment, verification, and scoring infrastructure is your day job, raw rows are cheap inputs for a machine you have already paid for.
Outside those cases, the summary is one sentence: you can absolutely build it, over enough weekends, and what you will have built is a second product to run, with a fraction of the coverage, a stack of supplier bills, and no one to notice what it silently missed.
Frequently asked questions
Can I build my own Google Maps scraper with an AI coding assistant?
Yes, in a weekend, and it will run. The scraping code was never the hard part. Google's 60-result cap makes coverage a many-search measurement problem, scraped emails die at a measured 14.2 percent among checkable addresses, and the whole thing needs permanent maintenance against a moving target. Building it is easy. Operating it as a reliable data product is a second job.
Why does my Google Maps scraper only return 60 results?
Because Google caps it, by design and by documentation: a text search returns at most 60 results, 20 per page. It is not a bug in your code. Reaching a real market requires many overlapping searches and a way to know when you are done, which is precisely the part no quick build includes.
Is building cheaper than a subscription?
Price the stack: search API from $25 per month, verification from $39, LLM usage, hosting, and your hours. The entry plans alone pass our $29 Growth tier before any code exists, and the time never stops. Building wins only when your time is genuinely free or the pipeline already exists for other reasons.
How many businesses does a single search miss?
In our live measurement of one metro category, at least 1,605 businesses were findable and a single capped search could reach under 4 percent of them. Even eight deep-paginated searches from different positions reached 69 percent. The missing businesses generate no error. That silence is the whole problem.
Check the Math on a Market You Know
Run one free search and compare it against what you believe is out there. 500 tokens per month, free forever, every result enriched with 50+ fields and honest verification labels. No credit card required.
Start free, no credit card required
Lyre Leads