ActorStack.dev

One Zonaprop search can match 74,000 properties and serve you 270

The gap between what a portal says it has and what it will hand over is where most real-estate datasets quietly go wrong. Here is the ceiling, where it comes from, and the only way past it.

By Oswaldo Carabano7 min read

Short answer

A Zonaprop search displays a match count in the tens of thousands and will still only page through a few hundred results — about 270. On top of that, robots.txt allows only pages 2 to 5, which caps a compliant crawler at 150 listings per search URL. Coverage therefore comes from splitting one broad search into many narrow ones by location, not from paging deeper, and no tool can deliver "every apartment in Argentina" in one pass.

Key points

  • The match count on a Zonaprop search is not an inventory you can download. One search can claim 74,000 properties and serve a few hundred.
  • robots.txt allows `pagina-2` through `pagina-5`, so 150 listings is the compliant ceiling per search URL at 30 per page.
  • The Actor splits a large search into smaller ones by location automatically, which is the only mechanism that increases coverage.
  • Ask for a neighbourhood and an operation and coverage is near-complete. Ask for a country and it cannot be.
  • A dataset built from one broad search looks complete and is a biased sample of whatever the portal chose to show first.
On this page6 sections

Search Zonaprop for apartments for sale in Buenos Aires and the page will tell you it found tens of thousands. Page through the results and you will run out at a few hundred. That gap is where most property datasets quietly go wrong, because the number on the page looks like an inventory and behaves like a headline.

The gap between the count and the download

One Zonaprop search can hold on the order of 74,000 properties and still only page through about 270 of them. The match count is a count of matches; it is not a promise that the portal will serve them.

This is not specific to Zonaprop — coches.net stops around page 300 and Workana stops at page 50. Deep result lists are expensive to serve and nearly useless to human visitors, so portals cap them. What varies is whether a scraper tells you about the cap.

The compliant cap, stated by the site

Before the portal's own ceiling is even reached, robots.txt sets a lower one. Zonaprop allows pagina-2 through pagina-5 and disallows every deeper page, so at 30 listings per page a compliant crawler gets 150 listings per search URL.

LimitListingsSet by
robots.txt pagination150The site, in a machine-readable file
Result-list depth~270The site's own behaviour, undocumented

The lower one is the one that applies, and it is the one this Actor respects. There is no version of “more pages” that is both compliant and effective.

Why portals do this

Because page 40 of a search result is a cost with no user. Nobody looking for an apartment goes there; the only clients that do are crawlers, and each one costs a database query. Add that ranked results are commercially valuable — promoted listings sit at the top — and there is no incentive to make the tail cheap to enumerate.

Splitting by location, which is the only way through

If depth is capped, coverage has to come from breadth. The Actor splits a large search into smaller ones by location, and each of those gets its own compliant 150.

You can do this by hand too, and for a serious dataset you should think in these terms regardless: one search per neighbourhood per operation per property type. Capital Federal has 48 barrios; that is 48 searches at 150 each rather than one search at 150.

the shape of a real sweep
# One run per neighbourhood, same operation and property type
palermo         → 150
recoleta        → 150
belgrano        → 150
caballito       → 150
…
# 48 barrios × 150 = 7,200 listings, all compliant

The bias in a truncated search

This is the part that matters more than the row count. The 150 or 270 rows you get are not a random sample — they are whatever the portal ranked first, which correlates with paid promotion and recency.

So a median price computed from one broad truncated search is the median of the promoted and the new, not of the market. Splitting by location does not just add rows; it removes that bias, because each narrow search is close to exhaustive for its area.

Planning a run that is actually complete

  1. Decide the unit of analysis first. If it is a neighbourhood, one search per neighbourhood is the design.
  2. Check whether you hit the cap. A search that returned exactly 150 probably had more, and needs splitting further — by price band or property type.
  3. Never report a percentage of the market. The denominator is a match count the portal caps, so a percentage of it is a percentage of a headline.
  4. Repeat on a schedule and keep every snapshot. Disappearance from the listing set is the closest proxy you have for a sale.

Frequently asked questions

Why does Zonaprop show 74,000 results but return only a few hundred?
Because the count is a match count, not a downloadable inventory. Portals cap how deep a result list can be paged, and Zonaprop's cap sits at a few hundred results per search URL regardless of the number displayed.
How do I get more than 150 listings?
By making more searches, not deeper ones. Narrow by neighbourhood, operation and property type, and each search returns its own compliant 150. The Actor performs that split automatically for a large search.
Is the truncated result set a random sample?
No, and that is the part worth worrying about. It is whatever the portal ranked first, which correlates with paid promotion and recency. Treating it as a random sample of the market biases everything computed from it.

Sources

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

  1. Site declarationchecked 19 Aug 2026
    zonaprop.com.ar/robots.txtZonaprop
  2. Operator claimchecked 19 Aug 2026
    Zonaprop Argentina Real Estate & Agency Scraper — Actor README and input schemaActorStack / Apify Store
Racks of network equipment in a dimly lit server room, lit blue by their indicators.
ZonapropMeasured

The proxy requirement

Zonaprop sits behind Cloudflare and challenges the country its listings are in. The proxy requirement is a measurement, not a preference — and the concurrency default is part of the same finding.

6 min
Paper receipts and printed documents arranged on a desk beside office stationery.
ZonapropGuide

USD and ARS prices

Argentine listings are priced in dollars or pesos, and expenses almost always in pesos. Mixing them without care produces analysis that is wrong by two orders of magnitude.

8 min
The facade of a contemporary Argentine apartment building, balconies stacked floor by floor.
ZonapropGuide

Geolocated property data

Most property datasets give you a neighbourhood. Coordinates on the listing itself let you do the analysis that neighbourhood averages cannot.

7 min