Zonaprop Scraper | Argentina Real Estate Listings & API avatar

Zonaprop Scraper | Argentina Real Estate Listings & API

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Zonaprop Scraper | Argentina Real Estate Listings & API

Zonaprop Scraper | Argentina Real Estate Listings & API

Scrape Zonaprop Argentina property listings for sale or rent: price in USD and ARS, expensas, ambientes, bedrooms, bathrooms, m2, address, barrio, coordinates, agent phone and WhatsApp. Datos inmobiliarios de departamentos y casas en venta o alquiler. Export JSON, CSV, Excel.

Pricing

from $6.15 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

Zonaprop Scraper | Argentina Real Estate Listings & API

Zonaprop Scraper: Argentina Real Estate Listings and API

Extract structured Argentina real estate data from Zonaprop (zonaprop.com.ar), the leading property portal in Argentina. This Zonaprop scraper turns any Zonaprop search into a clean dataset of property listings for sale or rent, with price in USD and ARS, expensas, ambientes, bedrooms, bathrooms, surface area, full address, neighborhood, map coordinates, and the agent phone, WhatsApp and agency profile. Point it at any Zonaprop search URL and every filter in that URL is respected automatically.

Ideal for property listings scraper workflows, datos inmobiliarios pipelines, market and price analysis, lead generation for inmobiliarias, CRM enrichment, and monitoring departamentos y casas en venta o alquiler across Buenos Aires, Capital Federal (CABA), Cordoba, Rosario, Mendoza, Mar del Plata and the provinces.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor takes one or more Zonaprop search results URLs, paginates through the matching properties, and writes one normalized record per listing to the run's dataset. Any filter encoded in the URL (operation for sale or rent, property type, location, price band, rooms) is respected automatically, so you build the search on the Zonaprop site and paste the URL. You can also apply extra numeric filters (price, bedrooms, bathrooms, area) directly in the input.

Core fields (price, currency, price per square meter, operation, property type, ambientes, bedrooms, bathrooms, parking, area, location, city) come from the results page. When withDetails is on, each listing is opened and enriched with the full description, amenities, complete image gallery, map coordinates, dual currency price in USD and ARS, expensas, structured address and neighborhood, and the agent contact details (phone, WhatsApp, agency name, logo and profile). Prices are numeric and carry their currency, missing values are returned as null, never invented.

Why this scraper

  • Dual currency. Both priceUsd and priceArs when Zonaprop quotes them, plus the primary price and currency.
  • Investor metrics. pricePerM2 computed for you, plus expensas (maintenance), ambientes, totalAreaM2 and builtAreaM2.
  • Real contacts. Agent agentPhone and agentWhatsapp as full numbers, plus the agency name, logo, id and profile.
  • Structured location. address, neighborhood (barrio), zone, city, province and country, not just one raw string, plus map coordinates.
  • Batch and filters. Multiple search URLs per run and client side price, bedroom, bathroom and area filters that skip unwanted listings before any detail work.

Quickstart

Open the actor, paste this into the input, and press Run. It returns apartments for sale in Capital Federal with full detail.

{
"startUrl": "https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html",
"withDetails": true,
"maxListings": 50
}

Build any search on zonaprop.com.ar (choose sale or rent, property type, location, price and room filters) and paste its URL into startUrl. Set withDetails to false for a faster run that returns only the core listing fields.

Input reference

FieldTypeRequiredDefaultDescription
startUrlstringone URL required(example search)A Zonaprop search results URL. Apply any filters on zonaprop.com.ar and paste the resulting URL.
startUrlsarrayno(empty)Optional batch of Zonaprop search URLs (strings or { "url": "..." } objects) scraped in one run.
maxListingsintegerno50Maximum listings to collect across all URLs. Empty means no limit on paid plans. Free plans are capped at 10.
withDetailsbooleannotrueWhen on (paid plans), each listing detail page is fetched for description, amenities, gallery, coordinates, dual currency price, expensas, structured location and agent contacts. Off automatically on free plans.
minPriceintegerno(none)Keep only listings priced at or above this amount.
maxPriceintegerno(none)Keep only listings priced at or below this amount.
priceCurrencystringnoAnyRestrict to USD or ARS and apply the price band to that currency.
minBedroomsintegerno(none)Keep only listings with at least this many bedrooms.
maxBedroomsintegerno(none)Keep only listings with at most this many bedrooms.
minBathroomsintegerno(none)Keep only listings with at least this many bathrooms.
minAreaM2integerno(none)Keep only listings with total area at or above this many m2.
maxAreaM2integerno(none)Keep only listings with total area at or below this many m2.

Output reference

One dataset item per listing. Types: string, number, boolean, string[], object, or null when the source value is absent. The description, amenities, images, coordinates, address, dual currency, agent* and publisher* fields are populated only when withDetails is on.

FieldTypeDescription
imageUrlstringPrimary listing image URL.
titlestringListing title as shown on Zonaprop.
pricenumberPrimary price in the listing currency.
currencystringCurrency of price, USD or ARS.
priceUsdnumberPrice in US dollars when quoted.
priceArsnumberPrice in Argentine pesos when quoted.
pricePerM2numberPrice per square meter, or null.
maintenanceFeenumberExpensas (monthly maintenance), or null.
maintenanceCurrencystringCurrency of the expensas, ARS.
operationTypestringOperation, venta (sale) or alquiler (rent).
propertyTypestringProperty type, for example Departamento, Casa, PH.
ambientesnumberNumber of ambientes (rooms), or null.
bedroomsnumberNumber of bedrooms, or null.
bathroomsnumberNumber of bathrooms, or null.
halfBathroomsnumberNumber of half bathrooms (toilettes), or null.
parkingSpacesnumberNumber of parking spaces (cocheras), or null.
numberOfFloorsnumberNumber of floors, or null.
orientationstringOrientation or disposition, for example Frente, Contrafrente, or null.
propertyAgenumberProperty age in years (0 for new build), or null.
isNewPropertybooleantrue when the listing is a estrenar or under construction.
statusstringListing status, for example ONLINE.
isReservedbooleantrue when the unit is marked reserved.
publishedAtstringISO 8601 timestamp of when the listing was published.
totalAreaM2numberTotal area in square meters, or null.
builtAreaM2numberBuilt or covered area in square meters, or null.
addressstringStreet address when the publisher shows it, or null.
locationstringFull location string as shown on the card.
neighborhoodstringBarrio, or null.
zonestringZona or micro area, or null.
citystringCity, for example Capital Federal.
provincestringProvince, or null.
countrystringCountry, Argentina.
postingCodestringZonaprop reference code, or null.
contactNamestringContact person name when published separately, or null.
listingIdstringZonaprop listing id.
urlstringCanonical listing URL.
descriptionstringFull listing description (details mode).
amenitiesstring[]Amenity labels such as Parrilla, Ascensor, Patio (details mode).
imagesstring[]Full image gallery URLs (details mode).
coordinatesobject{ "lat", "lng" } map coordinates (details mode), or null.
agentPhonestringAgent phone number (details mode), or null.
agentWhatsappstringAgent WhatsApp number (details mode), or null.
agentEmailstringAgent email (details mode), or null when not published.
publisherNamestringAgency or publisher name (details mode).
publisherLogostringAgency logo URL (details mode).
publisherobjectPublisher profile: name, url, logo, publisherId, partialPhone, license, email, rating, reviewsCount.
publisherIdstringPublisher id (details mode).
publisherRatingnumberPublisher rating (details mode), or null when unrated.
isDevelopmentbooleantrue when the item is a new development (emprendimiento).
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed page fetch, a single item with a populated error is written instead.
detailErrorstringnull normally. Set when the listing was returned but its detail page could not be enriched.

Example output record

Real record from a live run (input {"startUrl": "https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html", "withDetails": true}). The description, amenities and images values are trimmed here for display; a real run returns the full text, all amenities and all image URLs.

{
"imageUrl": "https://imgar.zonapropcdn.com/avisos/1/00/59/73/58/40/360x266/2068427256.jpg?isFirstImage=true",
"title": "Departamento · 208m² · 3 Ambientes · 1 Cochera · Venta - Palermo Chico",
"price": 450000,
"currency": "USD",
"priceUsd": 450000,
"priceArs": null,
"pricePerM2": 2163,
"maintenanceFee": 650000,
"maintenanceCurrency": "ARS",
"operationType": "venta",
"propertyType": "Departamento",
"ambientes": 3,
"bedrooms": 2,
"bathrooms": 2,
"halfBathrooms": 1,
"parkingSpaces": 1,
"numberOfFloors": 1,
"orientation": "Contrafrente",
"propertyAge": 30,
"isNewProperty": false,
"status": "ONLINE",
"isReserved": false,
"publishedAt": "2026-07-29T16:44:46Z",
"totalAreaM2": 208,
"builtAreaM2": 208,
"address": "Cerviño al 3900",
"location": "Palermo Chico, Palermo",
"neighborhood": "Palermo",
"zone": "Palermo Chico",
"city": "Capital Federal",
"province": null,
"country": "Argentina",
"postingCode": "MAP4782617",
"contactName": null,
"listingId": "59735840",
"url": "https://www.zonaprop.com.ar/propiedades/clasificado/veclapin-venta-3-ambientes-con-dependencia-200-m-sup2--59735840.html",
"description": "Hermoso semi piso reciclado sobre Boulevard Cervino. Gran patio con parrilla. 2 dormitorios con dependencia. ...",
"amenities": ["Parrilla", "Laundry", "Internet / Wifi", "Encargado / Vigilancia", "Ascensor", "Patio", "Aire acondicionado"],
"images": [
"https://imgar.zonapropcdn.com/avisos/resize/1/00/59/73/58/40/1200x1200/2068427256.jpg?isFirstImage=true",
"https://imgar.zonapropcdn.com/avisos/resize/1/00/59/73/58/40/1200x1200/2068427258.jpg"
],
"coordinates": { "lat": -34.5787013, "lng": -58.4141907 },
"agentPhone": "+541131809414",
"agentWhatsapp": "+541131809414",
"agentEmail": null,
"publisherName": "Martin Pinus",
"publisherLogo": "https://imgar.zonapropcdn.com/empresas/1/00/17/62/27/87/130x70/logo.jpg",
"publisher": {
"name": "Martin Pinus",
"url": "https://www.zonaprop.com.ar/inmobiliarias/martin-pinus_17622787-inmuebles.html",
"logo": "https://imgar.zonapropcdn.com/empresas/1/00/17/62/27/87/130x70/logo.jpg",
"publisherId": "17622787",
"partialPhone": "+54 1",
"license": null,
"email": null,
"rating": null,
"reviewsCount": null
},
"publisherId": "17622787",
"publisherRating": null,
"isDevelopment": false,
"observedAt": "2026-09-05T14:39:52.235Z",
"error": null,
"detailError": null
}

How it compares

CapabilityThis actorTypical Zonaprop scrapers
Paste a Zonaprop search URLYesSome
Multiple search URLs per runYesSome
Price, bedroom, bathroom, area filters in inputYesSome
Dual currency price (USD and ARS)YesRare
Price per m2 computedYesRare
Expensas (maintenance)YesRare
Ambientes, bedrooms, bathrooms, half bathsYesPartial
Structured address, barrio, city, provinceYesPartial
Map coordinatesYesSome
Agent phone and WhatsApp (full numbers)YesRare
Agency name, logo, id, ratingYesPartial
Full image gallery and amenitiesYesSome
No charge on failure, spend cap respectedYesVaries

Named actors compared on the Apify Store: ecomscrape/zonaprop-property-listings-scraper, memo23/zonaprop-scraper, ocrad/zonaprop-property-scraper, crawlerbros/zonaprop-scraper, majere11/zonaprop-scraper. This actor accepts their inputs (search URL, multiple URLs, operation, property type, location, price range, beds, baths, area, max results) and returns their outputs plus the extras above.

Use cases

  • Real estate market analysis. Track prices, price per m2 and inventory for departamentos and casas by barrio.
  • Investment research. Compare USD and ARS pricing, expensas and area to spot opportunities.
  • Lead generation. Build lists of inmobiliarias and agents with phone and WhatsApp for outreach.
  • CRM and portal enrichment. Feed clean, normalized listings into your own database or app.
  • Price monitoring. Re-run on a schedule to watch new listings and price changes over time.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zonaprop-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html","withDetails":true,"maxListings":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zonaprop-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.zonaprop.com.ar/departamentos-alquiler-palermo.html","maxListings":300}'

Apify CLI:

apify call scrapers_lat/zonaprop-scraper \
--input '{"startUrl":"https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per listing returned (result event). Detail enrichment is billed per enriched listing (details event). See the pricing tab.
  • No charge on failure. If a page fetch fails, the actor writes a single item with a populated error and does not charge for it. Listings whose detail page could not be enriched are still delivered and are not charged the details add-on.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run, and detail mode is off for them. Upgrade for higher maxListings and detail enrichment.

FAQ and troubleshooting

How do I filter by location, price or property type? Build the search on zonaprop.com.ar using its own filters, then paste the resulting URL into startUrl. Every filter in the URL is applied automatically. You can also set minPrice, maxPrice, priceCurrency, minBedrooms, maxBedrooms, minBathrooms, minAreaM2 and maxAreaM2 in the input.

Can I scrape several searches at once? Yes. Put multiple Zonaprop search URLs in startUrls and they are all scraped in one run.

What is the difference between the two modes? With withDetails on (paid plans) each record includes the description, amenities, image gallery, coordinates, dual currency price, expensas, structured address and agent contacts. With it off you get the core listing fields only, which is faster.

Which currency is the price in? Whatever the listing uses. currency is USD or ARS and price is the numeric amount. When both are quoted you also get priceUsd and priceArs.

Why are some fields null? Not every listing publishes every field (for example an email, a rating, expensas or an exact address). Missing source values are returned as null, never invented.

How do I get more than 10 results? Raise maxListings on a paid Apify plan. Free plans are capped at 10 records per run.

Is this an official Zonaprop tool? No. This actor is independent and has no affiliation with Zonaprop. It reads only data that is publicly available on the site.

Example tasks

Preconfigured templates for common scenarios. Open one and press Run, or use it as a starting point:

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Zonaprop Scraper: datos inmobiliarios de Argentina y API

Extrae datos inmobiliarios de Argentina desde Zonaprop (zonaprop.com.ar), el portal de propiedades lider de Argentina. Este scraper de Zonaprop convierte cualquier busqueda de Zonaprop en un dataset limpio de propiedades en venta o alquiler, con precio en USD y ARS, expensas, ambientes, dormitorios, baños, superficie, direccion, barrio, coordenadas del mapa y el telefono del agente, WhatsApp y perfil de la inmobiliaria. Apuntalo a cualquier URL de busqueda de Zonaprop y cada filtro de esa URL se respeta de forma automatica.

Ideal para flujos de scraper de propiedades, pipelines de datos inmobiliarios, analisis de mercado y precios, generacion de leads para inmobiliarias, enriquecimiento de CRM y monitoreo de departamentos y casas en venta o alquiler en Buenos Aires, Capital Federal (CABA), Cordoba, Rosario, Mendoza, Mar del Plata y las provincias.

📥 Entrada · 📤 Salida · 💰 Precios · ▶️ Ejemplos

Que hace

El actor toma una o varias URLs de resultados de busqueda de Zonaprop, recorre las paginas de propiedades que coinciden y escribe un registro normalizado por aviso en el dataset de la ejecucion. Cualquier filtro codificado en la URL (operacion de venta o alquiler, tipo de propiedad, ubicacion, rango de precio, ambientes) se respeta de forma automatica, asi que armas la busqueda en el sitio de Zonaprop y pegas la URL. Tambien podes aplicar filtros numericos extra (precio, dormitorios, baños, superficie) directamente en la entrada.

Los campos principales (precio, moneda, precio por metro cuadrado, operacion, tipo de propiedad, ambientes, dormitorios, baños, cochera, superficie, ubicacion, ciudad) vienen de la pagina de resultados. Cuando withDetails esta activo, cada aviso se abre y se enriquece con la descripcion completa, las comodidades, la galeria de imagenes completa, las coordenadas del mapa, el precio en doble moneda USD y ARS, las expensas, la direccion y el barrio estructurados y los datos de contacto del agente (telefono, WhatsApp, nombre de la inmobiliaria, logo y perfil). Los precios son numericos y llevan su moneda, los valores faltantes se devuelven como null, nunca inventados.

Por que este scraper

  • Doble moneda. Tanto priceUsd como priceArs cuando Zonaprop los publica, mas el price principal y currency.
  • Metricas para inversores. pricePerM2 calculado, mas expensas (mantenimiento), ambientes, totalAreaM2 y builtAreaM2.
  • Contactos reales. agentPhone y agentWhatsapp como numeros completos, mas el nombre de la inmobiliaria, logo, id y perfil.
  • Ubicacion estructurada. address, neighborhood (barrio), zone, city, province y country, no solo un texto crudo, mas las coordinates del mapa.
  • Lote y filtros. Varias URLs de busqueda por ejecucion y filtros de precio, dormitorios, baños y superficie del lado del cliente que descartan avisos no deseados antes de cualquier trabajo de detalle.

Inicio rapido

Abri el actor, pega esto en la entrada y presiona Run. Devuelve departamentos en venta en Capital Federal con detalle completo.

{
"startUrl": "https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html",
"withDetails": true,
"maxListings": 50
}

Arma cualquier busqueda en zonaprop.com.ar (elegi venta o alquiler, tipo de propiedad, ubicacion, precio y filtros de ambientes) y pega su URL en startUrl. Configura withDetails en false para una ejecucion mas rapida que devuelve solo los campos principales.

Referencia de entrada

CampoTipoRequeridoPredeterminadoDescripcion
startUrlstringuna URL requerida(busqueda de ejemplo)Una URL de resultados de Zonaprop. Aplica filtros en zonaprop.com.ar y pega la URL.
startUrlsarrayno(vacio)Lote opcional de URLs de Zonaprop (strings u objetos { "url": "..." }) que se procesan en una ejecucion.
maxListingsintegerno50Maximo de avisos a recolectar en todas las URLs. Vacio significa sin limite en planes pagos. Los planes gratuitos se limitan a 10.
withDetailsbooleannotrueCuando esta activo (planes pagos), cada pagina de detalle se busca para descripcion, comodidades, galeria, coordenadas, precio en doble moneda, expensas, ubicacion estructurada y contactos del agente. Se desactiva solo en planes gratuitos.
minPriceintegerno(ninguno)Conserva solo avisos con precio igual o mayor a este monto.
maxPriceintegerno(ninguno)Conserva solo avisos con precio igual o menor a este monto.
priceCurrencystringnoAnyRestringe a USD o ARS y aplica el rango de precio a esa moneda.
minBedroomsintegerno(ninguno)Conserva solo avisos con al menos esta cantidad de dormitorios.
maxBedroomsintegerno(ninguno)Conserva solo avisos con como maximo esta cantidad de dormitorios.
minBathroomsintegerno(ninguno)Conserva solo avisos con al menos esta cantidad de baños.
minAreaM2integerno(ninguno)Conserva solo avisos con superficie total igual o mayor a estos m2.
maxAreaM2integerno(ninguno)Conserva solo avisos con superficie total igual o menor a estos m2.

Referencia de salida

Un item de dataset por aviso. Tipos: string, number, boolean, string[], object, o null cuando el valor de origen esta ausente. Los campos description, amenities, images, coordinates, address, la doble moneda, agent* y publisher* se completan solo cuando withDetails esta activo.

CampoTipoDescripcion
imageUrlstringURL de la imagen principal del aviso.
titlestringTitulo del aviso como se muestra en Zonaprop.
pricenumberPrecio principal en la moneda del aviso.
currencystringMoneda de price, USD o ARS.
priceUsdnumberPrecio en dolares cuando se publica.
priceArsnumberPrecio en pesos argentinos cuando se publica.
pricePerM2numberPrecio por metro cuadrado, o null.
maintenanceFeenumberExpensas (mantenimiento mensual), o null.
maintenanceCurrencystringMoneda de las expensas, ARS.
operationTypestringOperacion, venta o alquiler.
propertyTypestringTipo de propiedad, por ejemplo Departamento, Casa, PH.
ambientesnumberCantidad de ambientes, o null.
bedroomsnumberCantidad de dormitorios, o null.
bathroomsnumberCantidad de baños, o null.
halfBathroomsnumberCantidad de toilettes, o null.
parkingSpacesnumberCantidad de cocheras, o null.
numberOfFloorsnumberCantidad de plantas, o null.
orientationstringOrientacion o disposicion, por ejemplo Frente, Contrafrente, o null.
propertyAgenumberAntiguedad en años (0 para a estrenar), o null.
isNewPropertybooleantrue cuando el aviso es a estrenar o en construccion.
statusstringEstado del aviso, por ejemplo ONLINE.
isReservedbooleantrue cuando la unidad esta marcada como reservada.
publishedAtstringMarca de tiempo ISO 8601 de cuando se publico el aviso.
totalAreaM2numberSuperficie total en metros cuadrados, o null.
builtAreaM2numberSuperficie construida o cubierta en metros cuadrados, o null.
addressstringDireccion cuando el publicador la muestra, o null.
locationstringTexto de ubicacion completo como se muestra en la tarjeta.
neighborhoodstringBarrio, o null.
zonestringZona o micro area, o null.
citystringCiudad, por ejemplo Capital Federal.
provincestringProvincia, o null.
countrystringPais, Argentina.
postingCodestringCodigo de referencia de Zonaprop, o null.
contactNamestringNombre de contacto cuando se publica por separado, o null.
listingIdstringId del aviso en Zonaprop.
urlstringURL canonica del aviso.
descriptionstringDescripcion completa del aviso (modo detalle).
amenitiesstring[]Comodidades como Parrilla, Ascensor, Patio (modo detalle).
imagesstring[]URLs de la galeria completa de imagenes (modo detalle).
coordinatesobjectCoordenadas del mapa { "lat", "lng" } (modo detalle), o null.
agentPhonestringTelefono del agente (modo detalle), o null.
agentWhatsappstringWhatsApp del agente (modo detalle), o null.
agentEmailstringEmail del agente (modo detalle), o null cuando no se publica.
publisherNamestringNombre de la inmobiliaria o publicador (modo detalle).
publisherLogostringURL del logo de la inmobiliaria (modo detalle).
publisherobjectPerfil del publicador: name, url, logo, publisherId, partialPhone, license, email, rating, reviewsCount.
publisherIdstringId del publicador (modo detalle).
publisherRatingnumberCalificacion del publicador (modo detalle), o null sin calificacion.
isDevelopmentbooleantrue cuando el item es un emprendimiento nuevo.
observedAtstringMarca de tiempo ISO 8601 de cuando se recolecto el registro.
errorstringnull en exito. Ante una falla de descarga, se escribe un item con error completo en su lugar.
detailErrorstringnull normalmente. Se completa cuando el aviso se devolvio pero su pagina de detalle no se pudo enriquecer.

Ejemplo de registro de salida

Registro real de una ejecucion en vivo (entrada {"startUrl": "https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html", "withDetails": true}). Los valores de description, amenities e images estan recortados aca para mostrar; una ejecucion real devuelve el texto completo, todas las comodidades y todas las URLs de imagen.

{
"imageUrl": "https://imgar.zonapropcdn.com/avisos/1/00/59/73/58/40/360x266/2068427256.jpg?isFirstImage=true",
"title": "Departamento · 208m² · 3 Ambientes · 1 Cochera · Venta - Palermo Chico",
"price": 450000,
"currency": "USD",
"priceUsd": 450000,
"priceArs": null,
"pricePerM2": 2163,
"maintenanceFee": 650000,
"maintenanceCurrency": "ARS",
"operationType": "venta",
"propertyType": "Departamento",
"ambientes": 3,
"bedrooms": 2,
"bathrooms": 2,
"halfBathrooms": 1,
"parkingSpaces": 1,
"numberOfFloors": 1,
"orientation": "Contrafrente",
"propertyAge": 30,
"isNewProperty": false,
"status": "ONLINE",
"isReserved": false,
"publishedAt": "2026-07-29T16:44:46Z",
"totalAreaM2": 208,
"builtAreaM2": 208,
"address": "Cerviño al 3900",
"location": "Palermo Chico, Palermo",
"neighborhood": "Palermo",
"zone": "Palermo Chico",
"city": "Capital Federal",
"province": null,
"country": "Argentina",
"postingCode": "MAP4782617",
"contactName": null,
"listingId": "59735840",
"url": "https://www.zonaprop.com.ar/propiedades/clasificado/veclapin-venta-3-ambientes-con-dependencia-200-m-sup2--59735840.html",
"coordinates": { "lat": -34.5787013, "lng": -58.4141907 },
"agentPhone": "+541131809414",
"agentWhatsapp": "+541131809414",
"publisherName": "Martin Pinus",
"publisherId": "17622787",
"isDevelopment": false,
"observedAt": "2026-09-05T14:39:52.235Z",
"error": null,
"detailError": null
}

Como se compara

CapacidadEste actorScrapers de Zonaprop tipicos
Pegar una URL de busqueda de ZonapropSiAlgunos
Varias URLs de busqueda por ejecucionSiAlgunos
Filtros de precio, dormitorios, baños, superficie en la entradaSiAlgunos
Precio en doble moneda (USD y ARS)SiRaro
Precio por m2 calculadoSiRaro
Expensas (mantenimiento)SiRaro
Ambientes, dormitorios, baños, toilettesSiParcial
Direccion, barrio, ciudad, provincia estructuradosSiParcial
Coordenadas del mapaSiAlgunos
Telefono y WhatsApp del agente (numeros completos)SiRaro
Nombre, logo, id y calificacion de la inmobiliariaSiParcial
Galeria de imagenes completa y comodidadesSiAlgunos
Sin cargo ante falla, tope de gasto respetadoSiVaria

Actores comparados en la Apify Store: ecomscrape/zonaprop-property-listings-scraper, memo23/zonaprop-scraper, ocrad/zonaprop-property-scraper, crawlerbros/zonaprop-scraper, majere11/zonaprop-scraper. Este actor acepta sus entradas (URL de busqueda, varias URLs, operacion, tipo de propiedad, ubicacion, rango de precio, dormitorios, baños, superficie, maximo de resultados) y devuelve sus salidas mas los extras de arriba.

Casos de uso

  • Analisis de mercado inmobiliario. Segui precios, precio por m2 e inventario de departamentos y casas por barrio.
  • Investigacion de inversion. Compara precios en USD y ARS, expensas y superficie para detectar oportunidades.
  • Generacion de leads. Arma listas de inmobiliarias y agentes con telefono y WhatsApp para contacto.
  • Enriquecimiento de CRM y portales. Alimenta avisos limpios y normalizados en tu propia base o app.
  • Monitoreo de precios. Reejecuta de forma programada para vigilar avisos nuevos y cambios de precio en el tiempo.

Ejecutar via API y CLI

Inicia una ejecucion y espera a que termine, luego lee el dataset. Reemplaza <TOKEN> con tu token de API de Apify.

Ejecucion sincronica que devuelve los items del dataset en una llamada:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zonaprop-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html","withDetails":true,"maxListings":25}'

Iniciar una ejecucion asincronica:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zonaprop-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.zonaprop.com.ar/departamentos-alquiler-palermo.html","maxListings":300}'

Apify CLI:

apify call scrapers_lat/zonaprop-scraper \
--input '{"startUrl":"https://www.zonaprop.com.ar/departamentos-venta-capital-federal.html"}'

Obtener resultados

Cada ejecucion escribe en un dataset. Obtene los items como JSON, CSV o Excel cambiando format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> se devuelve como defaultDatasetId en el objeto de la ejecucion. Usa offset y limit para recorrer conjuntos grandes. clean=true descarta campos vacios e internos.

Facturacion y limites

  • Pago por resultado. Se cobra por aviso devuelto (evento result). El enriquecimiento de detalle se cobra por aviso enriquecido (evento details). Ver la pestaña de precios.
  • Sin cargo ante falla. Si una descarga falla, el actor escribe un item con error completo y no lo cobra. Los avisos cuya pagina de detalle no se pudo enriquecer se entregan igual y no se cobra el add-on de detalle.
  • Tope de gasto respetado. Configura maxTotalChargeUsd en la ejecucion; al alcanzarlo, el actor deja de emitir y cobrar mas resultados facturables.
  • Los planes gratuitos de Apify se limitan a 10 registros por ejecucion, y el modo detalle esta desactivado para ellos. Mejora el plan para mayor maxListings y enriquecimiento de detalle.

Preguntas frecuentes

Como filtro por ubicacion, precio o tipo de propiedad? Arma la busqueda en zonaprop.com.ar con sus propios filtros y pega la URL resultante en startUrl. Cada filtro de la URL se aplica de forma automatica. Tambien podes configurar minPrice, maxPrice, priceCurrency, minBedrooms, maxBedrooms, minBathrooms, minAreaM2 y maxAreaM2 en la entrada.

Puedo scrapear varias busquedas a la vez? Si. Pone varias URLs de busqueda de Zonaprop en startUrls y se procesan todas en una ejecucion.

Cual es la diferencia entre los dos modos? Con withDetails activo (planes pagos) cada registro incluye la descripcion, comodidades, galeria de imagenes, coordenadas, precio en doble moneda, expensas, direccion estructurada y contactos del agente. Con el desactivado obtenes solo los campos principales, que es mas rapido.

En que moneda esta el precio? La que usa el aviso. currency es USD o ARS y price es el monto numerico. Cuando se publican ambas tambien obtenes priceUsd y priceArs.

Por que algunos campos son null? No todos los avisos publican todos los campos (por ejemplo un email, una calificacion, expensas o una direccion exacta). Los valores de origen ausentes se devuelven como null, nunca inventados.

Como obtengo mas de 10 resultados? Aumenta maxListings en un plan pago de Apify. Los planes gratuitos se limitan a 10 registros por ejecucion.

Es una herramienta oficial de Zonaprop? No. Este actor es independiente y no tiene afiliacion con Zonaprop. Solo lee datos que estan disponibles de forma publica en el sitio.

Mas scrapers en scrapers.lat

Construido y mantenido por scrapers.lat, donde publicamos scrapers para plataformas publicas de Estados Unidos y America Latina: registros de empresas, datos de gobierno, finanzas, e-commerce y mas. Explora el catalogo o pedi un scraper a medida en scrapers.lat.