VivaReal & ZAP Imóveis Scraper: Brazil Property Listings avatar

VivaReal & ZAP Imóveis Scraper: Brazil Property Listings

Pricing

from $0.60 / 1,000 listings

Go to Apify Store
VivaReal & ZAP Imóveis Scraper: Brazil Property Listings

VivaReal & ZAP Imóveis Scraper: Brazil Property Listings

Collect public Brazilian property listings from VivaReal and ZAP Imóveis as structured records with BRL prices, areas, room counts, location, amenities, images and source links.

Pricing

from $0.60 / 1,000 listings

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

9 hours ago

Last modified

Categories

Security

Limited permissions

Share

VivaReal and ZAP Imóveis Brazil Listings

Collect public Brazilian property listings from VivaReal and ZAP Imóveis as structured records with BRL prices, areas, room counts, location, amenities, images and source links.

The default input returns up to 20 properties for sale in São Paulo. Choose rentals, a city and state, a property type or price range, or paste a sale/rental search URL from either portal.

{"portal":"vivareal","businessType":"sale","city":"São Paulo","state":"SP","maxResults":20}
InputDefaultMeaning
portalvivarealvivareal, zap or both
businessTypesalesale or rent
citySão PauloBrazilian city name
stateSPState abbreviation or full name
propertyTypeallall, apartment, house, condominium, land, commercial
minPrice, maxPriceunsetBRL price bounds
searchUrlunsetHTTPS sale/rental search URL from either portal
maxResults20Total delivered rows, from 1 to 1,000

For example, collect rentals from both portals:

{"portal":"both","businessType":"rent","city":"Curitiba","state":"PR","maxResults":40}

A pasted search URL supplies its own portal, location, operation and property filters. City, state, portal, businessType and propertyType inputs do not override it. Price bounds additionally filter returned rows. With both, the total budget is shared across the portals; the same property may appear once per portal. Agency promotions and changing rankings mean this is a snapshot, with no promise of exhaustive coverage.

Each row contains listingId, portal, businessType, propertyType, price, currency, condoFee, iptu, iptuPeriod, usableAreaM2, totalAreaM2, bedrooms, bathrooms, suites, parkingSpaces, street, neighborhood, city, state, latitude, longitude, amenities, title, description, imageUrls, agencyName, createdAt, updatedAt, url and observedAt.

Amounts and areas are numbers; unavailable values are null. iptuPeriod is year for API rows and source-unspecified for pasted-URL rows. Prices, fees and areas reflect the source, including inconsistencies. Coordinates can be approximate. Street and coordinates are omitted when the source does not expose the street. Images are limited to five. Dates use ISO 8601; the pasted-URL search state generally omits creation/update dates and total area.

No phone numbers, emails or individual advertiser identities are output. Agency names require a company real-estate license. Descriptions are omitted for advertisers without that evidence; contact text is removed from retained descriptions. Private individual names are not used as advertiser identities.

Rows are saved after each page. A partial run with delivered rows succeeds and identifies blocked searches in its final status. A run with no rows fails with a plain status message. The actor reserves time to save rows near the run deadline. Large searches should be split into narrower price ranges or neighborhoods; each run is capped at 1,000 results.

This actor has no configured Store price yet. For local development, install requirements-dev.txt in a uv environment and run python -m unittest discover -s tests. Run the actor with python -m src.