ActorStack.dev

Classifying a whole country in 172 requests and 20 seconds

The first pass extracts no businesses at all. It tells you which parts of an area are dense, which belong to a neighbouring country and which are empty — before you spend anything.

By Oswaldo Carabano6 min read

Short answer

The census pass makes one request per 1-degree cell and classifies each as dense, border, foreign, exhausted or empty, without extracting any businesses. Venezuela is 180 such cells and was classified in 172 requests in about 20 seconds, showing that only 11.7% of the country needed any deeper work. Because it runs before extraction and costs no per-place charges, it is the only way in this category to price an area before committing to it. Dropping cells that turned out to belong to a neighbouring country saved about 682 wasted requests on Venezuela alone.

Key points

  • One request per 1-degree cell, no business extraction, no per-place charges.
  • Venezuela: 180 cells, 172 requests, about 20 seconds, 11.7% needing deeper work.
  • Cells belonging to a neighbouring country are classified as foreign and dropped rather than split, saving about 682 requests on Venezuela alone.
  • The output is a plan: it tells you what pass 2 will cost before pass 2 exists.
  • Re-running a finished census is nearly free — a second run of the same Venezuelan census needed 8 requests instead of 180.
On this page6 sections

Most scrapers answer “what will this cost?” with “run it and see”. The census pass exists so that this one does not have to.

What the census actually does

One request per 1-degree cell across the area, and no business extraction at all. It is a survey: each cell gets a classification and nothing gets delivered, so there are no per-place charges.

The five classifications

ClassWhat it means for pass 2
denseSaturated. Will be split into four and retried.
borderPartly outside the target area. Handled at the edge.
foreignBelongs to a neighbouring country. Dropped, not split.
exhaustedAlready fully resolved, including by an earlier run.
emptyNothing there. Costs nothing further.

The Venezuela measurement

MeasureValue
1-degree cells in the country180
Requests to classify them172
Elapsed time~20 seconds
Share needing deeper work11.7%

That last row is the one that matters. It says the expensive pass touches roughly an eighth of the country, which turns “what does Venezuela cost?” from a guess into arithmetic.

Dropping foreign cells instead of splitting them

A 1-degree cell straddling a border is mostly somebody else's country. Splitting it into four spends four requests to discover that again, and then splits the quarters. Classifying it as foreign and dropping it saved about 682 requests on Venezuela alone.

That saving is what makes absorbing the tiling overhead into the per-place price possible at all — without it, the overhead would have to be billed.

Why re-running is nearly free

Tiles already exhausted are skipped. A second run of the same Venezuelan census needed 8 requests instead of 180. That is what makes country-scale work practical: batches are independent, resumable and free to retry, so a batch that timed out costs nothing to run again.

Using the census as a quote

input.json — census only
{
  "country": "VE",
  "categories": ["restaurante"],
  "censusOnly": true
}

Read the resulting classification, decide whether the dense share justifies the run, and only then set maxPlaces and requestBudget for the real one.

Frequently asked questions

What does the census pass cost?
One request per 1-degree cell and no per-place charges, because it extracts no businesses. Venezuela's 180 cells classified in 172 requests in about 20 seconds.
What does it tell me?
Which cells are dense enough to need splitting, which are empty, which are already exhausted, and which belong to a neighbouring country. On Venezuela that meant 11.7% of the area needed deeper work and the rest did not.
Why drop foreign cells rather than split them?
Because splitting a border cell spends four requests to rediscover that most of it is somebody else's country. Classifying and dropping saved about 682 requests on Venezuela alone, which is what makes absorbing the tiling overhead into the per-place price viable.
Is re-running a census expensive?
No. Tiles already exhausted are skipped, so a second run of the same Venezuelan census needed 8 requests instead of 180. That is what makes batched country runs resumable and free to retry.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Operator claimchecked 9 Sept 2026
    Google Maps Business Scraper — Actor README and input schemaActorStack / Apify Store
A white measuring tape curving across a dark background, showing the numbers 15 to 45.
Google MapsMeasured

Coverage is the market

Phone, hours, rating and website vary enormously by city and by vertical. Two independent samples, 16,725 businesses, and why an average would be the wrong thing to publish.

7 min
The glass shopfront of a small independent business on a sunlit street.
Google MapsMeasured

The email question

Tools advertising emails with Google Maps data are getting them somewhere else. Zero email strings across three verticals, in the search response and on the place page.

5 min
Overhead view of a suburban neighbourhood, showing house plots and the street grid between them.
Google MapsExplainer

The 200-result cap

The cap is per query, not per page, so the answer is geographic rather than paginated. What saturation means, why the threshold is 190, and how deep the splitting goes.

6 min