AdondeVivir Peru Real Estate Scraper | Property Listings API avatar

AdondeVivir Peru Real Estate Scraper | Property Listings API

Pricing

from $6.15 / 1,000 results

Go to Apify Store
AdondeVivir Peru Real Estate Scraper | Property Listings API

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

4 days ago

Last modified

Share

AdondeVivir Peru Real Estate Scraper

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

Apify Coverage Output Billing

Table of contents

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 priceUsd and pricePen are captured straight from the listing, so you never guess an exchange rate.
  • Real contact data. Agent agentPhone and agentWhatsapp plus 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, region and {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

FieldTypeRequiredDefaultDescription
startUrlstringone URL requireddepartamentos-en-ventaAn AdondeVivir.com search results URL. Apply filters on the site and paste the URL, for example https://www.adondevivir.com/departamentos-en-venta.html.
startUrlsarraynoemptyOptional list of AdondeVivir search URLs to scrape in one run (plain strings or { "url": "..." } objects).
maxListingsintegernoall (paid) / 10 (free)Maximum number of listings to collect.
withDetailsbooleannotruePaid 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).
minPriceintegernononeKeep listings priced at or above this amount, in priceCurrency.
maxPriceintegernononeKeep listings priced at or below this amount, in priceCurrency.
priceCurrencystringnoUSDCurrency used for the price filters (USD or PEN).
minBedroomsintegernononeKeep listings with at least this many bedrooms.
maxBedroomsintegernononeKeep listings with at most this many bedrooms.
minBathroomsintegernononeKeep listings with at least this many bathrooms.
minAreaM2integernononeKeep listings with total area at or above this many m2.
maxAreaM2integernononeKeep listings with total area at or below this many m2.
withAiListingSummarybooleannofalsePaid AI add-on. Writes a concise English summary of each listing. Charged only when a summary is produced.
withAiFeaturesbooleannofalsePaid AI add-on. Extracts structured condition, highlights and nearby points of interest. Charged only when features are produced.
withAiTranslatebooleannofalsePaid 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.

FieldTypeDescription
imageUrlstringMain listing image.
titlestringListing title.
pricenumberPrimary price (PEN when shown, else USD), or null.
currencystringCurrency of price: PEN or USD, or null.
priceUsdnumberPrice in US dollars when shown, or null.
pricePennumberPrice in Peruvian soles when shown, or null.
maintenanceFeenumberMaintenance/HOA fee when shown, or null.
maintenanceFeeCurrencystringCurrency of the maintenance fee, or null.
operationTypestringventa (sale) or alquiler (rent).
propertyTypestringProperty type, for example Departamento, Casa, Oficina.
isDevelopmentbooleantrue for new-build projects (proyecto), else false.
bedroomsnumberBedroom count, or null.
bathroomsnumberBathroom count, or null.
halfBathroomsnumberHalf bathroom count, or null.
parkingSpacesnumberParking spaces, or null.
totalAreaM2numberTotal area in square meters, or null.
builtAreaM2numberBuilt/covered area in square meters, or null.
pricePerM2numberPrice per m2 in the listing's own currency, computed when price and area are known, else null.
pricePerM2CurrencystringCurrency of pricePerM2, or null.
agestringAntiquity as shown ("A estrenar" or a number of years), or null.
ageYearsnumberNumeric age in years when parseable, or null.
isNewbooleantrue when brand new (a estrenar), else false/null.
numberOfFloorsnumberBuilding floor count when published, or null.
locationstringDistrict and city as shown on the card.
addressstringStreet address (with withDetails), or null.
districtstringDistrict/neighborhood, or null.
citystringCity, or null.
regionstringRegion/province, or null.
coordinatesobject{lat, lng} geo coordinates (with withDetails), or null.
statusstringListing status, for example ONLINE, or null.
reservedbooleanWhether the listing is reserved, or null.
amenitiesstring[]Amenities and features (with withDetails), or null.
imagesstring[]Full image gallery (with withDetails), or null.
descriptionstringFull listing description, or null.
publisherobjectAgency block: name, url, logo, publisherId, partialPhone, license, premium, publisherTypeId.
publisherIdstringPublisher/agency id, or null.
publisherLogostringPublisher/agency logo URL, or null.
agentPhonestringAgent phone in +<digits> form, or null.
agentWhatsappstringAgent WhatsApp number, or null.
contactNamestringAgent contact name when the listing exposes one, or null.
postingCodestringHuman-readable listing code, or null.
urlstringDirect link to the listing.
listingIdstringAdondeVivir listing id.
publishedDatestringPublication date (ISO 8601), or null.
observedAtstringISO 8601 timestamp of when the record was collected.
aiListingSummarystringAI English summary when the add-on is enabled, else null.
aiFeaturesobjectAI structured features (condition, highlights, nearby) when enabled, else null.
aiListingEnglishobjectAI English title and description when enabled, else null.
detailErrorstringSet only when the detail page failed while the base listing was still delivered (that row is not billed the details add-on).
errorstringPresent only on a failed run; a single item with a populated error field is written instead.

How it compares

CapabilityThis actorTypical AdondeVivir / Navent scraper
Sale and rent listingsYesYes
Multiple search URLs per runYesOften single URL
Price filters, beds, baths, areaYesPartial
Dual currency (USD and PEN)Yes, both numericUsually one figure
Price per m2Yes, computedNo
Maintenance/HOA feeYesRare
Structured address + district/city/regionYesDistrict string only
Geo coordinatesYesSometimes
Full image galleryYesThumbnail only
Amenities listYesPartial
Agent phoneYesOften WhatsApp only
Agent WhatsAppYesSometimes
Publisher/agency blockYesPartial
Optional AI enrichmentYesNo
No charge on failure + spend capYesVaries

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:

# 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 record returned (result event). See the pricing tab for the current per-result price.
  • Add-ons billed separately. details is charged per listing enriched (paid plans only); ai_listing_summary, ai_features and ai_translate are 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 error field and does not charge for it. If a detail page fails while the base listing is still delivered, that row is not billed the details add-on. Empty runs cost nothing.
  • 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 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.

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

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 priceUsd y pricePen directamente del aviso, sin adivinar tipos de cambio.
  • Datos de contacto reales. agentPhone y agentWhatsapp del agente mas el bloque completo de la inmobiliaria, no solo un numero parcial.
  • Metricas listas para analisis. Un pricePerM2 calculado (en la moneda del aviso) que otros scrapers no ofrecen.
  • Ubicacion completa. Calle address, district, city, region y 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

CampoTipoRequeridoPredeterminadoDescripcion
startUrlstringuna URL requeridadepartamentos-en-ventaUna 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.
startUrlsarraynovacioLista opcional de URL de busqueda para procesar en una ejecucion (strings o objetos { "url": "..." }).
maxListingsintegernotodo (pago) / 10 (gratis)Numero maximo de avisos a recolectar.
withDetailsbooleannotrueSolo 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).
minPriceintegernoningunoConserva avisos con precio igual o mayor a este monto, en priceCurrency.
maxPriceintegernoningunoConserva avisos con precio igual o menor a este monto, en priceCurrency.
priceCurrencystringnoUSDMoneda usada para los filtros de precio (USD o PEN).
minBedroomsintegernoningunoConserva avisos con al menos esta cantidad de dormitorios.
maxBedroomsintegernoningunoConserva avisos con como maximo esta cantidad de dormitorios.
minBathroomsintegernoningunoConserva avisos con al menos esta cantidad de banos.
minAreaM2integernoningunoConserva avisos con area total igual o mayor a estos m2.
maxAreaM2integernoningunoConserva avisos con area total igual o menor a estos m2.
withAiListingSummarybooleannofalseComplemento de IA de pago. Escribe un resumen conciso en ingles. Se cobra solo cuando se genera un resumen.
withAiFeaturesbooleannofalseComplemento de IA de pago. Extrae condicion, aspectos destacados y puntos de interes cercanos. Se cobra solo cuando se generan.
withAiTranslatebooleannofalseComplemento 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.

CampoTipoDescripcion
imageUrlstringImagen principal del aviso.
titlestringTitulo del aviso.
pricenumberPrecio principal (PEN si se muestra, si no USD), o null.
currencystringMoneda de price: PEN o USD, o null.
priceUsdnumberPrecio en dolares cuando se muestra, o null.
pricePennumberPrecio en soles cuando se muestra, o null.
maintenanceFeenumberGasto de mantenimiento cuando se muestra, o null.
maintenanceFeeCurrencystringMoneda del mantenimiento, o null.
operationTypestringventa o alquiler.
propertyTypestringTipo de propiedad, por ejemplo Departamento, Casa, Oficina.
isDevelopmentbooleantrue para proyectos de obra nueva, si no false.
bedroomsnumberCantidad de dormitorios, o null.
bathroomsnumberCantidad de banos, o null.
halfBathroomsnumberCantidad de medios banos, o null.
parkingSpacesnumberCocheras, o null.
totalAreaM2numberArea total en m2, o null.
builtAreaM2numberArea techada/construida en m2, o null.
pricePerM2numberPrecio por m2 en la moneda del aviso, calculado cuando hay precio y area, si no null.
pricePerM2CurrencystringMoneda de pricePerM2, o null.
agestringAntiguedad tal como se muestra ("A estrenar" o numero de anos), o null.
ageYearsnumberAntiguedad numerica en anos cuando es interpretable, o null.
isNewbooleantrue si es a estrenar, si no false/null.
numberOfFloorsnumberNumero de pisos del edificio cuando se publica, o null.
locationstringDistrito y ciudad como aparecen en la tarjeta.
addressstringDireccion (con withDetails), o null.
districtstringDistrito/barrio, o null.
citystringCiudad, o null.
regionstringRegion/provincia, o null.
coordinatesobjectCoordenadas {lat, lng} (con withDetails), o null.
statusstringEstado del aviso, por ejemplo ONLINE, o null.
reservedbooleanSi el aviso esta reservado, o null.
amenitiesstring[]Amenidades y caracteristicas (con withDetails), o null.
imagesstring[]Galeria completa de imagenes (con withDetails), o null.
descriptionstringDescripcion completa del aviso, o null.
publisherobjectBloque de la inmobiliaria: name, url, logo, publisherId, partialPhone, license, premium, publisherTypeId.
publisherIdstringId de la inmobiliaria, o null.
publisherLogostringURL del logo de la inmobiliaria, o null.
agentPhonestringTelefono del agente en formato +<digitos>, o null.
agentWhatsappstringWhatsApp del agente, o null.
contactNamestringNombre de contacto del agente cuando el aviso lo expone, o null.
postingCodestringCodigo legible del aviso, o null.
urlstringEnlace directo al aviso.
listingIdstringId del aviso en AdondeVivir.
publishedDatestringFecha de publicacion (ISO 8601), o null.
observedAtstringMarca de tiempo ISO 8601 de cuando se recolecto el registro.
aiListingSummarystringResumen en ingles por IA cuando el complemento esta activo, si no null.
aiFeaturesobjectCaracteristicas estructuradas por IA cuando esta activo, si no null.
aiListingEnglishobjectTitulo y descripcion en ingles por IA cuando esta activo, si no null.
detailErrorstringPresente solo cuando la pagina de detalle fallo pero el aviso base si se entrego (esa fila no se cobra el complemento details).
errorstringPresente solo en una ejecucion fallida; se escribe un unico item con el campo error.

Como se compara

CapacidadEste actorScraper tipico de AdondeVivir / Navent
Avisos de venta y alquilerSiSi
Varias URL de busqueda por ejecucionSiSuele ser una sola
Filtros de precio, dormitorios, banos, areaSiParcial
Doble moneda (USD y PEN)Si, ambas numericasSuele ser una cifra
Precio por m2Si, calculadoNo
Gasto de mantenimientoSiRaro
Direccion estructurada + distrito/ciudad/regionSiSolo texto del distrito
Coordenadas geograficasSiA veces
Galeria completa de imagenesSiSolo miniatura
Lista de amenidadesSiParcial
Telefono del agenteSiSuele ser solo WhatsApp
WhatsApp del agenteSiA veces
Bloque de la inmobiliariaSiParcial
Enriquecimiento con IA opcionalSiNo
Sin cobro ante fallas + tope de gastoSiVariable

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:

# 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 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. details se cobra por aviso enriquecido (solo planes de pago); ai_listing_summary, ai_features y ai_translate se 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 error y no lo cobra. Si una pagina de detalle falla pero el aviso base si se entrega, esa fila no se cobra el complemento details. Las ejecuciones vacias no cuestan nada.
  • Tope de gasto respetado. Configura maxTotalChargeUsd en 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

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.