Zonaprop Scraper — Avisos Inmobiliarios de Argentina avatar

Zonaprop Scraper — Avisos Inmobiliarios de Argentina

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Zonaprop Scraper — Avisos Inmobiliarios de Argentina

Zonaprop Scraper — Avisos Inmobiliarios de Argentina

Extrae avisos inmobiliarios de Zonaprop (Argentina) con precio normalizado, superficie, ambientes, ubicacion y datos de contacto. Filtra por barrio, operacion y rango de precio.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Juan ignacio Veltri

Juan ignacio Veltri

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extrae avisos inmobiliarios de Zonaprop (Argentina) con precio normalizado, superficie, ambientes, ubicacion y datos de contacto. Filtra por barrio, operacion y rango de precio.

Devuelve datos limpios y estructurados, sin captchas, sin sesiones y sin mantener proxies.

En cada aviso: precio con moneda ya normalizada, expensas, superficie en m², ambientes, dormitorios, baños, cocheras, barrio y foto de portada.

Activando "Entrar a cada aviso": además el contacto de la inmobiliaria (nombre, teléfono y perfil), la dirección exacta y todas las fotos. Cuesta un request extra por aviso y tiene un recargo por resultado.


Qué hace

  • Busca por filtros o por URL. Filtrás en el sitio, pegás la URL y el Actor devuelve exactamente ese resultado. O cargás ubicación, operación y rango de precio y arma la búsqueda solo.
  • Precios normalizados de verdad. USD 185.000, R$ 1.250.000 y $ 89.500 salen como número + código de moneda ISO. Los avisos "a consultar" se marcan con onRequest: true en vez de inventar un 0.
  • Formato unificado. Todos los Actors de esta familia devuelven el mismo schema, así que podés cruzar varios portales y países sin escribir un mapeo por cada uno.
  • Sin resultados basura. Un aviso sin título ni precio no se guarda ni se cobra.
  • Modo monitoreo. Con "Incluir avisos ya vistos" apagado, cada run devuelve sólo lo que se publicó desde el anterior.
  • Deduplicado. El mismo aviso, aunque aparezca en varias páginas o con parámetros de tracking distintos, sale una sola vez.

Ejemplo de salida

{
"id": "zonaprop_a1b2c3d4e5f6a7b8",
"url": "https://www.zonaprop.com.ar/propiedades/clasificado/ejemplo-123456.html",
"source": "zonaprop",
"country": "AR",
"scrapedAt": "2026-08-19T14:32:10.512Z",
"title": "Departamento 2 ambientes con balcón",
"operation": "sale",
"propertyType": "apartment",
"price": { "amount": 185000, "currency": "USD", "raw": "USD 185.000", "onRequest": false },
"totalAreaM2": 59,
"rooms": 2,
"bedrooms": 1,
"bathrooms": 1,
"parkingSpaces": 1,
"images": ["https://..."],
"location": { "neighborhood": "Palermo", "city": "Capital Federal", "country": "AR", "latitude": null, "longitude": null },
"contact": { "agencyName": null, "phones": [], "emails": [], "isAgency": null },
"listingId": "59105482"
}

Cómo se usa

1. Por URL de listado (más preciso)

Filtrá en Zonaprop Scraper — Avisos Inmobiliarios de Argentina como lo harías a mano, copiá la URL de resultados y pegala en URLs de listado.

{
"startUrls": [{ "url": "https://www.zonaprop.com.ar/departamentos-venta-palermo.html" }],
"maxItems": 500
}

2. Por filtros

{
"locations": ["Palermo", "Belgrano"],
"operation": "sale",
"priceMin": 100000,
"priceMax": 300000,
"sortBy": "newest",
"maxItems": 1000
}

3. Monitoreo diario de avisos nuevos

Programalo con un Schedule y activá includeSeen: false: cada run devuelve sólo lo que apareció desde el anterior.

{
"startUrls": [{ "url": "https://www.zonaprop.com.ar/departamentos-venta-palermo.html" }],
"sortBy": "newest",
"includeSeen": false,
"maxPagesPerUrl": 3
}

Parámetros

CampoTipoDefaultPara qué sirve
startUrlsarrayURLs de listado ya filtradas. Si las cargás, se ignoran los filtros.
searchQuerystringTexto libre de búsqueda.
locationsarray[]Barrio, ciudad o provincia. Genera una búsqueda por cada una.
operationenumanysale, rent, temporary_rent, any.
propertyTypesarray[]Vacío = todos los tipos.
priceMin / priceMaxintegerEn la moneda del portal.
sortByenumrelevancenewest es el mejor para monitoreo.
maxItemsinteger200Corta el run al llegar. 0 = sin tope. Es tu control de gasto.
maxPagesPerUrlinteger20Páginas de listado por URL de arranque.
scrapeDetailsbooleanfalseEntra a cada aviso: más datos, un request por aviso.
includeSeenbooleantruefalse devuelve sólo avisos nuevos respecto de runs anteriores.
proxyTierenumdatacenterNivel inicial de proxy.
maxProxyTierenumresidentialPoné datacenter para nunca gastar ancho de banda residencial.
maxConcurrencyinteger10Bajalo si ves bloqueos.
maxRequestRetriesinteger3Reintentos por request.

Costo

El Actor cobra por resultado guardado. Los resultados descartados por incompletos o duplicados no se cobran.

Para acotar el gasto de un run:

  • maxItems es el tope duro: al llegar, el run corta.
  • maxProxyTier: "datacenter" garantiza que nunca se consuma proxy residencial (lo más caro de un scraper).
  • El Actor arranca con proxy datacenter y sólo escala a residencial si detecta bloqueos reales.

Integraciones

  • API / SDK — corré el Actor y traé el dataset desde JavaScript, Python o HTTP.
  • MCP — usable como herramienta desde un agente de IA vía el MCP server de Apify.
  • Google Sheets, Slack, webhooks — con las integraciones nativas de Apify.
  • Schedules — para monitoreo periódico sin escribir código.

Preguntas frecuentes

¿Es legal? Se extraen únicamente datos públicos, visibles sin iniciar sesión. No se accede a áreas privadas ni se evaden muros de autenticación. Si vas a tratar datos personales (teléfonos, emails), la responsabilidad de cumplir la normativa aplicable de protección de datos es de quien los usa.

¿Por qué algunos avisos vienen sin precio? Porque el portal los publica como "a consultar". Salen con price.onRequest: true y price.amount: null, para no ensuciar tus promedios con ceros falsos.

¿Por qué me devolvió menos avisos de los que dice el portal? Casi siempre es maxItems o maxPagesPerUrl. Subilos. Si persiste, revisá el RUN_SUMMARY del key-value store: ahí figura cuántos se descartaron y por qué.

¿Anda con proxy propio? Sí, configurable desde los parámetros de red.

Soporte

Si un campo deja de venir o cambia el sitio, abrí un issue en la pestaña Issues del Actor con la URL que falló. Los reportes con URL se arreglan mucho más rápido.