Properati Propoperty real estate Scraper avatar

Properati Propoperty real estate Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Properati Propoperty real estate Scraper

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

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

3

Monthly active users

0.21 hours

Issues response

3 days ago

Last modified

Share

Properati Scraper — Argentina, Colombia, Ecuador Real Estate

Properati Scraper

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

ParameterTypeDefaultDescription
countrystring"ar"Which Properati site to search: ar, co or ec.
propertyTypestring"apartment"apartment, house, studio, office, land, warehouse, commercial, or other for no property-type filter.
operationTypestring"sale"sale, rent, or bothboth runs the sale and rent searches in sequence.
locationstring(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.
minPriceinteger(empty)Minimum listing price, in the currency Properati displays for that market. Applied by Properati's own search filter.
maxPriceinteger(empty)Maximum listing price, in the currency Properati displays for that market. Applied by Properati's own search filter.
daysOldinteger(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.
maxItemsinteger100Maximum number of listings to return. Each listing is one charged result.
startUrlsarray(empty)Properati search URLs to scrape instead of using the filters above. Any query string on the URL is kept.
fetchDetailsEnabledbooleantrueFetches each listing's detail page to add the description, surface area, street address, coordinates and features. One extra request per listing.
maxConcurrencyinteger5Parallel 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.

FieldTypeDescription
idstringUnique listing ID from the source.
urlstringDirect link to the listing.
titlestringListing title as published.
operationTypestringventa, alquiler or arriendo, as the source labels it.
propertyTypestringNormalised property type, e.g. apartment, house, land.
priceTextstringPrice exactly as displayed, e.g. USD 130.000 or Consultar precio.
priceAmountnumberAsking price or rent as a number (null if price on request).
priceCurrencystringCurrency code — USD, ARS or COP.
provincestringProvince or region.
citystringCity or locality.
districtstringDistrict (detail).
streetAddressstringStreet address as published.
postcodestringPostcode where the source publishes one (detail).
countrystringAR, CO or EC.
bedroomsnumberNumber of bedrooms.
bathroomsnumberNumber of bathrooms.
latitudenumberLatitude of the property.
longitudenumberLongitude of the property.
surfaceTotalnumberTotal surface area (detail).
surfaceCoverednumberCovered surface area (detail).
surfaceUnitstringSurface unit — always m2.
featuresarrayFeature list as published on the listing (detail).
agencyNamestringPublishing agency or broker as named on the listing.
imagesarrayURLs of all listing photos.
publishDatestringPublish date, YYYY-MM-DD.
descriptionTextstringFull listing description as plain text (detail).
descriptionMarkdownstringSame description, Markdown-ready (detail).
sourcestringAlways properati.com.
scrapedAtstringTimestamp when this record was scraped.
contentHashstringStable 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.

ResultsCost
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.

RunTypical timePeak memory
12 listings, listing only~8 seconds79 MB
20 listings, details on~32 seconds164 MB
100 listings, details on~4 minutes168 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 fetchDetailsEnabled off, those fields are null.
  • Some listings publish no price (Consultar precio), no bedroom count or no publish date. Those fields return null rather than a guess.
  • Properati's own publication-date filter only supports 1, 7 and 30 days. Other daysOld values 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