# Zonaprop Argentina Scraper | Venta Alquiler (`lentic_clockss/zonaprop-scraper`) Actor

Scrape Zonaprop.com.ar Argentina venta and alquiler listings. Extract listingId, ARS/USD price, rooms, area, CABA and provincial geos, plus optional emprendimientos. Guest HTML only — no phones, street addresses or inquiry forms. Export CSV, Excel or JSON. Platform usage included.

- **URL**: https://apify.com/lentic\_clockss/zonaprop-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.20 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Zonaprop Argentina Scraper | Venta Alquiler

**Scrape [Zonaprop.com.ar](https://www.zonaprop.com.ar) — Argentina’s largest property portal — for venta, alquiler, alquiler temporal, CABA and provincial searches, plus optional emprendimiento cards. Export listingId, ARS/USD price, rooms, area, guest JSON-LD phone, street/门牌, agency, and live URLs as CSV, Excel, or JSON.**

Use this Actor as a practical **Zonaprop scraper / Zonaprop API alternative** for **Argentina asking-price watches**, **CABA rentals**, and **province inventory**. Pick a `geo` slug (`capital-federal`, `cordoba`, `rosario`, …), `venta` or `alquiler`, a property type, and `maxResults`. Residential egress is handled by the scrape worker — you do not send cookies, `proxyUrl`, or contact-form payloads.

- **Venta / alquiler / alquiler temporal** on `www.zonaprop.com.ar` (identity key `listingId`, pager `pagina-N`)
- **Departamentos, casas, terrenos, PH, inmuebles** plus optional **emprendimiento** (new-development) cards
- **CABA and opened provincial geos** — empty `geo` = national search
- Guest HTML: **JSON-LD phone + street when the ficha publishes them**; does **not** submit Contactar / Ver teléfono lead forms
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or the Apify API
- **Pay per event** — Actor start + each Dataset result; **platform usage is included** (you do not pay separate Apify compute on top)

> **Unofficial tool.** This Actor is not affiliated with, endorsed by, or sponsored by Navent / Zonaprop. It collects **guest / public** pages a logged-out visitor can already see. It does **not** log in or submit Contactar / Ver teléfono inquiry forms. Phone and street come from public JSON-LD on clasificado fichas.

***

### What does the Zonaprop Scraper do?

[Zonaprop Argentina Scraper](https://apify.com/lentic_clockss/zonaprop-scraper) lets you **extract structured zonaprop.com.ar listings** without running your own Argentina residential proxy and Cloudflare stack. Give it a geo slug, an operation, a property type, or a batch of live listing URLs, then start a run.

Under the hood, the Actor:

1. Validates your input (`geo`, `operation`, `propertyType`, `sort`, URLs)
2. Enforces free-tier caps when you are on a free Apify plan
3. Calls a managed worker that fetches guest Zonaprop HTML (Camoufox + residential egress)
4. Parses SSR listing cards (`data-id` / `POSTING_CARD_*`) and live `/propiedades/clasificado/` or `/propiedades/emprendimiento/` URLs
5. Writes Dataset rows plus `INPUT_ECHO`, `RUN_SUMMARY` (and `ERROR_SUMMARY` on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.

#### Opened coverage (what actually works)

Argentina is a **single-host** Actor (`www.zonaprop.com.ar`). Sister Navent TLDs are not this Actor.

| Surface | Opened |
| --- | --- |
| National + CABA `departamentos` | `venta` and `alquiler` |
| Tipos (national `venta`) | `casas`, `terrenos`, `ph`, `inmuebles` |
| CABA houses for rent | `casas` + `alquiler` |
| Short-term rent | `alquiler-temporal` (CABA departamentos) |
| Geos | empty (national), `capital-federal`, `buenos-aires`, `cordoba`, `rosario`, `mendoza`, `la-plata`, `mar-del-plata`, `tucuman`, `salta`, `neuquen` |
| Sort path | `precio-ascendente`, `recientes`, `precio-descendente`, `bajaron-de-precio` |
| Detail | clasificado LDP (`veclapin` / `alclapin`); emprendimiento LDP when `includeDevelopments=true` |
| Pager | path `pagina-N` (30 SSR cards per page; JSON-LD is **not** a pager) |

Still **closed**: `-map.html` (0 cards), `/inmobiliarias.bum`, sister-country TLDs, barrio-only slugs not in the geo list.

#### Honest limits

- **Guest pages only.** No login and no Contactar / WhatsApp **submit**.
- **Ver teléfono is a lead form** (闸门锁), not a public reveal. The Actor does **not** POST `/rp-api/leads/view`. Guest JSON-LD `telephone` / `streetAddress` are still parsed as **visible** leads.
- **Listing email is 本站无** (`leadAbsences.emails`). Footer `consultas@consumidor.gob.ar` is a platform/government mailbox, not the listing agent.
- **Individual agent name is 本站无** (`leadAbsences.person`). Guest fichas show only the agency (`org.name`), not a personal broker name.
- **Social media links are 本站无** (`leadAbsences.socials`). JSON-LD `sameAs` brand links belong to Zonaprop, not the individual agent.
- **`-map.html` is not a list.** Map URLs fail-fast.
- **Do not invent listing ids.** Pass live clasificado or emprendimiento URLs in `startUrls`.

***

### What Zonaprop data can I extract?

| Field | Search cards | Clasificado detail | Emprendimiento |
| --- | :---: | :---: | :---: |
| `listingId` / live URL | ✅ | ✅ | ✅ |
| `listingKind` (`property` / `development`) | ✅ | ✅ | ✅ |
| Title | ✅ | ✅ | ✅ |
| Asking price (`price` / `currency` ARS or USD) | ✅ | ✅ | varies |
| `expenses` (expensas) | ✅ when shown | ✅ when shown | — |
| `rooms` / `bedrooms` / `bathrooms` / `areaM2` | ✅ when shown | ✅ when shown | varies |
| `geo` / `locationText` | ✅ | ✅ | varies |
| `latitude` / `longitude` | — | ✅ when the page publishes them | varies |
| `phones` / `address.street` / `org` | Thin / usually no phone | Yes (guest JSON-LD) | Phone often absent; street may be in the title |
| `emails` | Absent | Absent on listing | Absent |
| Images | ✅ | ✅ | varies |

**Identity key is `listingId`** (the trailing id on `/propiedades/clasificado/…-{id}.html`). Do not invent detail URLs. Skip `-map.html`.

***

### Lead & Contact Fields

Every dataset item includes the following lead/clue keys. Fields marked **本站无** are confirmed absent site-wide and carry a matching `leadAbsences` reason. The Actor parses **guest-visible JSON-LD** on clasificado detail pages — no login, no form submission.

| Field | Type | Meaning | Source surface |
| --- | --- | --- | --- |
| `phones` | `[{value, type, e164?}]` | Landline / mobile / WhatsApp number from the listing. `e164` is the normalized E.164 form (e.g. `+543875068439`). | Clasificado LDP — JSON-LD `telephone` (visible) |
| `emails` | `[{value, type}]` | Agent contact email. **本站无** — Zonaprop guest pages do not publish listing emails; footer `consultas@consumidor.gob.ar` is a platform/government mailbox. | `leadAbsences.emails = 本站无` |
| `address` | `{street, unit, locality, region, postalCode, country, full}` | Property address. **`unit` = 门牌** (street number, e.g. `800`, `1524`, `367`). `full` is the assembled address string. | Clasificado LDP — JSON-LD `streetAddress` (visible) |
| `geo` | `{lat, lng}` | Geographic coordinates. Decoded from Base64-encoded `mapLatOf` / `mapLngOf` inline variables. | Clasificado LDP (visible after decode) |
| `person` | `{name, role}` | Individual broker / seller name. **本站无** — guest fichas show only the agency name, not a personal agent identity. | `leadAbsences.person = 本站无` |
| `org` | `{name, id, url}` | Real-estate agency / developer. `id` is the Zonaprop inmobiliaria numeric id; `url` is the `/inmobiliarias/{slug}_{id}-inmuebles.html` microsite. | Clasificado LDP — agency chain link (visible) |
| `web` | `{website, socials[]}` | Agency microsite URL and social media links. `website` mirrors `org.url`; `socials` is **本站无** — JSON-LD `sameAs` entries belong to the Zonaprop brand, not the agent. | Clasificado LDP (visible); `leadAbsences.socials = 本站无` |
| `leadSource` | enum | Which surface produced the lead data: `search` | `detail` | `entity` | `contact` | `reveal-xhr`. For clasificado LDP items this is `detail`. | Derived from scrape path |
| `leadReveal` | enum | How the contact data is exposed: `visible` | `click` | `xhr` | `gated` | `image` | `absent`. Zonaprop guest JSON-LD is **visible** — no click or XHR needed. | Recon-measured |
| `leadAbsences` | object/map | Per-subfield reason when a lead is null. Keys: `emails`, `person`, `socials`. Values: `本站无` with a parenthetical explanation. | Recon + worker output |

#### Reveal cost

- **No click-reveal or XHR-after-click is needed.** Phone numbers and street addresses are published in **guest-visible JSON-LD** (`telephone`, `streetAddress`) on clasificado detail pages. The Actor reads them directly from the page DOM.
- **Ver teléfono is a lead-form gate (闸门锁), not a public reveal.** Clicking it opens a "Completá tus datos" contact modal that requires submitting personal information. The Actor does **not** submit this form, so no post-form WhatsApp URL is captured. This is a deliberate honest limitation.
- **Detail page fetch is required for lead fields.** Set `scrapeDetails=true` (the default) to follow clasificado / emprendimiento hrefs. Each detail fetch adds one Camoufox page load plus one proxy hop, marginally increasing run time and proxy usage proportional to the number of listings enriched.
- **Development (emprendimiento) LDPs** may not publish a phone in JSON-LD — in that case `phones` is empty and `leadAbsences` records the reason. Street may still appear in the title or path.

#### Honest limitations

- **Guest pages only.** No login and no Contactar / WhatsApp **submit**.
- **Ver teléfono is a lead form** (闸门锁), not a public reveal. The Actor does **not** POST `/rp-api/leads/view`. Guest JSON-LD `telephone` / `streetAddress` are still parsed as **visible** leads.
- **Listing email is 本站无** (`leadAbsences.emails`). Footer `consultas@consumidor.gob.ar` is a platform/government mailbox, not the listing agent.
- **Individual agent name is 本站无** (`leadAbsences.person`). Guest fichas show only the agency (`org.name`), not a personal broker name.
- **Social media links are 本站无** (`leadAbsences.socials`). JSON-LD `sameAs` brand links belong to Zonaprop, not the individual agent.
- **`-map.html` is not a list.** Map URLs fail-fast.
- **Do not invent listing ids.** Pass live clasificado or emprendimiento URLs in `startUrls`.

***

### Why scrape Zonaprop?

[Zonaprop](https://www.zonaprop.com.ar) is Argentina’s leading **real-estate portal** for **departamentos en venta**, **alquiler en Capital Federal**, **casas**, **PH**, **terrenos**, and **alquiler temporal**. Teams scrape public Zonaprop pages to:

- Watch **asking prices** (ARS and USD) for CABA, Córdoba, Rosario, Mendoza, and other opened geos
- Pull **rent and short-term** inventory without paging `pagina-N` by hand
- Monitor **emprendimientos** (new-development cards) on sale search
- Feed CRM-adjacent catalogs, BI dashboards, Google Sheets, BigQuery, or AI agents with listing rows plus **guest JSON-LD phone and street** when the ficha publishes them

Compared with generic URL scrapers, this Actor returns **Zonaprop-specific fields** (`listingId`, `operation`, `propertyType`, `geo`, `rooms`, `areaM2`) from the same path grammar the site uses: `/{tipo}-{operacion}[-{geo}][-pagina-N][-orden-{sort}].html`.

#### How this Zonaprop scraper compares

Store search for “Zonaprop scraper” also surfaces Actors that persist **WhatsApp after a contact-form flow** (often **from $0.90 / 1,000**), or a **$10/month + usage** crawler that **requires you to bring residential proxies**. This Actor returns **guest JSON-LD phone + street** without submitting inquiry forms, and **you do not configure a proxy**.

| | This Actor | Typical Store peers |
| --- | --- | --- |
| CABA / national / opened provinces | Yes (see table above) | Often “any barrio” in copy |
| `venta` / `alquiler` / `alquiler-temporal` | Yes | Often yes |
| Casas / terrenos / PH / inmuebles | Yes (opened cells) | Often yes |
| Guest JSON-LD phone / street / agency | **Yes** on clasificado detail | Often yes (sometimes via lead dump) |
| WhatsApp after inquiry-form submit | **No** | Sometimes yes |
| You configure Apify residential proxy | **No** — worker provides egress | Often required |
| Default memory | **1024 MB** | Often 2 GB |
| Pricing | **PPE $3.00 / 1,000** + $0.005 start; platform usage included | from $0.90 / 1,000, or $10/month + usage |

Use this Actor for **export-ready guest listings including public JSON-LD contact**, with **developer-paid platform usage**. It will not fill Zonaprop’s “Completá tus datos” phone-reveal modal.

***

### More Actors like this

Need Colombia Metrocuadrado, Properati LATAM, Iberian Idealista, or a generic protected-page scrape? Use a **dedicated Actor** below for structured fields. Use this Actor for **Zonaprop Argentina** (`zonaprop.com.ar`) guest venta, alquiler, alquiler temporal, and emprendimientos.

#### Similar LATAM & real-estate scrapers

- [Properati LATAM Scraper](https://apify.com/lentic_clockss/properati-scraper) — Colombia / Argentina / Peru / Ecuador
- [Metrocuadrado Scraper](https://apify.com/lentic_clockss/metrocuadrado-scraper) — Colombia venta & arriendo
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper) — Spain / Italy / Portugal
- [OLX Brazil Scraper](https://apify.com/lentic_clockss/olx-br-scraper) — Brazil classifieds
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper) — LATAM marketplace
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper) — generic protected pages (prefer a dedicated Actor when one exists)

#### Prefer a dedicated site scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.

**Real Estate**

- [Zonaprop Argentina Scraper](https://apify.com/lentic_clockss/zonaprop-scraper)
- [Properati LATAM Scraper](https://apify.com/lentic_clockss/properati-scraper)
- [Metrocuadrado Scraper](https://apify.com/lentic_clockss/metrocuadrado-scraper)
- [Zoopla UK Scraper](https://apify.com/lentic_clockss/zoopla-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Jobs & Freelance**

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Travel & Stays**

- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General tools**

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

Need a **custom site** (listing + detail, your field list)? [Submit a custom scraper request](https://custom-scraper-intake-977720205770.us-central1.run.app/).

***

### How to scrape Zonaprop (no code required)

1. Create a free [Apify](https://apify.com/) account
2. Open [Zonaprop Argentina Scraper](https://apify.com/lentic_clockss/zonaprop-scraper)
3. Choose **operation**: `venta`, `alquiler`, or `alquiler-temporal`
4. Enter a **geo slug** (`capital-federal`, `cordoba`, …) or leave empty for national
5. Pick **propertyType** (`departamentos`, `casas`, `terrenos`, `ph`, `inmuebles`)
6. Click **Start** and download the Dataset as JSON, CSV, Excel, or JSONL

Start with `maxResults: 3–5` to verify the geo, then scale up. Empty `{}` runs a tiny national `departamentos` `venta` search so the platform auto-test succeeds — for real jobs, pass a fresh geo.

#### Search departamentos for sale

**In plain English:** leave `geo` empty and `operation=venta` → national apartment sale cards with `listingId` and ARS/USD asking price.

**You give:** `operation=venta`, `propertyType=departamentos`, `maxResults=20`.

#### Scrape CABA alquiler

**In plain English:** `geo=capital-federal` + `alquiler` → `/departamentos-alquiler-capital-federal.html`.

**You give:** `geo=capital-federal`, `operation=alquiler`, optional `scrapeDetails=true`.

#### Casas, terrenos, PH, short-term rent

**In plain English:** swap `propertyType` or set `alquiler-temporal`. Same RPLIS card channel.

#### Follow listing detail URLs

**In plain English:** pass live `/propiedades/clasificado/…` or `/propiedades/emprendimiento/…` URLs → merge RPFIC fields. Do **not** paste `-map.html`.

#### Feed AI agents and automations

**In plain English:** start the Actor from Make, n8n, Zapier, LangChain, or the Apify API → Dataset rows are structured JSON (`listingId`, price, rooms, `listingUrl`).

***

### How much does it cost to scrape Zonaprop?

This Actor uses **pay-per-event** pricing. You are charged for:

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | **$0.005** per start |
| Result (`apify-default-dataset-item`) | **$3.00 / 1,000** results (**$0.003** each on FREE/BRONZE) |

**Platform usage costs are included** — you do **not** pay separate Apify compute/proxy usage for this Actor on top of the event prices above (**User pays platform usage costs = No**).

#### Volume discount tiers (per result)

| Tier | $/1,000 | per result |
| --- | ---: | ---: |
| FREE\* | $3.00 | $0.003 |
| BRONZE | $3.00 | $0.003 |
| SILVER | $2.60 | $0.0026 |
| GOLD | $2.20 | $0.0022 |
| PLATINUM | $2.00 | $0.002 |
| DIAMOND | $1.60 | $0.0016 |

\*FREE matches BRONZE for this Actor.

#### Example cost estimates (FREE/BRONZE)

| Results collected | Approx. event cost\* |
| --- | ---: |
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |

\*Assumes one Actor start at default memory billing for start events, plus `$0.003` per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one). Default memory is **1024 MB**.

Empty / failed runs that write **zero** default-dataset rows are not billed as results (you still pay Actor Start).

#### Free plan limits

On a **free Apify plan**, this Actor enforces developer limits of **10 runs** and **200 results per run**. Upgrade to a paid Apify plan for unlimited runs (event prices still apply).

***

### Input examples

#### National departamentos venta

```json
{
  "operation": "venta",
  "propertyType": "departamentos",
  "maxResults": 20,
  "maxPages": 2
}
```

#### CABA alquiler

```json
{
  "geo": "capital-federal",
  "operation": "alquiler",
  "propertyType": "departamentos",
  "maxResults": 15,
  "maxPages": 1,
  "scrapeDetails": true
}
```

#### Córdoba departamentos for sale

```json
{
  "geo": "cordoba",
  "operation": "venta",
  "propertyType": "departamentos",
  "maxResults": 10,
  "maxPages": 1
}
```

#### Alquiler temporal in CABA

```json
{
  "geo": "capital-federal",
  "operation": "alquiler-temporal",
  "propertyType": "departamentos",
  "maxResults": 10,
  "maxPages": 1
}
```

#### Sort by price ascending

```json
{
  "operation": "venta",
  "propertyType": "departamentos",
  "sort": "precio-ascendente",
  "maxResults": 10,
  "maxPages": 1
}
```

#### Include emprendimiento cards

```json
{
  "operation": "venta",
  "propertyType": "departamentos",
  "includeDevelopments": true,
  "scrapeDetails": true,
  "maxResults": 10,
  "maxPages": 1
}
```

#### Listing detail follow

```json
{
  "startUrls": [
    "https://www.zonaprop.com.ar/propiedades/emprendimiento/ememvein-sky-corrientes-2140-59459266.html"
  ],
  "scrapeDetails": true,
  "maxResults": 5
}
```

Use a **live** URL from a previous Dataset row. Do not hand-build ids or paste `-map.html`.

***

### FAQ

#### How do I scrape Zonaprop listings?

Open this Actor, pick `venta` / `alquiler` / `alquiler-temporal`, set `geo` (or leave empty for national), and click Start. Export the Dataset as CSV, Excel, or JSON. You can also call it as a **Zonaprop data API** via the Apify REST API or Python/JavaScript clients.

#### Do I need a Zonaprop account or API key?

No. This Actor reads **guest** `zonaprop.com.ar` pages. You do not log in, and you do not pass a Zonaprop developer key.

#### Which geos are supported?

Opened path slugs: empty (national), `capital-federal`, `buenos-aires`, `cordoba`, `rosario`, `mendoza`, `la-plata`, `mar-del-plata`, `tucuman`, `salta`, `neuquen`. Unknown slugs are parsed when Zonaprop returns listing cards; empty result sets return zero rows, not a fake success.

#### Can I scrape the map view?

Not on this build. `-map.html` is Google Maps with **zero** listing cards.

#### Can I get phone numbers or street addresses?

Yes, on **clasificado detail** (`scrapeDetails=true`, the default). Guest JSON-LD publishes `telephone` and `streetAddress` (examples from recon: `54 3513081773` at `Avenida Revolución de Mayo 1524`; `54 1156158766` at `Cerro Banderita Sur 800`). Listing email is usually absent. Clicking Ver teléfono only opens a lead form — this Actor does not submit it, so you will not get a post-form WhatsApp URL. Empty contact fields come with `leadAbsences`.

#### Why did empty `{}` search national departamentos venta?

Schema defaults (`operation=venta`, `propertyType=departamentos`, empty `geo`) make the platform auto-test a real list. For production, pass your own geo and operation.

#### Is scraping Zonaprop legal?

This Actor collects publicly reachable guest pages. You are responsible for how you use the data (including Argentina Ley 25.326). This is an unofficial third-party tool. Follow [Zonaprop’s terms](https://www.zonaprop.com.ar) and your own compliance review.

#### Is this affiliated with Zonaprop or Navent?

No.

#### Do I need to bring proxies?

No. Do not send `proxyUrl`. The worker provides residential egress.

#### What if a run returns 0 rows or a 403?

The geo may be empty for that tipo, or Cloudflare may challenge that hop. Retry with another opened cell. Check `ERROR_SUMMARY` in the key-value store.

#### Can I use it from Make, n8n, Zapier, or LangChain?

Yes. Actor ID `lentic_clockss/zonaprop-scraper`. See [Connect to your tools](#connect-to-your-tools).

***

### Input reference

| Parameter | Type | Description |
| --- | --- | --- |
| `geo` | string | Path geo slug. Empty = national. Opened slugs listed above |
| `operation` | string | `venta`, `alquiler`, or `alquiler-temporal` |
| `propertyType` | string | `departamentos`, `casas`, `terrenos`, `ph`, `inmuebles` |
| `sort` | string | Empty = site default; or one of the four opened `orden-*` slugs |
| `maxResults` | integer | Cap Dataset rows (free plan ≤ 200) |
| `maxPages` | integer | Path pager `pagina-N` from 1 (30 cards/page) |
| `scrapeDetails` | boolean | Follow live clasificado / emprendimiento hrefs |
| `includeDevelopments` | boolean | Keep DEVELOPMENT cards (`listingKind=development`) |
| `startUrls` | array | Live search, clasificado, or emprendimiento URLs; not `-map.html` |
| `workerBaseUrl` | string | Optional HTTPS override. Production source of truth is Actor env |

Do **not** send `proxyUrl`, cookies, or contact-form payloads.

Full output schema is on the Dataset tab. Key-value store: `INPUT_ECHO`, `RUN_SUMMARY`, `ERROR_SUMMARY`.

***

### Connect to your tools

| Platform | How to connect |
| --- | --- |
| Make.com | Search “Apify” → “Run Actor” → Actor ID `lentic_clockss/zonaprop-scraper` |
| n8n | Add Apify node → “Run Actor” → same Actor ID |
| Zapier | Apify integration → “Run Actor” |
| LangChain | `ApifyActorsTool("lentic_clockss/zonaprop-scraper")` |
| Python / Node.js | Apify SDK or direct HTTPS call |

#### API call example

```bash
curl "https://api.apify.com/v2/acts/lentic_clockss~zonaprop-scraper/runs" \
  -X POST \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"geo":"capital-federal","operation":"alquiler","propertyType":"departamentos","maxResults":10,"maxPages":1}'
```

Results come back in JSON via the Apify Dataset API:

```text
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
```

***

### Related Actors

All public Actors from [lentic\_clockss](https://apify.com/lentic_clockss). Click a name to open the Store detail page.

#### Developer / Open source / AI

- [Hugging Face Scraper](https://apify.com/lentic_clockss/huggingface-scraper)
- [GitHub Scraper](https://apify.com/lentic_clockss/github-scraper)
- [Apple App Store Scraper](https://apify.com/lentic_clockss/apple-app-store-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zonaprop Argentina Scraper](https://apify.com/lentic_clockss/zonaprop-scraper)
- [Zoopla UK Scraper](https://apify.com/lentic_clockss/zoopla-scraper)
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Metrocuadrado Scraper](https://apify.com/lentic_clockss/metrocuadrado-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Properati LATAM Scraper](https://apify.com/lentic_clockss/properati-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Watsons Product Scraper](https://apify.com/lentic_clockss/watsons-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

***

### Changelog

- **0.1.3** — Store README SEO (Zonaprop.com.ar / venta / alquiler / CABA / provinces), competitor comparison, More Actors + Related Actors. PPE: Actor Start $0.005 + result $3.00/1k with volume tiers. Platform usage paid by developer.
- **0.1.2** — Same-site coverage expansion: tipos, geos, sorts, alquiler-temporal, emprendimiento LDP.
- **0.1.1** — First Cloud Run worker pairing; national venta + CABA alquiler SSR `listingId`.

# Actor input Schema

## `geo` (type: `string`):

Argentina path geo slug. Empty = national. Opened: capital-federal, buenos-aires, cordoba, rosario, mendoza, la-plata, mar-del-plata, tucuman, salta, neuquen.

## `operation` (type: `string`):

venta (sale), alquiler (rent), or alquiler-temporal (short-term). All three opened on www.zonaprop.com.ar.

## `propertyType` (type: `string`):

Path tipo. Opened: departamentos (venta/alquiler), casas (venta national + CABA alquiler), terrenos/ph/inmuebles (national venta).

## `sort` (type: `string`):

Empty = site default. Opened: precio-ascendente, recientes, precio-descendente, bajaron-de-precio.

## `maxResults` (type: `integer`):

Maximum rows to return in this run (1–200). Free Apify plan users are limited to 200 results per run and 10 total runs of this Actor — limits set by the Actor developer.

## `maxPages` (type: `integer`):

Path pagination pagina-N. Each page has 30 SSR cards. JSON-LD is not a pager.

## `scrapeDetails` (type: `boolean`):

Follow live clasificado / emprendimiento hrefs and merge RPFIC + JSON-LD phone/street. Default on. Do not invent listing ids.

## `includeDevelopments` (type: `boolean`):

Sale SRP mixes DEVELOPMENT cards (emprendimiento). Off by default. Opened: include on national venta SRP; emprendimiento LDP when scrapeDetails is on.

## `startUrls` (type: `array`):

Optional zonaprop.com.ar search, /propiedades/clasificado/, or /propiedades/emprendimiento/ URLs. Do not pass -map.html. Tracking n\_\* query keys are stripped.

## `workerBaseUrl` (type: `string`):

Optional https:// Cloud Run origin. Production uses Actor env WORKER\_BASE\_URL.

## Actor input object example

```json
{
  "geo": "",
  "operation": "venta",
  "propertyType": "departamentos",
  "sort": "",
  "maxResults": 3,
  "maxPages": 2,
  "scrapeDetails": true,
  "includeDevelopments": false,
  "startUrls": [],
  "workerBaseUrl": ""
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset of Zonaprop sale/rent listing rows

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "geo": "",
    "operation": "venta",
    "propertyType": "departamentos",
    "sort": "",
    "maxResults": 3,
    "maxPages": 2,
    "scrapeDetails": true,
    "includeDevelopments": false,
    "startUrls": [],
    "workerBaseUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/zonaprop-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "geo": "",
    "operation": "venta",
    "propertyType": "departamentos",
    "sort": "",
    "maxResults": 3,
    "maxPages": 2,
    "scrapeDetails": True,
    "includeDevelopments": False,
    "startUrls": [],
    "workerBaseUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/zonaprop-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "geo": "",
  "operation": "venta",
  "propertyType": "departamentos",
  "sort": "",
  "maxResults": 3,
  "maxPages": 2,
  "scrapeDetails": true,
  "includeDevelopments": false,
  "startUrls": [],
  "workerBaseUrl": ""
}' |
apify call lentic_clockss/zonaprop-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lentic_clockss/zonaprop-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/wc4gXOblI5nj8SYuT/builds/DZboRgPqCDEnZVldQ/openapi.json
