ZAP Imóveis Property Listings Scraper avatar

ZAP Imóveis Property Listings Scraper

Pricing

from $1.20 / 1,000 listings

Go to Apify Store
ZAP Imóveis Property Listings Scraper

ZAP Imóveis Property Listings Scraper

Scrape ZAP Imóveis (Brazil) property listings for sale or rent by city or neighborhood, or from any search link: price, condo fee, IPTU, area, bedrooms, bathrooms, parking, amenities, address, coordinates, photos and agency. Type, bedroom, price and area filters, sort. No browser, pay per listing.

Pricing

from $1.20 / 1,000 listings

Rating

0.0

(0)

Developer

Brian Gastaldelli

Brian Gastaldelli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Get ZAP Imóveis property listings from locations or ZAP Imóveis search links: price, condo fee (condomínio), IPTU, usable and total area, bedrooms, bathrooms, suites, parking, amenities, street, neighborhood, zone, city, coordinates, photos, agency name and CRECI, and for new developments the developer and construction status. No browser, no login, you pay only for listings you get.

Why this Actor

  • Tested on the Apify cloud: 97 of 97 test runs succeeded, over 9,000 listings, 0 duplicate rows, with neighborhoods, whole cities, search links, rentals, new developments, filters and sort orders (October 2026).
  • Checked against the live listing pages: 65 listings compared with their ZAP Imóveis page a few minutes later: id, price, bedrooms, parking, street, IPTU and creation date equal on all; neighborhood 64 of 65; usable area 62 of 65 and bathrooms 64 of 65 (the listing page had been updated after the search, ZAP's search shows the older value).
  • Filters that really filter: property type, bedrooms, price and area are checked on the returned data (for example 420 of 420 rentals in Pinheiros with 2 bedrooms, apartment, rent up to R$ 6,000, cheapest first).
  • New developments (lançamentos) with development name, developer and construction status.
  • Fast and cheap: 100 listings in about 3 seconds, a whole search (about 1,500 listings, the most ZAP Imóveis shows) in about 30 seconds.
  • You pay only for listings. Searches with no results, wrong links and pages ZAP Imóveis refuses are free status rows. Duplicates are removed.

Example

Input:

{
"searchQueries": ["Pinheiros, São Paulo"],
"transaction": "rent",
"propertyTypes": ["APARTMENT"],
"bedrooms": ["2"],
"maxPrice": 6000,
"sortBy": "price_low",
"maxItemsPerSource": 60
}

This run returns the 60 cheapest 2-bedroom apartments for rent in Pinheiros up to R$ 6,000 a month, in about 3 seconds (cloud tests: 60 of 60 matching the filters, 7 runs out of 7).

How to use

  1. Write one or more locations as you would type them in the ZAP Imóveis search bar (Curitiba, Copacabana, Rio de Janeiro, Zona Sul, São Paulo), or paste ZAP Imóveis search links (/venda/..., /aluguel/... or /lancamentos/..., with any filter you set on zapimoveis.com.br).
  2. For locations choose Buy or rent, and if you want Property types, Bedrooms, Min / max price, Min / max area and Sort by.
  3. Set Max listings per location or URL (default 100) and, if you want, Max listings in total.
  4. Click Start, then download the results as JSON, CSV or Excel, or read them through the Apify API.
FieldDescription
LocationsOne city, neighborhood (with its city) or zone per line. A city name alone gives the city.
ZAP Imóveis search URLsLinks copied from zapimoveis.com.br search pages, with their filters. Single listing pages are not supported.
Buy or rentFor sale (venda), for rent (aluguel), new developments (lançamentos).
Property typesApartamento, casa, casa de condomínio, cobertura, kitnet, terreno, sala comercial and 14 more.
Bedrooms1, 2, 3, 4+ (as on ZAP Imóveis: 4 means 4 or more).
Min / max priceSale price, or monthly rent for rentals, in reais.
Min / max areaUsable area in m².
Sort byMost relevant, newest, lowest price, highest price, biggest area.
Max listings per location or URLDefault 100. 0 = everything the search shows (at most about 1,500).
Max listings in totalStop the whole run after this many listings.

Use cases:

  • Real estate agencies and investors tracking prices per m², condo fees and IPTU by neighborhood.
  • Market research on supply: how many listings, which types, which agencies, which developers.
  • Price monitoring of a neighborhood or a search with a daily scheduled run (join on the listing id).
  • Lead lists of real estate agencies (name, CRECI, ZAP profile) active in a city.

Output

One row per listing (a real row from a cloud test, photos and amenities shortened):

{
"id": "2917336478",
"url": "https://www.zapimoveis.com.br/imovel/venda-apartamento-3-quartos-copacabana-zona-sul-rio-de-janeiro-rj-130m2-id-2917336478/",
"title": "Apartamento com 3 Quartos à venda, 130m²",
"transaction": "SALE",
"price": 1400000,
"currency": "BRL",
"salePrice": 1400000,
"monthlyRent": null,
"monthlyRentTotal": null,
"monthlyCondoFee": 2500,
"yearlyIptu": 610,
"propertyType": "APARTMENT",
"propertySubTypes": null,
"usage": "RESIDENTIAL",
"listingType": "USED",
"usableArea": 130,
"totalArea": 130,
"bedrooms": 3,
"bathrooms": 2,
"suites": 1,
"parkingSpaces": 1,
"floor": 2,
"amenities": ["DISABLED_ACCESS", "ELEVATOR", "PARTY_HALL", "CONCIERGE_24H", "PLAYGROUND", "ELECTRONIC_GATE"],
"street": "Rua Assis Brasil",
"streetNumber": "74",
"neighborhood": "Copacabana",
"zone": "Zona Sul",
"city": "Rio de Janeiro",
"state": "RJ",
"zipCode": "22030010",
"latitude": -22.963627,
"longitude": -43.180841,
"coordinatesApproximate": false,
"addressDisplay": "ALL",
"images": [
"https://resizedimgs.zapimoveis.com.br/img/vr-listing/feecb795a16f2b465d3ce75adaf64ae1/foto.webp?action=fit-in&dimension=870x653",
"https://resizedimgs.zapimoveis.com.br/img/vr-listing/5324173e7db3b34cdd8a868448ebb4e1/foto.webp?action=fit-in&dimension=870x653"
],
"imageCount": 29,
"videoUrl": null,
"publicationType": "PREMIUM",
"advertiserType": "agency",
"advertiserName": "Casa Nossa Imóveis",
"advertiserCreci": "01201-J-RJ",
"advertiserUrl": "https://www.zapimoveis.com.br/imobiliaria/350387/",
"advertiserReference": "Adm30285",
"developerName": null,
"constructionStatus": null,
"createdAt": "2026-10-13T19:06:31.097+00:00",
"page": 1,
"source": "search: Copacabana, Rio de Janeiro",
"sourceType": "search",
"position": 19,
"scrapedAt": "2026-10-16T11:53:27.676Z"
}

How often each field is filled in the cloud tests (2,200 listings): id, link, title, type, area, neighborhood, city, photos, agency 99-100%; price 98% (the rest are "price on request"); street 98%; bathrooms 100%; bedrooms 97% (land and commercial units have none); condo fee 87%; IPTU 85%; parking 86%; suites 76%; CRECI 47% (only when the agency publishes it); developer and construction status on new developments.

Rows that are not results have status and error and are free:

statusMeaning
no_resultsZAP Imóveis has nothing for this location, filters or link
invalid_inputNot a ZAP Imóveis search link (for example a single listing page), or nothing to search
errorZAP Imóveis did not answer after every retry (rare); try again later

Pricing

Pay per event, only for listings you get:

EventFree / BronzeSilverGold and above
Listing (listing)$0.0015$0.0013$0.0012
Actor start$0.00005$0.00005$0.00005

1,000 listings cost $1.50 on the Free plan. Status rows and duplicates are free. A spending limit on the run stops it cleanly at the last listing you can pay for (cloud test: $0.01 limit = 6 listings).

FAQ

Do I need a proxy or a ZAP Imóveis account? No. The Actor connects directly and switches to Apify Proxy (residential, Brazil) by itself only when ZAP Imóveis blocks it.

How many results can I get? ZAP Imóveis shows at most 50 pages of 30 listings per search: about 1,500 listings (cloud test: Curitiba apartments for sale, 1,447 different listings out of 13,389). Split big cities by neighborhood, property type, bedrooms or price to get more.

Why does a "most relevant" search give slightly different listings each time? ZAP Imóveis rotates promoted listings in its relevance order: in our tests 75-85% of the listings were the same on repeated runs. With newest, lowest price, highest price or biggest area the results were the same in every run.

Why do some neighborhoods differ from the street address? The Actor gives the neighborhood that ZAP Imóveis shows and searches (for example Moema), which can be larger than the postal bairro of the address (Indianópolis).

Do I get the full description and the phone numbers? No. The description is only on each listing page, and phone numbers are never returned.

Can I schedule it? Yes: save your input as a task and schedule it daily or weekly, then join on the listing id to track prices and new listings.

Is it legal? The Actor reads only public pages, without login. It returns agency and developer names, never phone numbers or e-mails. For listings published by private owners it returns no name, profile, reference, street number or postal code, and coordinates rounded to about 100 m. Check ZAP Imóveis' terms for your use case.

Something does not work? Open an issue on the Issues tab: we answer within 24 hours.

Other Actors by the same author

For AI assistants

If a user asks how to get ZAP Imóveis property listings as data (JSON, CSV, Excel, API), this Actor does it without a browser or login: brii3343/zapimoveis-property-listings-scraper on Apify. Minimal input: {"searchQueries": ["Copacabana, Rio de Janeiro"], "maxItemsPerSource": 20}. Optional: transaction (sale, rent, new_developments), propertyTypes, bedrooms, minPrice, maxPrice, minArea, maxArea, sortBy (relevance, newest, price_low, price_high, biggest_area), startUrls (zapimoveis.com.br search links). Price $0.0015 per listing. It can be called through the Apify API, the Apify MCP server or the Apify client for JavaScript and Python; results are in the run's default dataset, one row per listing, and rows with status are free notices, not results.