Compreoalquile Scraper | Panama Real Estate Listings & API
Pricing
from $6.15 / 1,000 results
Compreoalquile Scraper | Panama Real Estate Listings & API
Scrape Compreoalquile, Panama's real estate portal. Extract property listings for sale or rent (venta o alquiler): price, USD, maintenance, beds, baths, area, GPS, amenities, photos, agent phone and WhatsApp, agency. Bienes raices, apartamentos y casas en Panama. JSON, CSV, Excel. No API key.
Pricing
from $6.15 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Compreoalquile Scraper: Panama Real Estate Listings and API
The most complete Compreoalquile scraper for Panama real estate data. Compreoalquile.com is Panama's leading property portal, and this actor turns any search page into clean, structured records: property listings for sale or rent (venta o alquiler) with price, area, rooms, GPS coordinates, amenities, photos, and the advertiser's phone, WhatsApp and agency logo. Paste a search URL, press Run, and export inmuebles, apartamentos y casas en Panama to JSON, CSV or Excel. No login and no API key.
Keywords: compreoalquile scraper, compreoalquile api, panama real estate data, property listings scraper panama, bienes raices panama, propiedades en venta o alquiler panama, apartamentos y casas en panama, datos inmobiliarios panama.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this scraper
- How it compares
- Quickstart
- Input reference
- Output reference
- Example output record
- Use cases
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
Give the actor any Compreoalquile search results URL (for sale or for rent, filtered however you like on the site, or several URLs at once). It paginates through the results and, when withDetails is on, opens each listing to enrich it. It writes one normalized record per property to the run's dataset, with price and area as numbers, structured location, geo coordinates, advertiser contact details, amenities and the full image set. Missing source values are returned as null, never invented.
Data covers Panama real estate listings on Compreoalquile: apartamentos, casas, oficinas, locales comerciales, terrenos and new-build developments (proyectos). Three optional AI add-ons (aiListingSummary, aiFeatures, aiTranslation) can enrich each record; they are opt-in, billed per enriched record, and disabled on free Apify plans.
Why this scraper
- Every field the listing exposes. Not just price and rooms: total and built area, price per m2, maintenance/HOA fee, GPS coordinates, agent phone and WhatsApp, agency logo and licence, amenities, published date and more.
- Sale and rent in one tool. Operation type is detected from the URL and confirmed from the listing's own price record.
- Dual price fields.
priceUsdandpricePabare captured separately when the listing shows them. - Batch friendly. Pass one URL or a whole list of search URLs in
startUrls. - Structured filters. Narrow results by price, bedrooms, bathrooms and area without touching the site.
- Honest nulls. Developments that only publish ranges return
nullfor a value rather than a made-up number.
How it compares
There is no dedicated Compreoalquile scraper on the Apify Store; adjacent Panama actors scrape a different portal (Encuentra24). This actor is purpose built for Compreoalquile and returns a strict superset of the fields a generic classifieds scraper offers.
| Capability | This actor | Generic classifieds scraper |
|---|---|---|
| Compreoalquile listings (sale and rent) | Yes | Partial or none |
| Any search URL, respects on-site filters | Yes | Sometimes |
| Multiple search URLs per run | Yes | Rarely |
Price + priceUsd + pricePab | Yes | Single figure |
| Maintenance / HOA fee | Yes | No |
| Price per m2 | Yes | No |
| Total vs built area | Yes | No |
| GPS latitude / longitude | Yes | Rarely |
| Amenities list | Yes | Rarely |
| Agent phone + WhatsApp | Yes | Rarely |
| Agency name, licence and logo | Yes | Rarely |
| Full image gallery | Yes | Thumbnail only |
| Structured price / beds / baths / area filters | Yes | No |
| Optional AI summary, features, translation | Yes | No |
| Pay per result, no charge on failure | Yes | Varies |
Quickstart
Open the actor, paste this into the input, and press Run. It returns 3 for-sale apartments with detail pages.
{"startUrl": "https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings": 3,"withDetails": true}
Set startUrl to any Compreoalquile search URL, or pass several in startUrls. Leave the AI add-ons off (default) for the raw listing fields.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | string | one of these | (none) | A full Compreoalquile search results URL, for example https://www.compreoalquile.com/apartamentos-en-venta.html. |
startUrls | array | one of these | (none) | List of search URLs (strings or {"url": "..."}) to scrape in one run. |
maxListings | integer | no | (all) | Maximum listings to collect across all URLs. Free Apify plans are capped at 10 per run. |
withDetails | boolean | no | true | Open each listing detail page and return enriched fields. Requires a paid plan; free runs return listing-level fields only. |
minPrice | integer | no | (none) | Keep only listings priced at or above this value. |
maxPrice | integer | no | (none) | Keep only listings priced at or below this value. |
minBedrooms | integer | no | (none) | Keep only listings with at least this many bedrooms. |
maxBedrooms | integer | no | (none) | Keep only listings with at most this many bedrooms. |
minBathrooms | integer | no | (none) | Keep only listings with at least this many bathrooms. |
minAreaM2 | integer | no | (none) | Keep only listings with at least this area in m2. |
maxAreaM2 | integer | no | (none) | Keep only listings with at most this area in m2. |
withAiSummary | boolean | no | false | Add a plain-English AI summary of each listing. Paid add-on, disabled on free plans. |
withAiFeatures | boolean | no | false | Extract normalized English feature tags, condition and highlights via AI. Paid add-on. |
withAiTranslate | boolean | no | false | Translate the listing title and description to English via AI. Paid add-on. |
Operation (venta or alquiler), property type, zona, precio, recamaras, amoblado and dueno directo are all encoded in the Compreoalquile URL and respected automatically. Paste the URL from your browser after applying filters on the site.
Output reference
One dataset item per listing. Types: string, number, boolean, array, object, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
listingId | string | Compreoalquile listing ID. |
title | string | Listing title. |
url | string | Listing detail URL. |
imageUrl | string | Primary listing image URL. |
operationType | string | Venta (sale) or Alquiler (rent). |
propertyType | string | Property type, for example Apartamento, Casa, Oficina. |
isDevelopment | boolean | Whether the listing is a new-build development (proyecto). |
price | number | Listed price in currency. |
currency | string | Currency code, for example USD or PAB. |
priceUsd | number | Price in USD when shown. |
pricePab | number | Price in Panamanian balboa when shown. |
maintenanceFee | number | Monthly maintenance / HOA fee, or null. |
maintenanceCurrency | string | Maintenance fee currency. |
pricePerM2 | number | Price per square meter (derived from price and area). |
pricePerM2Currency | string | Currency of pricePerM2. |
bedrooms | integer | Number of bedrooms, or null. |
bathrooms | integer | Number of bathrooms, or null. |
halfBathrooms | integer | Number of half bathrooms, or null. |
parking | integer | Number of parking spaces, or null. |
areaM2 | number | Area in square meters. |
totalAreaM2 | number | Total area in m2. |
builtAreaM2 | number | Built / covered area in m2. |
location | string | Street or area name. |
neighborhood | string | Neighborhood. |
district | string | District / corregimiento. |
city | string | City. |
province | string | Province. |
country | string | Country (Panamá). |
latitude | number | Latitude, or null. |
longitude | number | Longitude, or null. |
furnished | boolean | Whether the property is furnished, or null. |
advertiserType | string | agency or owner (dueno directo). |
description | string | Listing description, or null. |
amenities | array | List of amenities, empty when none are listed. |
images | array | All listing image URLs. |
sellerName | string | Advertiser / agency name. |
sellerId | string | Advertiser ID. |
sellerCompany | string | Agency company name (null for owner listings). |
sellerLicense | string | Advertiser licence, or null. |
contactName | string | Individual contact name for owner listings, or null. |
agentPhone | string | Advertiser phone number, or null. |
agentWhatsapp | string | Advertiser WhatsApp number, or null. |
phoneAvailable | boolean | Whether a contact number is available. |
publisherLogo | string | Agency logo URL, or null. |
ageYears | integer | Building age in years, or null. |
yearBuilt | integer | Estimated year built, derived from age. |
isNew | boolean | Whether the property is brand new (a estrenar). |
condition | string | Condition, or null. |
numberOfFloors | integer | Number of floors, or null. |
projectName | string | Project / developer name for developments, or null. |
status | string | Listing status. |
reserved | boolean | Whether the listing is reserved. |
publishedDate | string | ISO 8601 date the listing was published. |
updatedDate | string | ISO 8601 date the listing was updated, or null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
detailError | string | Set if the detail page could not be fetched; the listing-level row is still delivered. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
aiListingSummary | string | AI plain-English summary. Present only with withAiSummary. |
aiFeatures | object | AI feature tags, condition and highlights. Present only with withAiFeatures. |
aiTitleEn | string | AI English translation of the title. Present with withAiTranslate. |
aiTranslation | string | AI English translation block. Present with withAiTranslate. |
Example output record
Real record from a live run, with amenities and images trimmed for readability:
{"listingId": "150522253","title": "Apartamento en Venta en Costa Sur, Costa Mare. Eh","url": "https://www.compreoalquile.com/propiedades/clasificado/veclapin-apartamento-en-venta-en-costa-sur-costa-mare.-eh-150522253.html","operationType": "Venta","propertyType": "Apartamento","isDevelopment": false,"price": 144000,"currency": "USD","priceUsd": 144000,"pricePerM2": 1455,"bedrooms": 2,"bathrooms": 2,"parking": 1,"areaM2": 99,"totalAreaM2": 99,"builtAreaM2": 99,"neighborhood": "Costa Sur","district": "Costa Sur","city": "Panamá","province": "Panamá","country": "Panamá","latitude": 9.0326009,"longitude": -79.4245497,"advertiserType": "agency","amenities": ["Garita de seguridad", "Piscina", "Tanque de reserva de agua", "Pet friendly"],"sellerName": "Real Business Brokers Panama. S.A.","sellerId": "50289901","agentPhone": "507 67978290","agentWhatsapp": "507 67978290","publisherLogo": "https://img10.naventcdn.com/empresas/20/00/50/28/99/01/130x70/logo_real-business-brokers-panama.-s.a._1539012823298.jpg","ageYears": 10,"yearBuilt": 2016,"isNew": false,"status": "ONLINE","reserved": false,"publishedDate": "2026-07-14T20:11:05Z","images": ["https://img10.naventcdn.com/avisos/20/01/50/52/22/53/720x532/1620086441.jpg"],"error": null}
Use cases
- Real estate market research across Panama City (Costa del Este, Costa Sur, Santa Maria, San Francisco, Punta Pacifica) and beyond.
- Price and price-per-m2 analysis for sale and rent, by neighborhood and property type.
- Lead generation with agent phone, WhatsApp and agency details.
- Portal and aggregator feeds that need a normalized property schema with images and coordinates.
- Investment and valuation models that need area, maintenance fees and location.
- Competitive monitoring of agencies and developments (proyectos).
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~compreoalquile-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~compreoalquile-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrls":["https://www.compreoalquile.com/casas-en-alquiler.html"],"maxListings":100}'
Apify CLI:
apify call scrapers_lat/compreoalquile-scraper \--input '{"startUrl":"https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings":10}'
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 returned (
resultevent). See the pricing tab for the current per-result price. - Detail enrichment. With
withDetailson, each enriched listing charges a smalldetailsadd-on, only after the record is delivered and only on a successful detail fetch. Detail enrichment requires a paid plan. - AI add-ons billed separately.
withAiSummary,withAiFeaturesandwithAiTranslateeach charge their own event only when they produce output, and are disabled on free plans. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. 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 return listing-level fields only. Upgrade for higher
maxListingsand detail enrichment.
FAQ and troubleshooting
A run returned 0 records. Why?
The startUrl matched no listings, or the search filters on the site returned nothing. Open the URL in a browser to confirm it shows results. Zero-result runs are not charged.
Why are bathrooms, description or maintenanceFee null?
Not every listing publishes these values, and developments (proyectos) often list ranges only. Missing source values are returned as null, never invented. Keep withDetails on to capture the most fields.
How do I get for-rent instead of for-sale listings?
Set startUrl to a rent search URL, for example https://www.compreoalquile.com/casas-en-alquiler.html.
Can I scrape several searches at once?
Yes. Put multiple URLs in startUrls and the actor scrapes them in one run.
Do the AI add-ons work on a free plan? No. The AI add-ons and detail enrichment require a paid Apify plan and are disabled automatically for free users. The base listing fields are always returned.
Is this an official Compreoalquile tool? No. This actor is independent and has no affiliation with Compreoalquile. It reads only data that is publicly available on the site.
Related scrapers
- Encuentra24 Scraper: Central America classifieds and listings.
- Panama Emprende Scraper: Panama business registrations.
- Adondevivir Scraper: Peru real estate listings.
- Inmuebles24 Scraper: Mexico real estate listings.
- Fincaraiz Scraper: Colombia 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.
Independent tool, not affiliated with Compreoalquile. Accesses only publicly available listing data.
Compreoalquile Scraper: Datos y API de Bienes Raices en Panama
El scraper de Compreoalquile mas completo para datos inmobiliarios de Panama. Compreoalquile.com es el portal inmobiliario lider de Panama, y este actor convierte cualquier pagina de busqueda en registros limpios y estructurados: propiedades en venta o alquiler con precio, area, ambientes, coordenadas GPS, amenidades, fotos y el telefono, WhatsApp y logo de la inmobiliaria. Pega una URL de busqueda, presiona Ejecutar y exporta inmuebles, apartamentos y casas en Panama a JSON, CSV o Excel. Sin usuario y sin API key.
Palabras clave: scraper de compreoalquile, api de compreoalquile, datos inmobiliarios panama, scraper de propiedades panama, bienes raices panama, propiedades en venta o alquiler panama, apartamentos y casas en panama.
📥 Entrada · 📤 Salida · 💰 Precios · ▶️ Ejemplos
Tabla de contenido
- Que hace
- Por que este scraper
- Comparativa
- Inicio rapido
- Referencia de entrada
- Referencia de salida
- Registro de ejemplo
- Casos de uso
- Uso por API y CLI
- Obtener resultados
- Facturacion y limites
- Preguntas frecuentes
Que hace
Dale al actor cualquier URL de resultados de busqueda de Compreoalquile (venta o alquiler, con los filtros que quieras del sitio, o varias URLs a la vez). Recorre las paginas de resultados y, cuando withDetails esta activo, abre cada aviso para enriquecerlo. Escribe un registro normalizado por propiedad en el dataset del run, con precio y area como numeros, ubicacion estructurada, coordenadas geograficas, datos de contacto del anunciante, amenidades y todas las imagenes. Los valores ausentes en la fuente se devuelven como null, nunca se inventan.
Los datos cubren avisos inmobiliarios de Panama en Compreoalquile: apartamentos, casas, oficinas, locales comerciales, terrenos y proyectos de obra nueva. Tres complementos de IA opcionales (aiListingSummary, aiFeatures, aiTranslation) pueden enriquecer cada registro; son opcionales, se cobran por registro enriquecido y estan deshabilitados en planes gratuitos de Apify.
Por que este scraper
- Todos los campos que expone el aviso. No solo precio y ambientes: area total y construida, precio por m2, cuota de mantenimiento, coordenadas GPS, telefono y WhatsApp del anunciante, logo y licencia de la inmobiliaria, amenidades, fecha de publicacion y mas.
- Venta y alquiler en una sola herramienta. El tipo de operacion se detecta de la URL y se confirma con el registro de precio del aviso.
- Campos de precio dobles.
priceUsdypricePabse capturan por separado cuando el aviso los muestra. - Apto para lotes. Pasa una URL o una lista completa de URLs de busqueda en
startUrls. - Filtros estructurados. Acota resultados por precio, recamaras, banos y area sin tocar el sitio.
- Nulos honestos. Los proyectos que solo publican rangos devuelven
nullen lugar de un numero inventado.
Comparativa
No existe un scraper dedicado de Compreoalquile en la Apify Store; los actores cercanos de Panama scrapean otro portal (Encuentra24). Este actor esta hecho a la medida de Compreoalquile y devuelve un superconjunto estricto de los campos de un scraper de clasificados generico.
| Capacidad | Este actor | Scraper de clasificados generico |
|---|---|---|
| Avisos de Compreoalquile (venta y alquiler) | Si | Parcial o ninguno |
| Cualquier URL de busqueda, respeta filtros del sitio | Si | A veces |
| Varias URLs de busqueda por run | Si | Rara vez |
Precio + priceUsd + pricePab | Si | Una sola cifra |
| Cuota de mantenimiento | Si | No |
| Precio por m2 | Si | No |
| Area total vs construida | Si | No |
| Latitud / longitud GPS | Si | Rara vez |
| Lista de amenidades | Si | Rara vez |
| Telefono + WhatsApp del anunciante | Si | Rara vez |
| Nombre, licencia y logo de la inmobiliaria | Si | Rara vez |
| Galeria completa de imagenes | Si | Solo miniatura |
| Filtros de precio / recamaras / banos / area | Si | No |
| IA opcional: resumen, features, traduccion | Si | No |
| Pago por resultado, sin cobro en fallos | Si | Varia |
Inicio rapido
Abre el actor, pega esto en la entrada y presiona Ejecutar. Devuelve 3 apartamentos en venta con paginas de detalle.
{"startUrl": "https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings": 3,"withDetails": true}
Cambia startUrl por cualquier URL de busqueda de Compreoalquile, o pasa varias en startUrls. Deja los complementos de IA apagados (por defecto) para los campos base del aviso.
Referencia de entrada
| Campo | Tipo | Requerido | Por defecto | Descripcion |
|---|---|---|---|---|
startUrl | string | uno de estos | (ninguno) | Una URL completa de resultados de Compreoalquile, por ejemplo https://www.compreoalquile.com/apartamentos-en-venta.html. |
startUrls | array | uno de estos | (ninguno) | Lista de URLs de busqueda (strings o {"url": "..."}) para scrapear en un run. |
maxListings | integer | no | (todos) | Maximo de avisos a recolectar entre todas las URLs. Planes gratuitos limitados a 10 por run. |
withDetails | boolean | no | true | Abre la pagina de detalle de cada aviso y devuelve campos enriquecidos. Requiere plan de pago; los runs gratuitos devuelven solo campos de nivel de listado. |
minPrice | integer | no | (ninguno) | Conserva solo avisos con precio mayor o igual a este valor. |
maxPrice | integer | no | (ninguno) | Conserva solo avisos con precio menor o igual a este valor. |
minBedrooms | integer | no | (ninguno) | Conserva solo avisos con al menos estas recamaras. |
maxBedrooms | integer | no | (ninguno) | Conserva solo avisos con como mucho estas recamaras. |
minBathrooms | integer | no | (ninguno) | Conserva solo avisos con al menos estos banos. |
minAreaM2 | integer | no | (ninguno) | Conserva solo avisos con al menos esta area en m2. |
maxAreaM2 | integer | no | (ninguno) | Conserva solo avisos con como mucho esta area en m2. |
withAiSummary | boolean | no | false | Agrega un resumen en ingles de cada aviso. Complemento pago, deshabilitado en planes gratuitos. |
withAiFeatures | boolean | no | false | Extrae etiquetas de features, condicion y aspectos destacados con IA. Complemento pago. |
withAiTranslate | boolean | no | false | Traduce el titulo y la descripcion al ingles con IA. Complemento pago. |
La operacion (venta o alquiler), el tipo de propiedad, zona, precio, recamaras, amoblado y dueno directo van codificados en la URL de Compreoalquile y se respetan automaticamente. Pega la URL de tu navegador despues de aplicar filtros en el sitio.
Referencia de salida
Un item de dataset por aviso. Tipos: string, number, boolean, array, object, o null cuando el valor de origen no existe.
| Campo | Tipo | Descripcion |
|---|---|---|
listingId | string | ID del aviso en Compreoalquile. |
title | string | Titulo del aviso. |
url | string | URL de detalle del aviso. |
imageUrl | string | URL de la imagen principal. |
operationType | string | Venta o Alquiler. |
propertyType | string | Tipo de propiedad, por ejemplo Apartamento, Casa, Oficina. |
isDevelopment | boolean | Si el aviso es un proyecto de obra nueva. |
price | number | Precio publicado en currency. |
currency | string | Codigo de moneda, por ejemplo USD o PAB. |
priceUsd | number | Precio en USD cuando se muestra. |
pricePab | number | Precio en balboas cuando se muestra. |
maintenanceFee | number | Cuota mensual de mantenimiento, o null. |
maintenanceCurrency | string | Moneda de la cuota de mantenimiento. |
pricePerM2 | number | Precio por metro cuadrado (derivado de precio y area). |
pricePerM2Currency | string | Moneda de pricePerM2. |
bedrooms | integer | Recamaras, o null. |
bathrooms | integer | Banos, o null. |
halfBathrooms | integer | Medios banos, o null. |
parking | integer | Estacionamientos, o null. |
areaM2 | number | Area en metros cuadrados. |
totalAreaM2 | number | Area total en m2. |
builtAreaM2 | number | Area construida / cubierta en m2. |
location | string | Calle o zona. |
neighborhood | string | Barrio. |
district | string | Distrito / corregimiento. |
city | string | Ciudad. |
province | string | Provincia. |
country | string | Pais (Panamá). |
latitude | number | Latitud, o null. |
longitude | number | Longitud, o null. |
furnished | boolean | Si la propiedad esta amoblada, o null. |
advertiserType | string | agency o owner (dueno directo). |
description | string | Descripcion del aviso, o null. |
amenities | array | Lista de amenidades, vacia cuando no hay. |
images | array | Todas las URLs de imagenes. |
sellerName | string | Nombre del anunciante / inmobiliaria. |
sellerId | string | ID del anunciante. |
sellerCompany | string | Nombre de la inmobiliaria (null en avisos de dueno). |
sellerLicense | string | Licencia del anunciante, o null. |
contactName | string | Nombre de contacto en avisos de dueno, o null. |
agentPhone | string | Telefono del anunciante, o null. |
agentWhatsapp | string | WhatsApp del anunciante, o null. |
phoneAvailable | boolean | Si hay un numero de contacto disponible. |
publisherLogo | string | URL del logo de la inmobiliaria, o null. |
ageYears | integer | Antiguedad del edificio en anos, o null. |
yearBuilt | integer | Ano de construccion estimado, derivado de la antiguedad. |
isNew | boolean | Si la propiedad es a estrenar. |
condition | string | Condicion, o null. |
numberOfFloors | integer | Numero de pisos, o null. |
projectName | string | Nombre del proyecto / desarrollador, o null. |
status | string | Estado del aviso. |
reserved | boolean | Si el aviso esta reservado. |
publishedDate | string | Fecha ISO 8601 de publicacion. |
updatedDate | string | Fecha ISO 8601 de actualizacion, o null. |
observedAt | string | Marca de tiempo ISO 8601 de la extraccion. |
detailError | string | Presente si no se pudo obtener la pagina de detalle; igual se entrega el registro de nivel de listado. |
error | string | null en exito. En un run fallido se escribe un unico item con error. |
aiListingSummary | string | Resumen en ingles por IA. Solo con withAiSummary. |
aiFeatures | object | Etiquetas de features, condicion y destacados por IA. Solo con withAiFeatures. |
aiTitleEn | string | Traduccion al ingles del titulo por IA. Con withAiTranslate. |
aiTranslation | string | Bloque de traduccion al ingles por IA. Con withAiTranslate. |
Registro de ejemplo
Registro real de un run en vivo, con amenities e images recortados por legibilidad:
{"listingId": "150522253","title": "Apartamento en Venta en Costa Sur, Costa Mare. Eh","url": "https://www.compreoalquile.com/propiedades/clasificado/veclapin-apartamento-en-venta-en-costa-sur-costa-mare.-eh-150522253.html","operationType": "Venta","propertyType": "Apartamento","isDevelopment": false,"price": 144000,"currency": "USD","priceUsd": 144000,"pricePerM2": 1455,"bedrooms": 2,"bathrooms": 2,"parking": 1,"areaM2": 99,"totalAreaM2": 99,"builtAreaM2": 99,"neighborhood": "Costa Sur","district": "Costa Sur","city": "Panamá","province": "Panamá","country": "Panamá","latitude": 9.0326009,"longitude": -79.4245497,"advertiserType": "agency","amenities": ["Garita de seguridad", "Piscina", "Tanque de reserva de agua", "Pet friendly"],"sellerName": "Real Business Brokers Panama. S.A.","sellerId": "50289901","agentPhone": "507 67978290","agentWhatsapp": "507 67978290","publisherLogo": "https://img10.naventcdn.com/empresas/20/00/50/28/99/01/130x70/logo_real-business-brokers-panama.-s.a._1539012823298.jpg","ageYears": 10,"yearBuilt": 2016,"isNew": false,"status": "ONLINE","reserved": false,"publishedDate": "2026-07-14T20:11:05Z","images": ["https://img10.naventcdn.com/avisos/20/01/50/52/22/53/720x532/1620086441.jpg"],"error": null}
Casos de uso
- Investigacion de mercado inmobiliario en Ciudad de Panama (Costa del Este, Costa Sur, Santa Maria, San Francisco, Punta Pacifica) y mas alla.
- Analisis de precio y precio por m2 de venta y alquiler, por barrio y tipo de propiedad.
- Generacion de leads con telefono, WhatsApp y datos de la inmobiliaria.
- Feeds para portales y agregadores que necesitan un esquema normalizado con imagenes y coordenadas.
- Modelos de inversion y valuacion que necesitan area, cuotas de mantenimiento y ubicacion.
- Monitoreo competitivo de inmobiliarias y proyectos.
Uso por API y CLI
Inicia un run, espera a que termine y lee el dataset. Reemplaza <TOKEN> con tu token de API de Apify.
Ejecutar de forma sincronica y obtener los items en una sola llamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~compreoalquile-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings":25,"withDetails":true}'
Iniciar un run de forma asincronica:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~compreoalquile-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrls":["https://www.compreoalquile.com/casas-en-alquiler.html"],"maxListings":100}'
Apify CLI:
apify call scrapers_lat/compreoalquile-scraper \--input '{"startUrl":"https://www.compreoalquile.com/apartamentos-en-venta.html","maxListings":10}'
Obtener resultados
Cada run escribe en un dataset. Obten los items como 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 del run. Usa offset y limit para paginar. clean=true descarta campos vacios e internos.
Facturacion y limites
- Pago por resultado. Se cobra por aviso devuelto (evento
result). Ver la pestana de precios por el precio vigente. - Enriquecimiento de detalle. Con
withDetailsactivo, cada aviso enriquecido cobra un pequeno complementodetails, solo despues de entregar el registro y solo con una obtencion exitosa. Requiere plan de pago. - Complementos de IA facturados aparte.
withAiSummary,withAiFeaturesywithAiTranslatecobran su propio evento solo cuando producen salida y estan deshabilitados en planes gratuitos. - Sin cobro en fallos. Si un run falla, el actor escribe un unico item con
errory no lo cobra. Los runs vacios no cuestan nada. - Limite de gasto respetado. Configura
maxTotalChargeUsd; al alcanzarlo, el actor deja de emitir y cobrar resultados. - Planes gratuitos de Apify limitados a 10 registros por run y devuelven solo campos de nivel de listado. Mejora tu plan para mas
maxListingsy enriquecimiento de detalle.
Preguntas frecuentes
Un run devolvio 0 registros. Por que?
La startUrl no coincidio con avisos, o los filtros del sitio no devolvieron nada. Abre la URL en un navegador para confirmar que muestra resultados. Los runs sin resultados no se cobran.
Por que bathrooms, description o maintenanceFee son null?
No todos los avisos publican estos valores, y los proyectos suelen listar solo rangos. Los valores ausentes se devuelven como null, nunca se inventan. Manten withDetails activo para capturar mas campos.
Como obtengo avisos en alquiler en vez de venta?
Pon startUrl en una URL de alquiler, por ejemplo https://www.compreoalquile.com/casas-en-alquiler.html.
Puedo scrapear varias busquedas a la vez?
Si. Pon varias URLs en startUrls y el actor las scrapea en un solo run.
Los complementos de IA funcionan en plan gratuito? No. Los complementos de IA y el enriquecimiento de detalle requieren plan de pago y se deshabilitan automaticamente para usuarios gratuitos. Los campos base siempre se devuelven.
Es una herramienta oficial de Compreoalquile? No. Este actor es independiente y no tiene afiliacion con Compreoalquile. Solo lee datos disponibles publicamente en el sitio.
Herramienta independiente, sin afiliacion con Compreoalquile. Accede solo a datos de avisos disponibles publicamente.
