Wasi Real Estate Listings & Agent Scraper avatar

Wasi Real Estate Listings & Agent Scraper

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Wasi Real Estate Listings & Agent Scraper

Wasi Real Estate Listings & Agent Scraper

Scrape property listings and agent contacts from any Wasi real estate website across 20+ Latin American countries. Extract price, currency, bedrooms, bathrooms, area m2, city, coordinates, agent name, phone and email. Export to JSON, CSV or Excel.

Pricing

from $6.15 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Wasi Real Estate Listings & Agent Scraper

Wasi Real Estate Listings & Agent Scraper

Here is one real result (the images and features arrays are trimmed to the first entries and description is truncated to keep the example short; the description string keeps the source HTML entities exactly as returned):

{
"imageUrl": "https://image.wasi.co/eyJidWNrZXQiOiJzdGF0aWN3Iiwia2V5IjoiaW5tdWVibGVzXC9nMTg1NjY2MjAyNjA4MDYwOTQxNDMuanBnIiwiZWRpdHMiOnsibm9ybWFsaXNlIjp0cnVlLCJyb3RhdGUiOjAsInJlc2l6ZSI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjM2MCwiZml0IjoiY29udGFpbiIsImJhY2tncm91bmQiOnsiciI6MjU1LCJnIjoyNTUsImIiOjI1NSwiYWxwaGEiOjF9fX19",
"title": "Venta Apartamento Robledo, Medellín",
"operation": "for_sale",
"propertyType": "APARTAESTUDIO",
"price": 330000000,
"currency": "COP",
"bedrooms": 2,
"bathrooms": 2,
"garages": 1,
"areaM2": 49.4,
"location": "Medellín, Antioquia, Colombia",
"city": "Medellín",
"region": "Antioquia",
"country": "Colombia",
"url": "https://grupoinmobiliariosalem.com/apartaestudio-venta-robledo-medellin/10253258",
"id": "10253258",
"description": "Venta de apartamento en robledo Para estrenar ! $330 millones (Negociables) Área 49,40 mts Caracteristicas de la unidad: Piscina para adultos y niños Salón de juegos",
"address": "rincon del valle",
"coordinates": { "lat": 6.2760262, "lng": -75.6019982 },
"images": [
"https://image.wasi.co/eyJidWNrZXQiOiJzdGF0aWN3Iiwia2V5IjoiaW5tdWVibGVzXC9nMTg1NjY2MjAyNjA4MDYwOTQxNDMuanBnIiwiZWRpdHMiOnsibm9ybWFsaXNlIjp0cnVlLCJyb3RhdGUiOjAsInJlc2l6ZSI6eyJ3aWR0aCI6OTAwLCJoZWlnaHQiOjY3NSwiZml0IjoiY29udGFpbiIsImJhY2tncm91bmQiOnsiciI6MjU1LCJnIjoyNTUsImIiOjI1NSwiYWxwaGEiOjF9fX19"
],
"agentName": "Gerencia Inmobiliaria Salem",
"agentPhone": "+573005548096",
"agentEmail": "inmosalem21@gmail.com",
"agentImage": "https://images.wasi.co/perfiles/b2021052111370828381.png",
"reference": "10253258",
"condition": "Usado",
"builtAreaM2": 49.4,
"landAreaM2": 49.4,
"privateAreaM2": 49.4,
"stratum": 4,
"floor": "19",
"yearBuilt": 2025,
"adminFee": 210000,
"adminFeeCurrency": "COP",
"features": ["Admite mascotas", "Agua", "Balcón", "Baño auxiliar"],
"observedAt": "2026-08-10T14:18:09.547Z",
"error": null
}

The most complete Wasi real estate scraper available. It works on any Wasi-powered property website and returns every listing field the site exposes, from price, operation and property type to bedrooms, bathrooms, garages and area, plus optional detail-page enrichment: full description, map coordinates, the complete image gallery, structured specs (stratum, floor, year built, admin fee, built/land/private area) and the agent contact (name, phone, email, WhatsApp).

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Wasi is a real estate website platform used by thousands of agencies across Latin America. This actor takes the URL of any Wasi-powered site (a home page or a filtered results URL), paginates through the property listings, and returns one normalized record per property. When detail enrichment is on, it opens each property page to add the full description, map coordinates, the complete image gallery, structured specifications (reference code, condition, stratum, floor, year built, admin fee, and built, land, and private area), and the listing agent contact. Prices are parsed to numbers with currency, locations are split into city, region, and country, and missing source values are returned as null.

Point it at the site home page to scrape all properties, or a filtered results URL to scrape one property type or operation.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 for-sale properties from the given Wasi site, each enriched with agent contact and full specs.

{
"maxListings": 10,
"withDetails": true,
"startUrl": "https://grupoinmobiliariosalem.com/s/ventas",
"operation": "any"
}

Set startUrl to any Wasi-powered site. Set withDetails to false for faster listing-only rows.

Input reference

FieldTypeRequiredDefaultDescription
startUrlstringyeshttps://grupoinmobiliariosalem.com/s/ventasA URL from any Wasi-powered real estate website. Use the home page to scrape all properties, or a filtered results URL to scrape a specific type or operation. The actor paginates automatically.
maxListingsintegerno10Maximum number of property listings to collect.
withDetailsbooleannotrueWhen enabled, opens each property page to add full description, coordinates, image gallery, structured specs, and agent contact. When disabled, only listing-level fields are returned.
operationenumnoanyRestrict results to one operation: any, for_sale, for_rent, for_transfer. Applied only when startUrl is a home page or generic results URL.

startUrl is required and must be a full http(s) URL of a Wasi-powered site.

Output reference

One dataset item per property. Types: string, number, integer, object, string[], or null when the source value is absent. Fields below the divider are added only when withDetails is enabled.

FieldTypeDescription
imageUrlstringPrimary listing thumbnail URL.
titlestringListing title.
operationstringfor_sale, for_rent, or for_transfer, or null.
propertyTypestringProperty type, for example Apartamento, Casa.
pricenumberListing price, or null.
currencystringCurrency code, for example COP, USD, MXN, or null.
bedroomsnumberNumber of bedrooms, or null.
bathroomsnumberNumber of bathrooms, or null.
garagesnumberNumber of garages, or null.
areaM2numberArea in square meters, or null.
locationstringFull location string.
citystringCity parsed from the location.
regionstringRegion or state parsed from the location.
countrystringCountry parsed from the location.
urlstringCanonical property page URL.
idstringWasi property ID (unique per listing).
descriptionstringFull property description (detail), or null. May contain source HTML entities.
addressstringStreet address (detail), or null.
coordinatesobject{ lat, lng } map coordinates (detail), or absent.
imagesstring[]Full image gallery URLs (detail).
agentNamestringListing agent or agency name (detail), or absent.
agentPhonestringAgent phone number (detail), or absent.
agentEmailstringAgent email (detail), or absent.
agentWhatsappstringAgent WhatsApp number (detail), or absent.
agentImagestringAgent profile image URL (detail), or absent.
referencestringProperty reference code (detail), or absent.
conditionstringProperty condition, for example Usado (detail), or absent.
builtAreaM2numberBuilt area in square meters (detail), or absent.
landAreaM2numberLand area in square meters (detail), or absent.
privateAreaM2numberPrivate area in square meters (detail), or absent.
stratumintegerSocioeconomic stratum (detail), or absent.
floorstringFloor number (detail), or absent.
yearBuiltintegerYear built (detail), or absent.
adminFeenumberMonthly administration fee (detail), or absent.
adminFeeCurrencystringCurrency of the admin fee (detail), or absent.
featuresstring[]Amenities and features (detail), or absent.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed detail fetch, the listing is written with a populated error field.

Example output record

See the hero example at the top of this page. It is a real record from a live run with input {"maxListings": 10, "withDetails": true, "startUrl": "https://grupoinmobiliariosalem.com/s/ventas", "operation": "any"}, with the images and features arrays trimmed and description truncated for readability. A live run returns the full gallery, all features, and the untruncated description.

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~wasi-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://grupoinmobiliariosalem.com/s/ventas","maxListings":25,"withDetails":true,"operation":"for_sale"}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~wasi-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://grupoinmobiliariosalem.com","maxListings":100,"operation":"for_rent"}'

Apify CLI:

apify call scrapers_lat/wasi-scraper \
--input '{"startUrl":"https://grupoinmobiliariosalem.com/s/ventas","withDetails":false}'

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 property record returned (result event). When withDetails is enabled, a separate details event is charged for each property successfully enriched from its detail page. See the pricing tab for current prices.
  • No charge on failure. If a detail fetch fails, the listing is written with a populated error field and the details add-on is not charged for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results, including the details add-on.
  • Free Apify plans are capped at 10 listings per run. Upgrade for higher maxListings.

FAQ and troubleshooting

Which websites does this work on? Any real estate website built on the Wasi platform. Paste the home page URL to scrape all properties, or a filtered results URL to scrape a specific type or operation.

What does withDetails add? Full description, map coordinates, the complete image gallery, structured specs (reference, condition, stratum, floor, year built, admin fee, and built/land/private area), and the listing agent contact (name, phone, email, WhatsApp).

Why does description contain codes like &Aacute;? The source site stores some descriptions with HTML entities. The actor returns the value exactly as published, without altering it.

A run returned 0 records. Why? The startUrl is not a Wasi-powered site, or the filtered URL matched no properties. Check the URL in a browser. Zero-result runs are not charged.

Is this an official Wasi tool? No. This actor is independent and has no affiliation with Wasi. It reads only data that is publicly available on the target website. Use it in accordance with the source terms of service.

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 Wasi. Accesses only publicly available data. Use in accordance with the source terms of service.