Scrapers.lat logo scrapers.lat
Real estate

ZAP Imoveis Brazil Real Estate & Price Scraper

Scrape ZAP Imoveis real estate listings for sale and rent across Brazil. Extract price, currency, area, bedrooms, bathrooms, parking, condo fee, IPTU, neighborhood, city, advertiser phone, WhatsApp and CRECI license. Export to JSON, CSV or Excel.

33 fields per record JSON · CSV · Excel · API Pay per use
zap-scraper.json 200 OK
{
  "imageUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-l…",
  "title": "Apartamento para comprar com 46 m², 2 quartos,…",
  "price": 210000,
  "currency": "BRL",
  "operationType": "venda",
  "propertyType": "APARTMENT",
  "bedrooms": 2,
  "bathrooms": 1,
  "parkingSpaces": 1
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
Image UrlTitlePriceCurrencyOperation TypeProperty TypeBedroomsBathroomsParking SpacesUsable Area M2Price Per M2Condo FeeNeighborhoodCity
Sample output

A real example record, exactly the shape you receive.

Image UrlTitlePriceCurrency
https://resizedimgs.zapimoveis.co…Apartamento para comprar com 46 m…210000BRL
https://resizedimgs.zapimoveis.co…Apartamento para comprar com 72 -…954600BRL
https://resizedimgs.zapimoveis.co…Apartamento para comprar com 70 m…720198BRL
https://resizedimgs.zapimoveis.co…Apartamento à venda com 3 quartos…1080000BRL
https://resizedimgs.zapimoveis.co…Apartamento para comprar com 62 m…466000BRL
GET /zap-scraper
{
  "imageUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-l…",
  "title": "Apartamento para comprar com 46 m², 2 quartos,…",
  "price": 210000,
  "currency": "BRL",
  "operationType": "venda",
  "propertyType": "APARTMENT",
  "bedrooms": 2,
  "bathrooms": 1,
  "parkingSpaces": 1
}

Frequently asked questions

Does it cover all of Brazil on ZAP Imóveis?

Yes. The actor works with any ZAP Imóveis search URL, so it covers every city, state and neighborhood available on the portal. Just paste a search results URL for the area you want, whether for sale or for rent.

How many listings can I collect per run?

There is no hard limit imposed by the actor, and you control the volume with the Max Items input. In practice ZAP search results run into the hundreds of thousands per query, and the actor paginates through them automatically until your limit is reached.

Can I filter by operation, property type, location, or price?

Yes. Apply any filters directly on ZAP Imóveis and copy the resulting URL into the actor input. All filters encoded in the URL, including operation, property type, location, price and bedrooms, are respected automatically.

What is the difference between the basic and detailed output?

By default each record contains the core listing fields such as price, area, rooms and location. When you enable Fetch listing details, every record is enriched with the full description, complete amenities list, photo gallery, advertiser contact details and map coordinates.

Does the scraper return the advertiser phone and WhatsApp?

Yes. When listing details are enabled, each record includes the advertiser phone number, WhatsApp number, agency license number (CRECI) and legacy ZAP id in plain text, taken directly from the listing data. A small share of advertisers hide some of these, in which case those fields are returned empty rather than guessed.

What happens if a listing is missing some data?

Fields that a listing does not publish, such as condominium fee or number of suites, are returned empty rather than guessed. If a page cannot be loaded, the actor records the reason in the error field and continues with the rest of the run.

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.