If your Google Maps bill is heading toward $600 a month, the problem is almost never how much data you pull. It is when you ask for it. And if what you actually want is a list — every coffee shop in Chicago, with ratings and review counts — you should not be paying live-map prices for it at all. That list costs about $1.07 for 5,000 places on Scavio, and you do not need to write code to get it.
Why the bill explodes
This came up on Reddit last week. Someone building a restaurant recommendation app was using Google's Places API and watching the meter spin. The most useful reply named the cause straight away:
the $600 is almost always the pan-to-search loop.
In plain terms: their map asked Google for fresh results every time the user dragged the map. Someone idly scrolling around a neighbourhood could trigger dozens of paid lookups without ever clicking a thing. Nobody bought anything. The meter ran anyway.
If you own a product with a map in it, this is worth checking even if you never touch the code yourself. Three things to ask your developer:
- Are we searching every time the map moves? It should only search when someone actually asks — a button, a submitted search — not on every drag.
- Are we storing results by area? The coffee shops in a neighbourhood do not change between two people looking at it an hour apart. Paying twice for the same block is pure waste.
- Are we billed per keystroke in the search box? There is a standard setting that groups a whole typed search into one charge instead of one per letter.
Those three usually take the bulk out of the bill, and none of them require changing vendors.
Getting a list is a completely different job
Here is where most teams overpay without realising it.
A live map and a list are two different problems. A map answers "what is near this pin, right now, for this one person." A list answers "give me all 5,000 of them so I can filter, score and work them." Marketplace-style per-request pricing makes sense for the first and is brutal for the second.
Two more people ran into exactly this the same week. One was enriching 18,000 Australian business records and reported paying $35 per 1,000 lookups — with only a 74% match rate. Another, pulling roughly 5,000 Chicago places with their reviews, summed up the cost shape better than any vendor page:
discovery is cheap, you can grid search an area and get your candidates for very little. reviews are what gets you since they're paginated.
That is the single most useful sentence in this post, and I will come back to it.
What the list actually costs
On Scavio, every Google Maps request costs 1 credit — searching, place details, or reviews. No separate charge per field, no premium for ratings.
On the $30 plan that is $0.0043 per request. On the $500 plan it is $0.0025.
I ran a real search while writing this — "restaurants in Chicago". It came back with 20 places for 1 credit, each with a name, location, star rating, total review count, category and price band. The first result was Aba, 4.8 stars, 10,847 reviews.
So the list half of that Chicago job — 5,000 places at 20 per request — is 250 requests. That is about $1.07, or $0.63 on the larger plan.
One caveat, because a post like this is worthless without the unflattering number: that request took 17 seconds. This is not built to sit behind a live map where someone is waiting. It is built for the job that runs while you sleep and hands you a finished spreadsheet in the morning. Keep Google for the interactive map; use Scavio to build the list.
You do not need a developer for this
If you just want the list, Local Lead Finder does it in the dashboard — pick a place type and a city, run it, export. No code, no keys to wire up.
If you have engineers, they can call the same thing directly from the API and drop it into whatever you already run.
The one thing that drives your cost
Remember that Reddit comment: reviews are what gets you.
Finding 5,000 places is cheap. Pulling every review for all 5,000 is not — a place with 10,847 reviews is many requests, not one. So do not pull reviews for everything. Filter first on what you already got free with the list (rating, review count, category, price band), get down to the few hundred that matter, and only then pull reviews for those.
That one decision changes your bill more than any vendor you pick.
The $600 problem is a timing bug wearing a pricing costume. Fix the timing, then stop paying live-map prices for work that is really just a list.
Try it free - 50 credits, no card required.