AdondeVivir Peru Real Estate Scraper | Property Listings API
Pricing
from $6.15 / 1,000 results
AdondeVivir Peru Real Estate Scraper | Property Listings API
Scrape AdondeVivir property listings for sale and rent in Peru: apartments, houses, offices and land in Lima and nationwide. Extract price in USD and PEN, bedrooms, bathrooms, area, price per m2, location, amenities, images, agent phone and WhatsApp. Export to JSON, CSV or Excel.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(2)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
AdondeVivir Peru Real Estate Scraper | Property Listings & API
The most complete AdondeVivir (Peru) real estate scraper and API. Turn any adondevivir.com search into clean, structured property listings data: apartments (departamentos), houses (casas), offices and land for sale or rent in Lima and across Peru. Get dual-currency prices (USD and PEN), bedrooms, bathrooms, area, price per m2, exact address and geo coordinates, amenities, full image galleries, and agent phone plus WhatsApp. Export to JSON, CSV or Excel, or pull it live over the API.
Here is one real result, with every field the actor returns:
{"imageUrl": "https://img10.naventcdn.com/avisos/111/01/50/99/85/85/720x532/1629728726.jpg","title": "Departamento 100m2 Alquiler Jesus Maria - 2 Dorm. Cada Uno con Bano Propio","price": 3100,"currency": "PEN","priceUsd": 924,"pricePen": 3100,"maintenanceFee": 280,"maintenanceFeeCurrency": "PEN","operationType": "alquiler","propertyType": "Departamento","isDevelopment": false,"bedrooms": 2,"bathrooms": 3,"totalAreaM2": 100,"builtAreaM2": 100,"pricePerM2": 31,"pricePerM2Currency": "PEN","age": "2","ageYears": 2,"isNew": false,"location": "Jesus Maria, Lima","address": "Av. Salaverry 2158","district": "Jesus Maria","city": "Lima","region": "Lima","coordinates": { "lat": -12.0857511, "lng": -77.0500467 },"status": "ONLINE","reserved": false,"numberOfFloors": null,"amenities": ["Guardiania/Seguridad privada", "Parrilla", "Area de lavanderia", "Closet", "Balcon(es)"],"images": ["https://img10.naventcdn.com/avisos/resize/111/01/50/99/85/85/1200x1200/1629728726.jpg","https://img10.naventcdn.com/avisos/resize/111/01/50/99/85/85/1200x1200/1629728748.jpg"],"description": "Se alquila departamento de 2 dormitorios cada uno con bano propio en Jesus Maria...","publisher": {"name": "GROVER ROSAS","url": "https://www.adondevivir.com/inmobiliarias/grover-rosas_102948719-inmuebles.html","logo": "https://img10.naventcdn.com/empresas/111/01/02/94/54/28/130x70/logo_grover-rosas.jpg","publisherId": "102948719","partialPhone": "96189","license": null,"premium": false,"publisherTypeId": 4},"publisherId": "102948719","publisherLogo": "https://img10.naventcdn.com/empresas/111/01/02/94/54/28/130x70/logo_grover-rosas.jpg","agentPhone": "+51961891527","agentWhatsapp": "+51961891527","contactName": null,"postingCode": "grover","url": "https://www.adondevivir.com/propiedades/clasificado/alclapin-se-alquila-departamento-de-100-m2-de-2-dorm-cada-150998588.html","listingId": "150998588","publishedDate": "2026-09-04T07:12:13Z","observedAt": "2026-09-04T10:58:04.708Z","detailError": null,"error": null}
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this scraper
- Quickstart
- Input reference
- Output reference
- How it compares
- Use cases
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor takes one or more AdondeVivir.com search results URLs (apply any filters on the site and paste the resulting URL), paginates through the matching properties, and writes one clean record per listing to the run's dataset. Each listing record carries the image, title, price and currency, both the USD and PEN figures when the listing shows them, operation type (venta or alquiler), property type, bedrooms, bathrooms, total and built area, a computed pricePerM2, location, listing id and the direct URL.
When withDetails is on, each listing's detail page is opened to add the full description, published date, amenities, the complete image gallery, structured address (street, district, city, region) with geo coordinates, maintenance/HOA fee, the publisher/agency block and the agent phone and WhatsApp. Three optional AI add-ons (paid Apify plans only) add an English summary, structured features (condition, highlights, nearby points of interest), and a Spanish-to-English translation of title and description. Missing values are returned as null, never invented.
Why this scraper
- Dual-currency prices. Both
priceUsdandpricePenare captured straight from the listing, so you never guess an exchange rate. - Real contact data. Agent
agentPhoneandagentWhatsappplus the full publisher/agency block, not just a masked partial. - Analysis-ready metrics. A computed
pricePerM2(in the listing's own currency) that competing scrapers do not provide. - Full location. Street
address,district,city,regionand{lat, lng}coordinates, not only a district string. - Complete media and amenities. Entire image gallery and the full amenities list, not a single thumbnail.
- Batch and filters. Multiple search URLs in one run, plus optional price, bedroom, bathroom and area filters on top of the URL.
- Honest billing. No charge on failure, free-plan cap, and a spend limit you control.
Quickstart
Open the actor, paste this into the input, and press Run. It returns apartments for sale with full details.
{"startUrl": "https://www.adondevivir.com/departamentos-en-venta.html","maxListings": 25,"withDetails": true}
Apply filters on adondevivir.com and paste the resulting search URL into startUrl. Every field except a search URL is optional.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | string | one URL required | departamentos-en-venta | An AdondeVivir.com search results URL. Apply filters on the site and paste the URL, for example https://www.adondevivir.com/departamentos-en-venta.html. |
startUrls | array | no | empty | Optional list of AdondeVivir search URLs to scrape in one run (plain strings or { "url": "..." } objects). |
maxListings | integer | no | all (paid) / 10 (free) | Maximum number of listings to collect. |
withDetails | boolean | no | true | Paid plans only. Fetches each detail page to add description, amenities, gallery, exact dual-currency price, address, publisher/agent and coordinates. Billed per listing enriched (details). |
minPrice | integer | no | none | Keep listings priced at or above this amount, in priceCurrency. |
maxPrice | integer | no | none | Keep listings priced at or below this amount, in priceCurrency. |
priceCurrency | string | no | USD | Currency used for the price filters (USD or PEN). |
minBedrooms | integer | no | none | Keep listings with at least this many bedrooms. |
maxBedrooms | integer | no | none | Keep listings with at most this many bedrooms. |
minBathrooms | integer | no | none | Keep listings with at least this many bathrooms. |
minAreaM2 | integer | no | none | Keep listings with total area at or above this many m2. |
maxAreaM2 | integer | no | none | Keep listings with total area at or below this many m2. |
withAiListingSummary | boolean | no | false | Paid AI add-on. Writes a concise English summary of each listing. Charged only when a summary is produced. |
withAiFeatures | boolean | no | false | Paid AI add-on. Extracts structured condition, highlights and nearby points of interest. Charged only when features are produced. |
withAiTranslate | boolean | no | false | Paid AI add-on. Translates each listing title and description from Spanish to English. Charged only when a translation is produced. |
Output reference
One dataset item per listing. Types: string, number, boolean, string[], object, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Main listing image. |
title | string | Listing title. |
price | number | Primary price (PEN when shown, else USD), or null. |
currency | string | Currency of price: PEN or USD, or null. |
priceUsd | number | Price in US dollars when shown, or null. |
pricePen | number | Price in Peruvian soles when shown, or null. |
maintenanceFee | number | Maintenance/HOA fee when shown, or null. |
maintenanceFeeCurrency | string | Currency of the maintenance fee, or null. |
operationType | string | venta (sale) or alquiler (rent). |
propertyType | string | Property type, for example Departamento, Casa, Oficina. |
isDevelopment | boolean | true for new-build projects (proyecto), else false. |
bedrooms | number | Bedroom count, or null. |
bathrooms | number | Bathroom count, or null. |
halfBathrooms | number | Half bathroom count, or null. |
parkingSpaces | number | Parking spaces, or null. |
totalAreaM2 | number | Total area in square meters, or null. |
builtAreaM2 | number | Built/covered area in square meters, or null. |
pricePerM2 | number | Price per m2 in the listing's own currency, computed when price and area are known, else null. |
pricePerM2Currency | string | Currency of pricePerM2, or null. |
age | string | Antiquity as shown ("A estrenar" or a number of years), or null. |
ageYears | number | Numeric age in years when parseable, or null. |
isNew | boolean | true when brand new (a estrenar), else false/null. |
numberOfFloors | number | Building floor count when published, or null. |
location | string | District and city as shown on the card. |
address | string | Street address (with withDetails), or null. |
district | string | District/neighborhood, or null. |
city | string | City, or null. |
region | string | Region/province, or null. |
coordinates | object | {lat, lng} geo coordinates (with withDetails), or null. |
status | string | Listing status, for example ONLINE, or null. |
reserved | boolean | Whether the listing is reserved, or null. |
amenities | string[] | Amenities and features (with withDetails), or null. |
images | string[] | Full image gallery (with withDetails), or null. |
description | string | Full listing description, or null. |
publisher | object | Agency block: name, url, logo, publisherId, partialPhone, license, premium, publisherTypeId. |
publisherId | string | Publisher/agency id, or null. |
publisherLogo | string | Publisher/agency logo URL, or null. |
agentPhone | string | Agent phone in +<digits> form, or null. |
agentWhatsapp | string | Agent WhatsApp number, or null. |
contactName | string | Agent contact name when the listing exposes one, or null. |
postingCode | string | Human-readable listing code, or null. |
url | string | Direct link to the listing. |
listingId | string | AdondeVivir listing id. |
publishedDate | string | Publication date (ISO 8601), or null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
aiListingSummary | string | AI English summary when the add-on is enabled, else null. |
aiFeatures | object | AI structured features (condition, highlights, nearby) when enabled, else null. |
aiListingEnglish | object | AI English title and description when enabled, else null. |
detailError | string | Set only when the detail page failed while the base listing was still delivered (that row is not billed the details add-on). |
error | string | Present only on a failed run; a single item with a populated error field is written instead. |
How it compares
| Capability | This actor | Typical AdondeVivir / Navent scraper |
|---|---|---|
| Sale and rent listings | Yes | Yes |
| Multiple search URLs per run | Yes | Often single URL |
| Price filters, beds, baths, area | Yes | Partial |
| Dual currency (USD and PEN) | Yes, both numeric | Usually one figure |
| Price per m2 | Yes, computed | No |
| Maintenance/HOA fee | Yes | Rare |
| Structured address + district/city/region | Yes | District string only |
| Geo coordinates | Yes | Sometimes |
| Full image gallery | Yes | Thumbnail only |
| Amenities list | Yes | Partial |
| Agent phone | Yes | Often WhatsApp only |
| Agent WhatsApp | Yes | Sometimes |
| Publisher/agency block | Yes | Partial |
| Optional AI enrichment | Yes | No |
| No charge on failure + spend cap | Yes | Varies |
Use cases
- Real estate market analysis across Lima and Peru: track price per m2, inventory and rent vs sale trends.
- Lead generation for agencies and proptech: agent phone, WhatsApp and publisher details per listing.
- Property portals and aggregators that need clean, deduplicated AdondeVivir inventory on a schedule.
- Investors and appraisers comparing dual-currency prices, area and amenities across districts.
- CRM and spreadsheet enrichment by exporting straight to JSON, CSV or Excel.
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~adondevivir-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.adondevivir.com/departamentos-en-venta.html","maxListings":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~adondevivir-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.adondevivir.com/casas-en-alquiler.html","maxListings":100}'
Apify CLI:
apify call scrapers_lat/adondevivir-scraper \--input '{"startUrl":"https://www.adondevivir.com/departamentos-en-venta.html"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 record returned (
resultevent). See the pricing tab for the current per-result price. - Add-ons billed separately.
detailsis charged per listing enriched (paid plans only);ai_listing_summary,ai_featuresandai_translateare each charged per listing only when the model returns usable output. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. If a detail page fails while the base listing is still delivered, that row is not billed thedetailsadd-on. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run and listing-only. Upgrade for the full result set and detail enrichment.
FAQ and troubleshooting
A run returned 0 records. Why? The search URL matched no listings, or the source throttled the request. Confirm the URL loads results on adondevivir.com. Zero-result runs are not charged.
How do I filter by district, price or property type?
Apply the filters on adondevivir.com, then copy the resulting search URL into startUrl. You can also use the optional minPrice, maxPrice, minBedrooms, maxBedrooms, minBathrooms, minAreaM2 and maxAreaM2 inputs on top of the URL.
Do I get agent phone numbers?
When withDetails is on and the listing exposes them, yes: agentPhone and agentWhatsapp are populated from the detail page, along with the full publisher/agency block.
Why are some prices only in one currency?
Not every listing publishes both currencies. When only one is shown, the other stays null. Project and pre-sale listings often show a starting ("desde") price. Missing values are never invented.
Can I scrape several searches at once?
Yes. Pass an array of URLs in startUrls, or combine startUrl with startUrls.
Is this an official AdondeVivir tool? No. This actor is independent and has no affiliation with AdondeVivir or Navent. It reads only data that is publicly available on adondevivir.com.
Related scrapers
- Urbania Scraper: Peru real estate listings on the same Navent platform.
- Nexo Inmobiliario Peru Scraper: Peru new-development property listings.
- InfoCasas Scraper: Latin America property listings.
- Properati Scraper: Latin America real estate listings.
- Plusvalia Scraper: Ecuador and regional property listings.
- Lamudi Scraper: Emerging-market real estate listings.
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.
AdondeVivir Scraper de Inmuebles Peru | Datos y API de Propiedades
El scraper y API de inmuebles de AdondeVivir (Peru) mas completo. Convierte cualquier busqueda de adondevivir.com en datos estructurados de propiedades: departamentos, casas, oficinas y terrenos en venta o alquiler en Lima y en todo el Peru. Obten precios en doble moneda (USD y PEN), dormitorios, banos, area, precio por m2, direccion exacta y coordenadas, amenidades, galerias completas de imagenes y telefono del agente y WhatsApp. Exporta a JSON, CSV o Excel, o consume los datos en vivo por la API.
Este es un resultado real, con todos los campos que devuelve el actor:
{"imageUrl": "https://img10.naventcdn.com/avisos/111/01/50/99/85/85/720x532/1629728726.jpg","title": "Departamento 100m2 Alquiler Jesus Maria - 2 Dorm. Cada Uno con Bano Propio","price": 3100,"currency": "PEN","priceUsd": 924,"pricePen": 3100,"maintenanceFee": 280,"maintenanceFeeCurrency": "PEN","operationType": "alquiler","propertyType": "Departamento","isDevelopment": false,"bedrooms": 2,"bathrooms": 3,"totalAreaM2": 100,"builtAreaM2": 100,"pricePerM2": 31,"pricePerM2Currency": "PEN","age": "2","ageYears": 2,"isNew": false,"location": "Jesus Maria, Lima","address": "Av. Salaverry 2158","district": "Jesus Maria","city": "Lima","region": "Lima","coordinates": { "lat": -12.0857511, "lng": -77.0500467 },"status": "ONLINE","reserved": false,"amenities": ["Guardiania/Seguridad privada", "Parrilla", "Area de lavanderia", "Closet", "Balcon(es)"],"agentPhone": "+51961891527","agentWhatsapp": "+51961891527","url": "https://www.adondevivir.com/propiedades/clasificado/alclapin-...-150998588.html","listingId": "150998588","publishedDate": "2026-09-04T07:12:13Z"}
Tabla de contenido
- Que hace
- Por que este scraper
- Inicio rapido
- Referencia de entrada
- Referencia de salida
- Como se compara
- Casos de uso
- Uso por API y CLI
- Obtener resultados
- Facturacion y limites
- Preguntas frecuentes
Que hace
El actor toma una o varias URL de resultados de busqueda de AdondeVivir.com (aplica los filtros que quieras en el sitio y pega la URL resultante), recorre las propiedades y escribe un registro limpio por aviso en el dataset de la ejecucion. Cada registro incluye la imagen, el titulo, el precio y la moneda, las cifras en USD y PEN cuando el aviso las muestra, el tipo de operacion (venta o alquiler), el tipo de propiedad, dormitorios, banos, area total y techada, un pricePerM2 calculado, la ubicacion, el id del aviso y la URL directa.
Con withDetails activado, se abre la pagina de detalle de cada aviso para agregar la descripcion completa, la fecha de publicacion, las amenidades, la galeria completa de imagenes, la direccion estructurada (calle, distrito, ciudad, region) con coordenadas, el gasto de mantenimiento, el bloque de la inmobiliaria y el telefono y WhatsApp del agente. Tres complementos de IA opcionales (solo planes de pago) agregan un resumen en ingles, caracteristicas estructuradas (condicion, aspectos destacados, puntos de interes cercanos) y una traduccion del titulo y la descripcion del espanol al ingles. Los valores ausentes se devuelven como null, nunca se inventan.
Por que este scraper
- Precios en doble moneda. Se capturan
priceUsdypricePendirectamente del aviso, sin adivinar tipos de cambio. - Datos de contacto reales.
agentPhoneyagentWhatsappdel agente mas el bloque completo de la inmobiliaria, no solo un numero parcial. - Metricas listas para analisis. Un
pricePerM2calculado (en la moneda del aviso) que otros scrapers no ofrecen. - Ubicacion completa. Calle
address,district,city,regiony coordenadas{lat, lng}, no solo el nombre del distrito. - Medios y amenidades completos. Galeria completa de imagenes y la lista completa de amenidades, no una sola miniatura.
- Lotes y filtros. Varias URL de busqueda en una ejecucion, mas filtros opcionales de precio, dormitorios, banos y area.
- Facturacion honesta. Sin cobro ante fallas, tope para planes gratuitos y un limite de gasto que tu controlas.
Inicio rapido
Abre el actor, pega esto en la entrada y presiona Run. Devuelve departamentos en venta con detalle completo.
{"startUrl": "https://www.adondevivir.com/departamentos-en-venta.html","maxListings": 25,"withDetails": true}
Aplica filtros en adondevivir.com y pega la URL de busqueda resultante en startUrl. Todos los campos excepto una URL de busqueda son opcionales.
Referencia de entrada
| Campo | Tipo | Requerido | Predeterminado | Descripcion |
|---|---|---|---|---|
startUrl | string | una URL requerida | departamentos-en-venta | Una URL de resultados de AdondeVivir.com. Aplica filtros en el sitio y pega la URL, por ejemplo https://www.adondevivir.com/departamentos-en-venta.html. |
startUrls | array | no | vacio | Lista opcional de URL de busqueda para procesar en una ejecucion (strings o objetos { "url": "..." }). |
maxListings | integer | no | todo (pago) / 10 (gratis) | Numero maximo de avisos a recolectar. |
withDetails | boolean | no | true | Solo planes de pago. Abre cada detalle para agregar descripcion, amenidades, galeria, precio exacto en doble moneda, direccion, inmobiliaria/agente y coordenadas. Se cobra por aviso enriquecido (details). |
minPrice | integer | no | ninguno | Conserva avisos con precio igual o mayor a este monto, en priceCurrency. |
maxPrice | integer | no | ninguno | Conserva avisos con precio igual o menor a este monto, en priceCurrency. |
priceCurrency | string | no | USD | Moneda usada para los filtros de precio (USD o PEN). |
minBedrooms | integer | no | ninguno | Conserva avisos con al menos esta cantidad de dormitorios. |
maxBedrooms | integer | no | ninguno | Conserva avisos con como maximo esta cantidad de dormitorios. |
minBathrooms | integer | no | ninguno | Conserva avisos con al menos esta cantidad de banos. |
minAreaM2 | integer | no | ninguno | Conserva avisos con area total igual o mayor a estos m2. |
maxAreaM2 | integer | no | ninguno | Conserva avisos con area total igual o menor a estos m2. |
withAiListingSummary | boolean | no | false | Complemento de IA de pago. Escribe un resumen conciso en ingles. Se cobra solo cuando se genera un resumen. |
withAiFeatures | boolean | no | false | Complemento de IA de pago. Extrae condicion, aspectos destacados y puntos de interes cercanos. Se cobra solo cuando se generan. |
withAiTranslate | boolean | no | false | Complemento de IA de pago. Traduce el titulo y la descripcion del espanol al ingles. Se cobra solo cuando se genera. |
Referencia de salida
Un item de dataset por aviso. Tipos: string, number, boolean, string[], object, o null cuando el valor de origen no existe.
| Campo | Tipo | Descripcion |
|---|---|---|
imageUrl | string | Imagen principal del aviso. |
title | string | Titulo del aviso. |
price | number | Precio principal (PEN si se muestra, si no USD), o null. |
currency | string | Moneda de price: PEN o USD, o null. |
priceUsd | number | Precio en dolares cuando se muestra, o null. |
pricePen | number | Precio en soles cuando se muestra, o null. |
maintenanceFee | number | Gasto de mantenimiento cuando se muestra, o null. |
maintenanceFeeCurrency | string | Moneda del mantenimiento, o null. |
operationType | string | venta o alquiler. |
propertyType | string | Tipo de propiedad, por ejemplo Departamento, Casa, Oficina. |
isDevelopment | boolean | true para proyectos de obra nueva, si no false. |
bedrooms | number | Cantidad de dormitorios, o null. |
bathrooms | number | Cantidad de banos, o null. |
halfBathrooms | number | Cantidad de medios banos, o null. |
parkingSpaces | number | Cocheras, o null. |
totalAreaM2 | number | Area total en m2, o null. |
builtAreaM2 | number | Area techada/construida en m2, o null. |
pricePerM2 | number | Precio por m2 en la moneda del aviso, calculado cuando hay precio y area, si no null. |
pricePerM2Currency | string | Moneda de pricePerM2, o null. |
age | string | Antiguedad tal como se muestra ("A estrenar" o numero de anos), o null. |
ageYears | number | Antiguedad numerica en anos cuando es interpretable, o null. |
isNew | boolean | true si es a estrenar, si no false/null. |
numberOfFloors | number | Numero de pisos del edificio cuando se publica, o null. |
location | string | Distrito y ciudad como aparecen en la tarjeta. |
address | string | Direccion (con withDetails), o null. |
district | string | Distrito/barrio, o null. |
city | string | Ciudad, o null. |
region | string | Region/provincia, o null. |
coordinates | object | Coordenadas {lat, lng} (con withDetails), o null. |
status | string | Estado del aviso, por ejemplo ONLINE, o null. |
reserved | boolean | Si el aviso esta reservado, o null. |
amenities | string[] | Amenidades y caracteristicas (con withDetails), o null. |
images | string[] | Galeria completa de imagenes (con withDetails), o null. |
description | string | Descripcion completa del aviso, o null. |
publisher | object | Bloque de la inmobiliaria: name, url, logo, publisherId, partialPhone, license, premium, publisherTypeId. |
publisherId | string | Id de la inmobiliaria, o null. |
publisherLogo | string | URL del logo de la inmobiliaria, o null. |
agentPhone | string | Telefono del agente en formato +<digitos>, o null. |
agentWhatsapp | string | WhatsApp del agente, o null. |
contactName | string | Nombre de contacto del agente cuando el aviso lo expone, o null. |
postingCode | string | Codigo legible del aviso, o null. |
url | string | Enlace directo al aviso. |
listingId | string | Id del aviso en AdondeVivir. |
publishedDate | string | Fecha de publicacion (ISO 8601), o null. |
observedAt | string | Marca de tiempo ISO 8601 de cuando se recolecto el registro. |
aiListingSummary | string | Resumen en ingles por IA cuando el complemento esta activo, si no null. |
aiFeatures | object | Caracteristicas estructuradas por IA cuando esta activo, si no null. |
aiListingEnglish | object | Titulo y descripcion en ingles por IA cuando esta activo, si no null. |
detailError | string | Presente solo cuando la pagina de detalle fallo pero el aviso base si se entrego (esa fila no se cobra el complemento details). |
error | string | Presente solo en una ejecucion fallida; se escribe un unico item con el campo error. |
Como se compara
| Capacidad | Este actor | Scraper tipico de AdondeVivir / Navent |
|---|---|---|
| Avisos de venta y alquiler | Si | Si |
| Varias URL de busqueda por ejecucion | Si | Suele ser una sola |
| Filtros de precio, dormitorios, banos, area | Si | Parcial |
| Doble moneda (USD y PEN) | Si, ambas numericas | Suele ser una cifra |
| Precio por m2 | Si, calculado | No |
| Gasto de mantenimiento | Si | Raro |
| Direccion estructurada + distrito/ciudad/region | Si | Solo texto del distrito |
| Coordenadas geograficas | Si | A veces |
| Galeria completa de imagenes | Si | Solo miniatura |
| Lista de amenidades | Si | Parcial |
| Telefono del agente | Si | Suele ser solo WhatsApp |
| WhatsApp del agente | Si | A veces |
| Bloque de la inmobiliaria | Si | Parcial |
| Enriquecimiento con IA opcional | Si | No |
| Sin cobro ante fallas + tope de gasto | Si | Variable |
Casos de uso
- Analisis del mercado inmobiliario en Lima y Peru: sigue el precio por m2, el inventario y las tendencias de alquiler frente a venta.
- Generacion de leads para inmobiliarias y proptech: telefono del agente, WhatsApp y datos de la inmobiliaria por aviso.
- Portales y agregadores que necesitan inventario de AdondeVivir limpio y deduplicado de forma programada.
- Inversores y tasadores que comparan precios en doble moneda, area y amenidades entre distritos.
- Enriquecimiento de CRM y hojas de calculo exportando directo a JSON, CSV o Excel.
Uso por API y CLI
Inicia una ejecucion, espera a que termine y lee el dataset. Reemplaza <TOKEN> con tu token de API de Apify.
Ejecucion sincronica que devuelve los items en una sola llamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~adondevivir-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.adondevivir.com/departamentos-en-venta.html","maxListings":25,"withDetails":true}'
Ejecucion asincronica:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~adondevivir-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.adondevivir.com/casas-en-alquiler.html","maxListings":100}'
Apify CLI:
apify call scrapers_lat/adondevivir-scraper \--input '{"startUrl":"https://www.adondevivir.com/departamentos-en-venta.html"}'
Obtener resultados
Cada ejecucion escribe en un dataset. Obten los items en JSON, CSV o Excel cambiando format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "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 paginar. clean=true descarta campos vacios e internos.
Facturacion y limites
- Pago por resultado. Se cobra por registro de aviso devuelto (evento
result). Consulta la pestana de precios para el precio por resultado vigente. - Complementos facturados aparte.
detailsse cobra por aviso enriquecido (solo planes de pago);ai_listing_summary,ai_featuresyai_translatese cobran por aviso solo cuando el modelo devuelve salida util. - Sin cobro ante fallas. Si una ejecucion falla, el actor escribe un unico item con el campo
errory no lo cobra. Si una pagina de detalle falla pero el aviso base si se entrega, esa fila no se cobra el complementodetails. Las ejecuciones vacias no cuestan nada. - Tope de gasto respetado. Configura
maxTotalChargeUsden la ejecucion; al alcanzarlo, el actor deja de emitir y cobrar resultados. - Los planes gratuitos de Apify estan limitados a 10 registros por ejecucion y solo al listado. Mejora tu plan para el conjunto completo y el enriquecimiento de detalle.
Preguntas frecuentes
Una ejecucion devolvio 0 registros. Por que? La URL de busqueda no encontro avisos, o el origen limito la solicitud. Confirma que la URL carga resultados en adondevivir.com. Las ejecuciones sin resultados no se cobran.
Como filtro por distrito, precio o tipo de propiedad?
Aplica los filtros en adondevivir.com y copia la URL de busqueda resultante en startUrl. Tambien puedes usar los campos opcionales minPrice, maxPrice, minBedrooms, maxBedrooms, minBathrooms, minAreaM2 y maxAreaM2 sobre la URL.
Obtengo los telefonos del agente?
Con withDetails activado y cuando el aviso los expone, si: agentPhone y agentWhatsapp se completan desde la pagina de detalle, junto con el bloque completo de la inmobiliaria.
Por que algunos precios estan en una sola moneda?
No todos los avisos publican ambas monedas. Cuando solo se muestra una, la otra queda en null. Los proyectos y preventas suelen mostrar un precio "desde". Los valores ausentes nunca se inventan.
Puedo scrapear varias busquedas a la vez?
Si. Pasa un arreglo de URL en startUrls, o combina startUrl con startUrls.
Es una herramienta oficial de AdondeVivir? No. Este actor es independiente y no tiene afiliacion con AdondeVivir ni Navent. Solo lee datos disponibles publicamente en adondevivir.com.
Mas scrapers
- Urbania Scraper: inmuebles de Peru en la misma plataforma Navent.
- Nexo Inmobiliario Peru Scraper: proyectos de obra nueva en Peru.
- InfoCasas Scraper: propiedades en America Latina.
- Properati Scraper: inmuebles en America Latina.
- Plusvalia Scraper: propiedades de Ecuador y la region.
- Lamudi Scraper: inmuebles de mercados emergentes.
Mas scrapers en scrapers.lat
Construido y mantenido por scrapers.lat, donde publicamos scrapers de plataformas publicas de EE. UU. y America Latina: registros de empresas, datos de gobierno, finanzas, e-commerce y mas. Explora el catalogo o solicita un scraper a medida en scrapers.lat.
Herramienta independiente, sin afiliacion con AdondeVivir ni Navent. Accede solo a datos disponibles publicamente en adondevivir.com.
