Properati Propoperty real estate Scraper
Pricing
from $1.20 / 1,000 results
Properati Propoperty real estate Scraper
Scrapes property listings from Properati (Argentina, Colombia, Ecuador, Peru). Extracts price, rooms, surface area, location, features, and full descriptions.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
11
Total users
3
Monthly active users
0.21 hours
Issues response
3 days ago
Last modified
Categories
Share
Properati Scraper — Argentina, Colombia, Ecuador Real Estate

Extract property listings from Properati at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.
Why this scraper?
🎯 Built for Latin America
A dedicated regional scraper, not a global tool with a country dropdown. Location slugs, price formats and currencies are tuned to Properati's Argentine, Colombian and Ecuadorian sites.
💶 Structured pricing
Asking price or rent as a clean number, plus the currency code and the price exactly as displayed. Price-on-request listings return null, never a guess.
🏠 Property characteristics
Bedrooms, bathrooms, surface area, property type and the published features list, all in structured fields.
📍 Precise location
Province, city, district and street address, plus latitude and longitude for mapping and radius analysis.
🖼️ Listing photos
Every photo URL the source publishes for a listing, not just the thumbnail.
🔁 Change detection
Every record carries a contentHash over the listing's identity and price, so a scheduled run can tell a genuinely changed listing from an unchanged one.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
country | string | "ar" | Which Properati site to search: ar, co or ec. |
propertyType | string | "apartment" | apartment, house, studio, office, land, warehouse, commercial, or other for no property-type filter. |
operationType | string | "sale" | sale, rent, or both — both runs the sale and rent searches in sequence. |
location | string | (empty) | Location slug exactly as it appears in the Properati URL. Leave empty to search the whole country. A slug that doesn't exist is reported in the log and the search continues without it. |
minPrice | integer | (empty) | Minimum listing price, in the currency Properati displays for that market. Applied by Properati's own search filter. |
maxPrice | integer | (empty) | Maximum listing price, in the currency Properati displays for that market. Applied by Properati's own search filter. |
daysOld | integer | (empty) | Only return listings published within the last N days. Properati's own filter covers 1, 7 and 30 days; any other value is applied by filtering on each listing's publish date. |
maxItems | integer | 100 | Maximum number of listings to return. Each listing is one charged result. |
startUrls | array | (empty) | Properati search URLs to scrape instead of using the filters above. Any query string on the URL is kept. |
fetchDetailsEnabled | boolean | true | Fetches each listing's detail page to add the description, surface area, street address, coordinates and features. One extra request per listing. |
maxConcurrency | integer | 5 | Parallel requests when fetching detail pages. |
Location slugs
Properati organises locations by province or region, not by city name. Copy the slug from the URL of any Properati search page. Valid examples:
- Argentina:
capital-federal,bs-as-g-b-a-zona-norte,bs-as-g-b-a-zona-sur,cordoba-argentina,mendoza-argentina,santa-fe-argentina,neuquen - Colombia:
antioquia-colombia,cundinamarca-colombia,valle-del-cauca-colombia,atlantico-colombia,santander - Ecuador:
pichincha-ecuador,guayas,azuay,manabi,santa-elena
Neighbourhood slugs also work where Properati publishes them, for example palermo in Argentina.
Output schema
Every field below is present on every record. Fields the source does not publish for a given listing are returned as null rather than omitted. The fields marked detail are only populated when fetchDetailsEnabled is on.
| Field | Type | Description |
|---|---|---|
id | string | Unique listing ID from the source. |
url | string | Direct link to the listing. |
title | string | Listing title as published. |
operationType | string | venta, alquiler or arriendo, as the source labels it. |
propertyType | string | Normalised property type, e.g. apartment, house, land. |
priceText | string | Price exactly as displayed, e.g. USD 130.000 or Consultar precio. |
priceAmount | number | Asking price or rent as a number (null if price on request). |
priceCurrency | string | Currency code — USD, ARS or COP. |
province | string | Province or region. |
city | string | City or locality. |
district | string | District (detail). |
streetAddress | string | Street address as published. |
postcode | string | Postcode where the source publishes one (detail). |
country | string | AR, CO or EC. |
bedrooms | number | Number of bedrooms. |
bathrooms | number | Number of bathrooms. |
latitude | number | Latitude of the property. |
longitude | number | Longitude of the property. |
surfaceTotal | number | Total surface area (detail). |
surfaceCovered | number | Covered surface area (detail). |
surfaceUnit | string | Surface unit — always m2. |
features | array | Feature list as published on the listing (detail). |
agencyName | string | Publishing agency or broker as named on the listing. |
images | array | URLs of all listing photos. |
publishDate | string | Publish date, YYYY-MM-DD. |
descriptionText | string | Full listing description as plain text (detail). |
descriptionMarkdown | string | Same description, Markdown-ready (detail). |
source | string | Always properati.com. |
scrapedAt | string | Timestamp when this record was scraped. |
contentHash | string | Stable hash over listing ID, price and bedroom count, for change detection. |
Example record
{"id": "019d0c76-379c-722a-a418-a7f735351dd1","url": "https://www.properati.com.ar/detalle/14032-32-37bc-a7f735351df1-19d0c96-a438-724a","title": "Apartamento en Venta en Delta","operationType": "venta","propertyType": "apartment","priceText": "USD 130.000","priceAmount": 130000,"priceCurrency": "USD","province": "Provincia de Buenos Aires","city": "Tigre","district": "Tigre","streetAddress": "Aníbal González 839, Rincón de Milberg, Provincia de Buenos Aires, Argentina","postcode": null,"country": "AR","bedrooms": 2,"bathrooms": 1,"latitude": -34.41924,"longitude": -58.5903979,"surfaceTotal": 80,"surfaceCovered": 80,"surfaceUnit": "m2","features": ["Garage", "Aire acondicionado", "Cocina equipada", "Agua"],"agencyName": "new prop argentina s.a.","images": ["https://img.properati.com/eyJidWNrZXQiOiJwcmQtbGlmdWxsY29ubmVjdC1iYWNrZW5kLWIyYi1pbWFnZXMi …"],"publishDate": "2026-03-19","descriptionText": "Departamento de 4 ambientes todo externo con balcón …","descriptionMarkdown": "Departamento de 4 ambientes todo externo con balcón …","source": "properati.com","scrapedAt": "2026-08-28T13:13:24.000Z","contentHash": "63bf0459f0cfc273"}
Examples
Apartments for sale in Buenos Aires city:
{"country": "ar","location": "capital-federal","propertyType": "apartment","operationType": "sale","maxItems": 100}
Rentals in Antioquia, Colombia, under 4,000,000 COP:
{"country": "co","location": "antioquia-colombia","propertyType": "apartment","operationType": "rent","maxPrice": 4000000,"maxItems": 100}
Scrape a specific search URL:
{"startUrls": [{ "url": "https://www.properati.com.ar/s/palermo/departamento/venta" }],"maxItems": 200}
Daily feed of new listings (run on a schedule):
{"country": "ar","location": "capital-federal","daysOld": 1,"maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler — each run returns only listings published in the last 24 hours.
💰 Pricing
$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.50 |
| 10,000 | ~$15 |
| 100,000 | ~$150 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate to $1.35, $1.20, $1.01 and $0.90 per 1,000 results. Use the Maximum Results cap in the input to control your spend exactly.
Performance
Measured on Apify with maxItems as shown, August 2026.
| Run | Typical time | Peak memory |
|---|---|---|
| 12 listings, listing only | ~8 seconds | 79 MB |
| 20 listings, details on | ~32 seconds | 164 MB |
| 100 listings, details on | ~4 minutes | 168 MB |
Listing-only runs are several times faster because they skip one request per listing. Turn fetchDetailsEnabled off when you don't need descriptions, surface area, district or exact addresses.
Known limitations
- Surface area, street address, district, postcode, features and the description come from the detail page. With
fetchDetailsEnabledoff, those fields arenull. - Some listings publish no price (
Consultar precio), no bedroom count or no publish date. Those fields returnnullrather than a guess. - Properati's own publication-date filter only supports 1, 7 and 30 days. Other
daysOldvalues are applied listing by listing, which means more pages are fetched to reach your result cap. - Location slugs are Properati's own, not free-text place names. A slug that doesn't resolve is logged and the search runs without it.
- Very large result sets are bounded by Properati's own paging depth.
- Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Rate this actor
If this actor did what you needed, a rating on the Apify Store takes a few seconds and helps other people find it.
If something isn't working or a field is missing, please open an issue on the Issues tab instead of leaving a low rating. Issues get read and fixed, usually within a day.
Technical details
- Source: properati.com — Argentina, Colombia and Ecuador
- Coverage: everything the public search exposes, filterable via the input parameters above
- Transport: plain HTTP with browser request profiles over Apify Proxy, with automatic identity rotation and an escalation path to residential exits. No browser automation, so runs stay fast and cheap.
- Retry: automatic retry on network errors and rate limits, with a hard cap per attempt so a stalled request can't consume the run
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl