Skip to content
RankFabrik · data

04Places · Compare

RankFabrik vs OpenWeb Ninja — who pays for the duplicates?

OpenWeb Ninja's own how-to guide for covering an area tells you to tile a bounding box and sweep it with a nested loop of tiles × keywords, then deduplicate the results yourself. Its API bills per business object returned. Put those two facts together and the incentive runs the wrong way: more overlapping tiles means more billed rows, whether or not they end up unique.

Sourced 14 September 2026 from OpenWeb Ninja's own pages: Plans & Pricing at openwebninja.com/api/local-business-data, and the sweep guide at openwebninja.com/blog/scrape-all-google-maps-businesses-in-an-area.

Their guide, in their own words

The recommended method uses /area-search-by-bounding-box on the Local Business Data API: for every tile, for every keyword, page through results and deduplicate by business_id. Their own key takeaway names the trade-off outright:

"Overlapping tiles are the point, duplicates are the cost."

That's accurate about the mechanism. It's also a cost that lands entirely on the person calling the API — because billing happens per business object the call returns, before any deduplication step runs.

Illustrative example — the arithmetic, with round numbers

Not a live calculator, not a measured benchmark — just the mechanism, worked through with assumed, clearly-labelled numbers so the effect is concrete.

AssumptionValue
Tiles swept over the target area25
Business objects returned per tile (assumed, with overlap)40
Business objects billed before dedup25 × 40 = 1,000
Assumed duplicate rate after dedup by business_id35%
Unique businesses left after your own dedup step650
 OpenWeb Ninja (Pay As You Go)RankFabrik
Billed on1,000 business objects returned (dedup is your problem, after billing)650 places — dedup on the place identifier happens before billing
Rate$0.004 / business$1.00 / 1,000 places
Total for this sweep1,000 × $0.004 = $4.00650 places × $1.00/1,000 ≈ $0.65
Effective cost per unique business$4.00 ÷ 650 ≈ $0.0062$0.65 ÷ 650 = $0.0010 (flat rate, unchanged by dedup)

Change the tile count, the per-tile average, or the overlap rate and the totals move — the point standing regardless is structural: a per-object bill charged before dedup pays the provider for every overlap their own guide tells you to create.

Side by side

 OpenWeb NinjaRankFabrik
Billing unitBusiness object returned — duplicates included, dedup is a separate step you run afterPlace returned — deduplicated on the place identifier before billing
PlansFree $0/mo (500/mo), Pro $25/mo (20k), Ultra $75/mo (100k), Mega $150/mo (300k), or Pay As You Go at $0.004/business$1.00/1,000 places, $2.00/1,000 with contact email — pay-per-event, no plan to pick
Local Business Data API latency (as listed)≈ 1394msNot published as a headline number — measured per request
Listed rating (as shown on its own listing)3.5 / 5Not applicable — no third-party marketplace rating to cite
Fill rate before you payNot stated on its plans pageYes — completeness on every response

The RankFabrik version

/balayer already does the tiling and the sweeping, and dedup happens on the place identifier server-side, before anything is billed — the exact step OpenWeb Ninja's guide tells you to run yourself, after paying for every row.

$1.00/1k

place — map record

$2.00/1k

place-contact — record + email read from the site

Pay per place returned — you are charged only for events the actor actually returns, never for an empty run. Metered and billed by Apify; no separate RankFabrik account to open.

Run it on Apify — pay per place returned →

Questions

Is there a tool that can scrape addresses from Google Maps?

Yes. RankFabrik's `/rechercher` endpoint returns up to 20 places around a point or a search term, address included every time — it's the one field with 100% fill rate on a real sweep. `/balayer` does the same over a whole area, split into cells and deduplicated on the place identifier before anything is billed.

What are the limitations of the Google places API?

Search and details are billed as separate SKUs, so a finished record with phone and website needs two calls, not one. Nothing tells you how complete a batch will be before you pay for it. And Google's terms restrict caching and long-term storage of most Places content, so what you can keep afterward is limited too.

Related