Zonaprop Argentina - Properties, Prices & Agencies avatar

Zonaprop Argentina - Properties, Prices & Agencies

Pricing

from $1.00 / 1,000 property results

Go to Apify Store
Zonaprop Argentina - Properties, Prices & Agencies

Zonaprop Argentina - Properties, Prices & Agencies

Scrape Zonaprop.com.ar property listings across Argentina. Extract 140+ fields including USD/ARS prices, price per m², expenses, area, rooms, bedrooms, bathrooms, GPS, descriptions, photos, agency contacts, phone and WhatsApp. Supports buy, rent, temporary listings, filters, sorting and URLs.

Pricing

from $1.00 / 1,000 property results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

0

Monthly active users

17 days ago

Last modified

Share

Zonaprop Scraper: Property Listings, Prices & Agency Contacts Across Argentina

Zonaprop Scraper turns zonaprop.com.ar into a clean, structured properties feed. Search any city or neighborhood in Argentina with buy, rent or temporary rent filters, or paste any number of zonaprop search URLs, and get back one flat record per property with price in both USD and ARS, expenses, area, rooms, bedrooms, bathrooms, GPS coordinates, the full description, every photo, and the agency or owner contact including phone and WhatsApp. Results are collected page by page up to a single hard cap you control, then exported to JSON, CSV or Excel, or pulled straight into your app through the API.

Why This Scraper?

  • 150+ named fields per property, including both USD and ARS prices, price per square metre, monthly expenses, total and covered area, rooms, bedrooms, bathrooms, garages, age, GPS, the full description and the complete photo set.
  • Agency and owner contacts: name, type, profile URL, phone and WhatsApp number.
  • Two input modes: build searches from location names plus filters, or paste any number of zonaprop search URLs.
  • Every operation and property type: buy, rent and temporary rent, across apartments, houses, PH, land, offices, stores, warehouses and more, anywhere in Argentina.
  • Filters that follow you into URL mode: price, currency, area, room and bedroom filters narrow both a location search and a pasted search URL.
  • One hard cap, easy to budget: results from every page of a search are collected up to a single Max listings limit, so a run is easy to size and cost.
  • Fails loudly instead of billing you for nothing: if the site refuses every request, the run stops with a clear error instead of quietly charging for an empty result.

Use Cases

  • Real estate portals and PropTech products: build a comparison site or internal search index of Argentina property listings with price, area and location data.
  • Investors and market analysts: track price per square metre, expenses and inventory mix across neighborhoods, cities and provinces.
  • Lead generation and CRM tools: pull agency and owner contact details, including phone and WhatsApp, for outreach lists.
  • Market research teams: monitor buy versus rent inventory, pricing trends and property type mix over time.
  • Mapping and listing apps: feed GPS coordinates, photos and descriptions into your own map or listing UI.

Data You Get

Sample shape: values are illustrative placeholders, not from a live listing.

FieldExample
postingId"00000000"
title"Bright 2-bedroom apartment in Palermo"
description"Sunny apartment, fully equipped, close to transport and shops."
operationType"Venta"
propertyType"Departamentos"
price185000
currency"USD"
priceUsd / priceArs185000 / null
expenses80000
totalArea / coveredArea72 / 65
rooms3
bedrooms2
bathrooms1
garages1
neighborhood"Palermo"
city / province"Capital Federal" / "Capital Federal"
latitude / longitude-34.588 / -58.43
publisherName"Jane Doe Propiedades"
publisherType"agency"
publisherPhone / publisherWhatsapp"5491100000000" / "5491100000000"
mainImage / photoCount"https://example.com/photo-1.jpg" / 2 (equal to the length of images)
url"https://www.zonaprop.com.ar/propiedades/clasificado/example-00000000.html"

Every record also carries the property age, amenities, the full photo array, the modified and scraped timestamps, and a set of alias fields that mirror the field names used by other property-scraper outputs (for example id, name, location, amount, geolocation and whatsapp), so a downstream pipeline built for a competitor's field names keeps working without changes.

How to Use

  1. Pick a mode: search (build a search from locations and filters) or url (paste one or more zonaprop search URLs).
  2. Fill in the fields for that mode: locations, operation and property type for search mode, or the URLs to paste for URL mode. Price, currency, area, room and bedroom filters apply in both modes.
  3. Set Max listings to control run size and cost, then click Start.
  4. Download the dataset as JSON, CSV or Excel, or read it through the API.

Search by location and filters:

{
"mode": "search",
"locations": ["Palermo", "Belgrano"],
"operationType": "sale",
"propertyType": "apartment",
"minPrice": 100000,
"maxPrice": 300000,
"currency": "USD",
"sortBy": "price-asc",
"maxListings": 100
}

Paste one or more search URLs:

{
"mode": "url",
"urls": [
"https://www.zonaprop.com.ar/casas-venta-cordoba.html",
"https://www.zonaprop.com.ar/departamentos-alquiler-palermo.html"
],
"maxPages": 5,
"maxListings": 200
}

Search with the full, untruncated description fetched per property:

{
"mode": "search",
"locations": ["Capital Federal"],
"operationType": "rent",
"fetchDetails": true,
"maxListings": 50
}

Search with a bounded connection budget:

{
"mode": "search",
"locations": ["Mendoza"],
"operationType": "sale",
"maxListings": 300,
"residentialCap": 150,
"trafficBudgetMb": 200
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/zonaprop-scraper").call(run_input={
"mode": "search",
"locations": ["Palermo"],
"operationType": "sale",
"maxListings": 50,
})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(listing["title"], listing["price"], listing["currency"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/zonaprop-scraper').call({
mode: 'search',
locations: ['Palermo'],
operationType: 'sale',
maxListings: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

How Max listings and Max pages shape a run

Max listings is the run's single hard cap: the total number of properties returned across every location or URL, split evenly between them. Set it to 0 for no cap. Max pages is an optional extra safety stop on how many result pages (about 30 listings each) are read per location or URL; leave it empty for no page cap, in which case the run is bounded solely by Max listings. Turning on Fetch full description adds one extra request per property to pull the untruncated description text; the search results already include a description, location, GPS, contacts, prices and photos, so most runs never need it.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (build from locations and filters) or url (paste search URLs).
locationsarraynone (prefill: ["Capital Federal"])Location names to search, e.g. Capital Federal, Palermo, Cordoba. Search mode only.
operationTypestringsaleBuy (sale), rent, or temporary rent. Search mode only.
propertyTypestringallProperty category: all, apartment, house, ph, land, office, store, warehouse, country_house, farm, office_practice or building. Search mode only.
minPriceintegernoneMinimum price in the listing currency. Applies in both modes, including a pasted URL.
maxPriceintegernoneMaximum price in the listing currency. Applies in both modes, including a pasted URL.
currencystringanyKeep only listings in this currency: any, USD or ARS. Applies in both modes, including a pasted URL.
minAreaintegernoneMinimum total area in square metres. Applies in both modes, including a pasted URL.
maxAreaintegernoneMaximum total area in square metres. Applies in both modes, including a pasted URL.
minRoomsintegernoneMinimum number of rooms (ambientes). Applies in both modes, including a pasted URL.
maxRoomsintegernoneMaximum number of rooms (ambientes). Applies in both modes, including a pasted URL.
minBedroomsintegernoneMinimum number of bedrooms (dormitorios). Applies in both modes, including a pasted URL. There is no maximum-bedrooms filter.
sortBystringrelevancerelevance, price-asc, price-desc or newest. Search mode only; a pasted URL carries its own order.
urlsarraynone (prefill: one sample search URL)One or more zonaprop search URLs. URL mode only. Location, operation, property type and sort order above are ignored in this mode; the filters above still apply.
fetchDetailsbooleanfalseFetch each property page to add the full untruncated description. Off by default; the listing already carries a description, location, GPS, contacts, prices and photos.
maxPagesintegernone (leave empty = unlimited)Optional safety stop on how many result pages to read per location or URL (about 30 listings per page). Does not cap the run; Max listings does that.
maxListingsinteger20The run's single hard cap: maximum total listings across all searches. Set 0 for unlimited.
proxyobjectnone (prefill: residential, country Argentina)Connection settings. When left empty, the actor applies this same residential Argentina configuration automatically, since the site only serves results to an Argentine residential connection.
allowProxyDowngradebooleantrueAllow the run to fall back to a cheaper backup connection after the primary connection keeps failing, and stay on it for the rest of the run. Reaching the residential usage cap or traffic budget still switches to the backup connection regardless of this setting.
residentialCapintegernone (empty or 0 = no cap)Optional ceiling on how many requests may use the primary residential connection in one run. Once reached, the run switches to the cheaper backup connection.
trafficBudgetMbintegernone (empty or 0 = no budget)Optional cap on total downloaded data per run, in megabytes. Once reached, the run switches to the cheaper backup connection.
mcpConnectorsarraynoneOptional: send a condensed summary of each record to apps you authorized under Integrations (Notion, Linear, Airtable or Apify).
notionParentPageUrlstringnoneNotion connector only: page (URL or id) under which item pages are created.
maxNotifyListingsinteger50Cap on items written to each connector per run. Does not affect the dataset.

Output Example

Sample shape: values are illustrative placeholders, not from a live listing.

{
"postingId": "00000000",
"postingCode": "AAAAAA",
"url": "https://www.zonaprop.com.ar/propiedades/clasificado/example-00000000.html",
"title": "Bright 2-bedroom apartment in Palermo",
"description": "Sunny apartment, fully equipped, close to transport and shops.",
"propertyType": "Departamentos",
"operationType": "Venta",
"status": "ONLINE",
"price": 185000,
"currency": "USD",
"priceUsd": 185000,
"priceArs": null,
"expenses": 80000,
"expensesCurrency": "$",
"totalArea": 72,
"coveredArea": 65,
"rooms": 3,
"bedrooms": 2,
"bathrooms": 1,
"garages": 1,
"age": 8,
"address": "Example St 100",
"neighborhood": "Palermo",
"city": "Capital Federal",
"province": "Capital Federal",
"country": "Argentina",
"latitude": -34.588,
"longitude": -58.43,
"mainImage": "https://example.com/photo-1.jpg",
"images": ["https://example.com/photo-1.jpg", "https://example.com/photo-2.jpg"],
"photoCount": 2,
"amenities": ["Pool", "Gym"],
"publisherName": "Jane Doe Propiedades",
"publisherType": "agency",
"publisherPhone": "5491100000000",
"publisherWhatsapp": "5491100000000",
"hasWhatsapp": true,
"modifiedDate": "2026-01-01T00:00:00-0300",
"scrapedAt": "2026-01-01T00:00:00+00:00"
}

Plan Requirement

zonaprop.com.ar serves results only to an Argentine residential connection, so keep the default connection configuration (residential, country Argentina) for reliable results; a datacenter-only connection is turned away by the site. If a residential connection is not available on your plan, the actor logs a clear warning and automatically tries a cheaper backup connection so the run still has a chance of returning results, but a residential connection is strongly recommended.

Cost controls

The actor automatically retries with a different connection when one is refused. To bound connection spend you can also:

  • set residentialCap to limit how many requests use the primary residential connection per run;
  • set trafficBudgetMb to cap total downloaded data per run;
  • leave allowProxyDowngrade on (the default) so the run falls back to a cheaper backup connection after the primary connection keeps failing, and stays on it for the rest of the run.

When either the residential cap or the traffic budget is reached, the run continues on the cheaper backup connection instead of stopping.

FAQ

How much does it cost?

You pay per property returned, plus a small optional charge only when you turn on the full-description fetch. The Pricing tab shows the current rates. Use Max listings to cap the cost of any run.

This actor collects only publicly available property listing data. You are responsible for how you use it: follow zonaprop's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Listing facts such as price and area are generally not protected, but photos and agency data may be subject to third-party rights.

Can I schedule it, or only get new listings?

You can schedule the actor from the Schedules tab like any other actor. This actor does not keep any state between runs: every run reads whatever is live on zonaprop at that moment, from scratch. To find newly added or changed listings, compare the postingId field (and modifiedDate) across two runs' datasets yourself.

Why do my price, area and room filters still apply when I paste a URL?

By design. Location, operation type, property type and sort order are only meaningful in search mode, since a pasted URL already encodes them, so they're ignored in URL mode. But price, currency, area, room and bedroom filters narrow the results regardless of mode, so they still apply on top of a pasted URL.

Why did my run fail instead of returning an empty dataset?

If URL mode has no search URLs, the run fails immediately with an input error before any request is made, and nothing is charged for results; add at least one zonaprop search URL. If the site refuses every single request, the run stops with a clear error instead of billing you for a result that looks empty but was actually never read. A genuinely empty search, where the site answered but had nothing to show, still succeeds normally with a "no listings matched" result. If you see the connection-failure error, retry with an Argentina residential connection.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

🔗 Want more real estate data?

Pair this actor with these related scrapers from the same team:

🚗 Dubizzle.com Scraper
From $1/1K. Scrape dubizzle.com across the UAE for property, motors, and agent listings...
🏠 QuintoAndar Scraper
Scrape QuintoAndar property listings across Brazil with 80+ fields, including rent, sale...
🏠 Real Estate AU Agents Scraper
Scrape Australian real estate agent and agency profiles by suburb or profile URLs...
🏠 Fotocasa.es
From $1/1K. Scrape Spain property listings from fotocasa.es. Get price, surface, rooms...
🏠 Domclick RU Property Scraper
Extract property listings from domclick.ru, one of Russia’s largest real estate portals...
🏠 ImmobilienScout24.de Scraper
$0.9💰/1K for Gold discount. Extract property listings from immobilienscout24.de...

👉 Browse all abotapi scrapers

💬 Support & custom scrapers

  • 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • 🛠️ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
  • ⭐ Enjoying it? A quick review on the actor page helps other users find it.