ZAP Imóveis Scraper
Pricing
from $3.00 / 1,000 results
ZAP Imóveis Scraper
ZAP Imóveis scraper & API for Brazilian real estate: search property for sale & rent and export address, price, condo fee, beds, baths, parking, area, type, amenities, advertiser, photos and coordinates. Brazil property market data and real-estate lead generation — fast, no login.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
178
Total users
40
Monthly active users
a day ago
Last modified
Categories
Features
Share
ZAP Imóveis Scraper — Brazil Real Estate Data & Imobiliária Leads
Extract live Brazilian property listings (venda & aluguel, residencial & comercial, lançamentos) and imobiliária agency profiles from ZAP Imóveis and VivaReal at 1,000+ scale — complete with BRL prices, condomínio, IPTU, m², coordinates, CRECI, and broker phone numbers.
⚡ At a glance
| Feature | Details |
|---|---|
| Portals Supported | ZAP Imóveis (zapimoveis.com.br) and VivaReal (vivareal.com.br) via the portal selector |
| Collection Modes | listings (Property Search: Sale, Rent, New Developments) & agencies (Imobiliária B2B Directory) |
| Property Coverage | All 26 Brazilian states + DF, 15 unit types (APARTMENT, HOME, PENTHOUSE, OFFICE, WAREHOUSE_SHED, etc.) |
| Financial & B2B Data | priceBRL, condominioMonthlyBRL, iptuYearlyBRL, pricePerSqmBRL, agencyName, agencyCRECI, agencyPhone, agencyEmail |
| Brazilian Market Flags | isLancamento, constructorName, launchPhase, isFiadorFree (Sem Fiador), isFGTSEligible, isMCMVEligible, acceptsExchange |
| Scale & Pagination | Automatic deep pagination (maxPages: 0 = auto-scaled) supporting 1,000+ to 100,000+ de-duplicated records |
| Export Formats | JSON, CSV, Excel (XLSX), XML, RSS, HTML Table, and Apify REST API |
This ZAP Imóveis scraper extracts live Brazilian real-estate listings and imobiliária (brokerage) profiles from zapimoveis.com.br and its sibling portal VivaReal — returning clean, normalized records with sale or rental price (BRL), monthly condomínio fee, annual IPTU tax, price per m², usable and total area, bedrooms, suites, parking spaces, neighborhood (bairro), street address, CEP, GPS coordinates, amenities, high-resolution photo URLs, and direct agency contact details (CRECI, phone, website, email).
Export every result to JSON, CSV, Excel, XML, or the Apify API with zero coding and no login required.
Built for real-estate investment funds, Brazilian prop-tech platforms, property valuation & AVM models, mortgage and FinTech lead generation, B2B SaaS teams selling to imobiliárias, commercial real-estate analysts, and corporate relocation specialists.
🔎 Why scrape ZAP Imóveis?
ZAP Imóveis (part of Grupo OLX / QuintoAndar) is Brazil's premier real-estate marketplace, indexing millions of residential and commercial properties across all 27 federative units. While VivaReal covers the broad mass market, ZAP Imóveis is particularly strong in mid-to-high-end residential inventory, new builder developments (lançamentos), and commercial offices/warehouses, as well as the professional brokerage network (imobiliárias) that manages them.
Collecting structured ZAP Imóveis data at scale is difficult without a purpose-built extractor:
- Pricing is split across nested transaction structures (
SALEvs.RENTAL), monthly condo fees (condomínio), and annual municipal property taxes (IPTU), often polluted byR$ 1broker placeholder values. - Room counts, areas, and amenities are returned in multi-layered arrays that need cleaning and normalization before analysis.
- Image URLs are served as unresolved dimension templates rather than direct links.
- Broker phone numbers, websites, and emails are scattered across multiple contact fields.
This ZAP Imóveis data extractor handles every step automatically:
- Select your target states, cities, neighborhoods, property types, and price/area ranges from simple dropdowns.
- The Actor paginates deeply through matching inventory (
maxPages: 0automatically scales to yourmaxListingstarget — whether 50, 1,000, or 50,000+). - Every record is cleaned, de-duplicated by
listingId, enriched with calculated metrics (pricePerSqmBRL,totalMonthlyCostBRL,listingQualityScore), and exported with ready-to-load 800×600 image URLs and verified broker contact data.
Common reasons teams scrape ZAP Imóveis
- Real-estate market intelligence & AVM pricing — benchmark
pricePerSqmBRL,condominioMonthlyBRL, andiptuYearlyBRLacross bairros like Pinheiros, Itaim Bibi, Vila Mariana, Leblon, Ipanema, Savassi, and Batel. - B2B lead generation for imobiliárias — build targeted outreach lists of Brazilian real-estate agencies with
agencyName,agencyCRECI,agencyPhone,agencyWebsite,agencyEmail, andagencyTier. - Lançamentos (new development) tracking — monitor brand-new projects from builders like Cyrela, EZTec, Tegra, MRV, Even, Direcional, and Cury, including
launchPhase(Pré-lançamento, Em obras, Pronto para morar),constructorCNPJ, anddeliveryDate. - Prop-tech & listing aggregation — populate or refresh real-estate search portals, investment calculators, and AI property advisors on a daily schedule.
- Commercial real-estate & logistics research — analyze
OFFICE(sala comercial),COMMERCIAL_BUILDING(prédio comercial), andWAREHOUSE_SHED(galpão) inventory withbuildingClass,ceilingHeight, andzoning. - Mortgage, FGTS & rental guarantee funnels — filter specifically for
isFiadorFree(sem fiador rentals),isFGTSEligible,isMCMVEligible(Minha Casa Minha Vida), andacceptsExchange(aceita permuta).
✨ What this ZAP Imóveis scraper does
- ✅ Dual collection modes (
listings&agencies) — scrape property inventory inlistingsmode or sweep the brokerage directory inagenciesmode (with optionalfetchAgencyListings: trueto pull each agency's full portfolio). - ✅ Dual portal support (
ZAP&VIVA_REAL) — switchportalbetween"ZAP"and"VIVA_REAL"using the exact same input filters and unified output schema. - ✅ Unlocked 1,000+ deep pagination —
maxPagesdefaults to0(auto/unlimited, governed bymaxListings), allowing single-city or multi-city runs to collect 1,000+ to 100,000+ unique properties without page-limit cutoffs. - ✅ Complete Brazilian financial breakdown — extracts
priceBRL,condominioMonthlyBRL,iptuYearlyBRL, automatically filters outR$ 1placeholder spam, and computespricePerSqmBRLandtotalMonthlyCostBRL(rent + condo + IPTU/12). - ✅ Built-in B2B broker contact extraction — every property listing includes
agencyId,agencyName,agencyCRECI,agencyPhone,agencyWebsite,agencyEmail,agencyTier, andagencyLogoUrlwhen published. - ✅ 15 residential, rural & commercial property types —
APARTMENT,HOME,CONDOMINIUM,PENTHOUSE,FLAT,KITNET,FARM,LAND_LOT,OFFICE,COMMERCIAL_BUILDING,COMMERCIAL_PROPERTY,BUSINESS,WAREHOUSE_SHED,GARAGE, andHOTEL. - ✅ Resolved high-res media URLs — automatically converts template image paths into directly loadable
800x600image links inimageUrlsandthumbnailUrl, plusvideoUrls,hasVideo,hasFloorplan, andhasVirtualTour. - ✅ Zero-input multi-city sample — leave location filters empty and the Actor automatically samples Brazil's 8 largest metro markets (São Paulo, Rio de Janeiro, Belo Horizonte, Brasília, Curitiba, Porto Alegre, Salvador, Recife) — scaling seamlessly to 1,000+ items if you raise
maxListings.
🎯 High-value use cases
| Team / Role | Workflow | Key fields used |
|---|---|---|
| Real Estate Funds & Analysts | Track price per m², condo fees, and inventory velocity by neighborhood and bedroom count. | priceBRL, pricePerSqmBRL, condominioMonthlyBRL, usableArea, neighborhood, city |
| B2B Sales & PropTech Vendors | Build verified CRM prospect lists of active Brazilian imobiliárias and brokers. | agencyName, agencyCRECI, agencyPhone, agencyEmail, agencyWebsite, agencyTier |
| Developers & Incorporadoras | Monitor competing lançamentos (listingType: ["DEVELOPMENT"]) by bairro and delivery year. | isLancamento, constructorName, constructorCNPJ, launchPhase, deliveryDate, totalUnits |
| CRE & Logistics Advisors | Map office and warehouse availability (usageTypes: ["COMMERCIAL"]) across SP, RJ, and PR. | unitType, usableArea, pricePerSqmBRL, buildingClass, ceilingHeight, zipCode |
| Relocation & Rental Platforms | Source sem fiador rental apartments (semFiador: true) with transparent total monthly cost. | priceBRL, totalMonthlyCostBRL, isFiadorFree, bedrooms, neighborhood, latitude |
📥 Input configuration
All inputs are optional and selectable via user-friendly dropdowns in the Apify Console.
| Field | Type | Default / Prefill | Description |
|---|---|---|---|
mode | string | "listings" | "listings" for property search, or "agencies" for B2B imobiliária directory extraction. |
portal | string | "ZAP" | Target marketplace: "ZAP" (ZAP Imóveis) or "VIVA_REAL" (VivaReal). |
business | array<string> | ["SALE"] | Transaction type: "SALE" (Venda), "RENTAL" (Aluguel), or both. |
listingType | array<string> | ["USED"] | "USED" (Standard resale/rental inventory) and/or "DEVELOPMENT" (Lançamentos / new builds). |
usageTypes | array<string> | ["RESIDENTIAL"] | "RESIDENTIAL" and/or "COMMERCIAL". |
unitTypes | array<string> | [] (all types) | Filter by specific property types ("APARTMENT", "HOME", "CONDOMINIUM", "PENTHOUSE", "OFFICE", "WAREHOUSE_SHED", "LAND_LOT", etc.). |
states | array<string> | ["SP"] | Brazilian 2-letter UF codes ("SP", "RJ", "MG", "RS", "PR", "SC", "BA", "DF", "GO", "PE", "CE", etc.). |
cities | array<string> | ["sao-paulo"] | Dropdown of 30 major Brazilian cities ("sao-paulo", "rio-de-janeiro", "belo-horizonte", "curitiba", "florianopolis", etc.). |
citiesCustom | array<string> | [] | Any additional city slugs in lowercase hyphenated format (e.g., "santo-andre", "balneario-camboriu"). |
neighborhoods | array<string> | [] | Neighborhood / bairro slugs (e.g., "pinheiros", "itaim-bibi", "vila-olimpia", "copacabana"). |
minPrice / maxPrice | integer | 0 | Minimum and maximum price in BRL (0 = no limit). |
minArea / maxArea | integer | 0 | Minimum and maximum usable area in m² (0 = no limit). |
minBedrooms | integer | 0 | Minimum number of bedrooms / quartos (0 = no limit). |
minParkingSpaces | integer | 0 | Minimum number of parking spaces / vagas (0 = no limit). |
semFiador | boolean | false | Filter rentals that do not require a guarantor (Sem Fiador). |
sortBy | string | "relevance" | Sort order: "relevance", "newest", "lowest_price", "highest_price", "lowest_area", "highest_area". |
agencyIds | array<string> | [] | Specific imobiliária IDs to scrape in "agencies" mode. |
agencyIdRangeStart / End | integer | 0 | Numeric ID range sweep for discovering agency profiles in "agencies" mode. |
fetchAgencyListings | boolean | false | In "agencies" mode, also extract every active property listing belonging to each agency. |
maxListings | integer | 100 (prefill 50) | Maximum total records to collect across the run (0 = unlimited; supports 1,000+ results). |
maxPages | integer | 0 | Maximum pages per search task (0 = unlimited / auto-scaled by maxListings; each page has up to 24 listings). |
pageSize | integer | 24 | Listings fetched per page (1–24; 24 is the portal maximum and fastest setting). |
proxyConfiguration | object | RESIDENTIAL (BR) | Apify Proxy configuration. Brazilian residential proxy (country: "BR") is pre-configured by default. |
requestDelay | integer | 800 | Polite delay between requests in milliseconds (0–15000). |
maxConcurrency | integer | 1 | Parallel search tasks (1–5). |
maxRetries | integer | 3 | Automatic retries per failed request. |
Example 1 — Scrape 1,000+ apartments & houses for sale in São Paulo
{"mode": "listings","portal": "ZAP","business": ["SALE"],"listingType": ["USED", "DEVELOPMENT"],"usageTypes": ["RESIDENTIAL"],"unitTypes": ["APARTMENT", "HOME", "PENTHOUSE"],"states": ["SP"],"cities": ["sao-paulo"],"sortBy": "newest","maxListings": 1000,"maxPages": 0,"pageSize": 24,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "BR"}}
Example 2 — High-end neighborhood comparison (Pinheiros, Itaim Bibi, Vila Olímpia)
{"mode": "listings","portal": "ZAP","business": ["SALE"],"usageTypes": ["RESIDENTIAL"],"unitTypes": ["APARTMENT"],"states": ["SP"],"cities": ["sao-paulo"],"neighborhoods": ["pinheiros", "itaim-bibi", "vila-olimpia"],"minBedrooms": 3,"minParkingSpaces": 2,"minPrice": 1500000,"maxListings": 500}
Example 3 — Commercial offices & warehouses for rent (COMMERCIAL + RENTAL)
{"mode": "listings","portal": "ZAP","business": ["RENTAL"],"usageTypes": ["COMMERCIAL"],"unitTypes": ["OFFICE", "WAREHOUSE_SHED"],"states": ["SP", "RJ"],"cities": ["sao-paulo", "rio-de-janeiro"],"maxListings": 300}
📤 Output schema & field reference
Every dataset item uses a unified flat schema with 85+ structured fields, making it effortless to load into PostgreSQL, BigQuery, Snowflake, Excel, or Power BI.
Sample JSON output (recordType: "listing")
{"recordType": "listing","listingId": "2703825817","portal": "ZAP","url": "https://www.zapimoveis.com.br/imovel/apartamento-com-2-quartos-a-venda-70-m-cidade-moncoes-sao-paulo-sp-id-2703825817/","title": "Apartamento com 2 quartos à venda, 70 m² - Cidade Monções, São Paulo","description": null,"business": "SALE","listingType": "USED","usageType": "RESIDENTIAL","unitType": "APARTMENT","unitSubType": null,"category": "residential","subCategory": "apartamento","priceBRL": 1300000,"rentPeriod": null,"condominioMonthlyBRL": 1040,"iptuYearlyBRL": 420,"totalMonthlyCostBRL": null,"pricePerSqmBRL": 18571,"usableArea": 70,"totalArea": 70,"bedrooms": 2,"bathrooms": 1,"suites": 1,"parkingSpaces": 2,"uf": "SP","city": "São Paulo","neighborhood": "Cidade Monções","zone": "Zona Oeste","street": "Avenida Engenheiro Luiz Carlos Berrini","streetNumber": "1618","zipCode": "04571000","latitude": -23.610744,"longitude": -46.69523,"amenities": ["AIR_CONDITIONING", "LAUNDRY", "INTERCOM", "KITCHEN", "ELEVATOR"],"isCommercialCondo": false,"isLancamento": false,"isFiadorFree": false,"acceptsExchange": false,"isFinancing": false,"isFGTSEligible": false,"isMCMVEligible": false,"agencyId": "e51bec6c-d113-d374-3e0a-27d4d162fe50","agencyName": "Namérica Consultoria Imobiliária Ltda Epp","agencyCRECI": "23707-J-SP","agencyPhone": "1126322000","agencyEmail": null,"agencyWebsite": "http://www.namerica.com.br","agencyLogoUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/logo/imovel.jpg?action=fit-in&dimension=200x200","agencyTier": "diamond","agencyVerified": false,"publisherType": "agency","publishedAt": "2024-04-04T04:44:01.277+00:00","imageCount": 51,"thumbnailUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/97ee1f/imovel.jpg?action=fit-in&dimension=800x600","imageUrls": ["https://resizedimgs.zapimoveis.com.br/img/vr-listing/97ee1f/imovel.jpg?action=fit-in&dimension=800x600"],"hasVideo": false,"hasFloorplan": false,"hasVirtualTour": false,"listingQualityScore": 45,"searchBusiness": "SALE","searchState": "SP","searchCity": "sao-paulo","searchNeighborhood": null,"scrapedAt": "2026-11-08T15:30:37.751Z"}
🏠 Core Property, Pricing & Area Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
recordType | string | 🟢 High (100%) | "listing" or "agency". |
listingId | string | 🟢 High (100%) | Unique portal ID used for deduplication. |
portal | string | 🟢 High (100%) | "ZAP" or "VIVA_REAL". |
url | string | 🟢 High (100%) | Canonical property or agency URL on the portal. |
title | string | 🟢 High (100%) | Descriptive Portuguese title (Apartamento com 2 quartos à venda, 70 m² - Bairro, Cidade). |
business | string | 🟢 High (100%) | "SALE" or "RENTAL". |
listingType | string | 🟢 High (100%) | "USED" (standard) or "DEVELOPMENT" (lançamento). |
usageType / unitType | string | 🟢 High (100%) | Usage (RESIDENTIAL/COMMERCIAL) and unit type (APARTMENT, HOME, OFFICE, etc.). |
category / subCategory | string | 🟢 High (100%) | Normalized category (residential, comercial, rural, land) and Portuguese slug (apartamento, casa, etc.). |
priceBRL | integer|null | 🟢 High (~99%) | Sale price or monthly rent in BRL (R$ 1 broker spam is automatically filtered out). |
condominioMonthlyBRL | integer|null | 🟡 Conditional (~60%) | Monthly condominium fee in BRL (when applicable and published). |
iptuYearlyBRL | integer|null | 🟡 Conditional (~55%) | Annual IPTU property tax in BRL (when published). |
totalMonthlyCostBRL | integer|null | 🟡 Conditional (Rentals) | Total monthly cost (priceBRL + condominioMonthlyBRL + iptuYearlyBRL/12) for rentals. |
pricePerSqmBRL | integer|null | 🟢 High (~99%) | Calculated BRL price per usable m² (Math.round(priceBRL / usableArea)). |
usableArea / totalArea | number|null | 🟢 High (~99% / ~96%) | Usable area (área útil) and total area (área total) in square meters (m²). |
bedrooms / bathrooms / suites / parkingSpaces | integer|null | 🟢 High (~97–99%) | Counts of quartos, banheiros, suítes, and vagas de garagem. |
📍 Location, Geolocation & Amenities
| Field | Type | Coverage | Description |
|---|---|---|---|
uf / city / neighborhood | string | 🟢 High (100%) | 2-letter state acronym (SP), city (São Paulo), and neighborhood (Pinheiros). |
zone | string|null | 🟢 High (~90%) | Urban zone (e.g., Zona Sul, Zona Oeste, Centro). |
street / streetNumber | string|null | 🟡 Conditional (~85% / ~50%) | Street name and street number (when disclosed by the broker). |
zipCode | string|null | 🟢 High (~99%) | 8-digit Brazilian postal code (CEP). |
latitude / longitude | number|null | 🟢 High (~78–85%) | WGS84 GPS coordinates for mapping and spatial analysis. |
amenities | array<string> | 🟢 High (~89%) | Merged list of property and condominium amenities (POOL, GYM, ELEVATOR, PARTY_HALL, etc.). |
🏗️ Lançamento, Commercial & Brazilian Financial Flags
| Field | Type | Coverage | Description |
|---|---|---|---|
isLancamento | boolean | 🟢 High (100%) | true for new developments (DEVELOPMENT, UNDER_CONSTRUCTION, PLAN_ONLY). |
launchName / constructorName | string|null | 🟡 Conditional (Devs) | Development or builder name (e.g., Cyrela, EZTec) on lançamento listings. |
launchPhase / deliveryDate | string|null | 🟡 Conditional (Devs) | Construction phase (Pré-lançamento, Em obras, Pronto para morar) and target delivery date. |
constructorCNPJ / totalUnits | string|int | 🟡 Conditional (Devs) | Builder corporate tax ID (CNPJ) and unit count when published. |
isFiadorFree | boolean | 🟢 High (100%) | true when the rental does not require a guarantor (Sem Fiador). |
isFinancing / isFGTSEligible / isMCMVEligible / acceptsExchange | boolean | 🟢 High (100%) | Brazilian financing, FGTS, Minha Casa Minha Vida, and property exchange (permuta) flags. |
buildingClass / buildingName / ceilingHeight / zoning | string|num | 🟡 Conditional (CRE) | Commercial building classification, condo name, ceiling height, and zoning when present. |
🏢 Imobiliária (Agency) B2B Lead & Media Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
agencyId / agencyName | string|null | 🟢 High (100%) | Unique advertiser ID and imobiliária business name. |
agencyCRECI | string|null | 🟢 High (~88%) | Official Brazilian real-estate license number (CRECI). |
agencyPhone | string|null | 🟢 High (~99%) | Direct broker/agency phone or WhatsApp number extracted from contact metadata. |
agencyWebsite / agencyEmail | string|null | 🟡 Conditional (~55%) | Agency website URL and email address (automatically separated and cleaned). |
agencyTier / agencyLogoUrl | string|null | 🟢 High (~98%) | Portal advertiser tier (diamond, gold, silver, advertiser) and resolved logo URL. |
imageCount / thumbnailUrl / imageUrls | int|array | 🟢 High (~99%) | Total photo count, primary thumbnail, and array of resolved 800x600 image URLs. |
hasVideo / hasFloorplan / hasVirtualTour / listingQualityScore | bool|int | 🟢 High (100%) | Media presence flags and 0–100 listing completeness score. |
🔁 Pagination, deduplication & 1,000+ scale
This ZAP Imóveis scraper is built to handle both targeted neighborhood snapshots and large-scale 1,000+ property extractions:
- Unlocked multi-page pagination (
maxPages: 0): Each page request returns up to24listings (pageSize: 24). WithmaxPages: 0(the default), the Actor automatically continues paginating untilmaxListingsis reached or all matching inventory is exhausted. - Multi-dimensional search grid: If you select multiple
states,cities,neighborhoods,businesstypes (SALE+RENTAL), orlistingTypevalues (USED+DEVELOPMENT), the Actor builds a task queue for every combination and merges the results. - Strict
listingIddeduplication: Sponsored and featured properties often reappear across multiple result pages on ZAP Imóveis. The Actor tracks every seenlistingIdin memory so your dataset contains 100% unique properties (0 duplicates). - Demo-run scaling: Even if you leave all location filters blank (triggering the 8-city Brazil metro sample), passing
"maxListings": 1000automatically scales the per-city page depth so you receive all 1,000 listings across those cities.
⚙️ How to use & automate
- Open ZAP Imóveis Scraper in the Apify Console.
- Choose
"ZAP"or"VIVA_REAL"under Website (portal), and select Property Listings (listings) or Agency Directory (agencies). - Pick your States (
states), Cities (cities), For sale or for rent (business), and any price/area/bedroom filters. - Set Maximum results (
maxListings, e.g.,50for a quick test or1000for bulk extraction) and keep Maximum pages per search (maxPages) at0. - Keep the default Brazilian Residential Proxy enabled and click Start.
- Export your dataset in JSON, CSV, or Excel, or pull results via the Apify API.
Python (apify-client) example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/zapimoveis-scraper").call(run_input={"mode": "listings","portal": "ZAP","business": ["SALE"],"usageTypes": ["RESIDENTIAL"],"states": ["SP"],"cities": ["sao-paulo"],"maxListings": 500,"maxPages": 0,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingId"],item["neighborhood"],f"R$ {item['priceBRL']}",f"{item['usableArea']} m²",item["agencyName"],item["agencyPhone"],)
💡 Pro tips for best results
- Keep
pageSizeat24: The portal enforces a maximum of 24 listings per request; keepingpageSize: 24minimizes request count and speeds up pagination. - Always use Brazilian Residential Proxies (
country: "BR"): The portal is protected by geo-sensitive WAF rules that block non-Brazilian datacenter IPs. The default input already configures Apify's Brazilian Residential proxy group for you. - Partition huge city crawls by
neighborhoodsor price bands: If you want tens of thousands of listings from São Paulo or Rio de Janeiro, splitting runs byneighborhoodsorminPrice/maxPricebrackets gives you granular progress tracking and clean attribution viasearchNeighborhood. - Switch
portal: "VIVA_REAL"to cross-compare inventory: Run the exact same filter set withportal: "VIVA_REAL"to capture properties listed exclusively on VivaReal.
⚠️ Honest limitations
- Brazilian Residential Proxy requirement: Because the target portal sits behind strict anti-bot protection, running without a proxy or with non-Brazilian datacenter proxies will result in
403/503blocks. Keep the defaultRESIDENTIAL(BR) proxy enabled. - Broker-entered optional fields: Fields like
streetNumber,condominioMonthlyBRL,iptuYearlyBRL, andagencyWebsiteare populated only when the listing broker entered them (typically 50–85% of listings). Sentinel spam values likeR$ 1are intentionally nulled out to protect your averages.
❓ Frequently Asked Questions (FAQ)
Do I need a ZAP Imóveis account or login?
No. The Actor extracts public property and agency data without any login, session cookies, or credentials.
How many listings can I scrape in a single run?
You can scrape from 50 to 10,000+ listings in a single run. maxPages is set to 0 (unlimited) by default, so pagination continues automatically until maxListings is reached.
Can I scrape VivaReal with this Actor too?
Yes! Simply set "portal": "VIVA_REAL" in the input. Both portals return the exact same normalized 85-field output schema.
Does every listing include the broker/agency phone number?
Yes — in verified runs, 99%+ of agency-published listings return a direct agencyPhone along with agencyName and agencyCRECI, making this Actor an immediate B2B lead source for imobiliária outreach.
How do I scrape only new builder projects (Lançamentos)?
Set "listingType": ["DEVELOPMENT"]. The Actor will return brand-new developments along with isLancamento: true, constructorName, constructorCNPJ, launchPhase, deliveryDate, and totalUnits when available.
🔗 Related real estate & LatAm scrapers
- VivaReal Brazil Real Estate Scraper — dedicated scraper for VivaReal residential and commercial listings.
- Lamudi Scraper — emerging-market residential and commercial property data.
- Realtor.ca Scraper (Canada) — Canadian MLS property listings and realtor contact details.
- Immoweb.be Belgium Property Scraper — Belgian residential and commercial real estate.
- ImmobilienScout24 Scraper (Germany) — German property listings and agency contacts.
- Zameen.com Pakistan Real Estate Scraper — South-Asian property portal data.
📋 Changelog
- v1.2 (2026-11) — Unlocked 1,000+ deep pagination: changed
maxPagesdefault from20to0(0= unlimited, auto-scaled bymaxListings), removed the 100-item / 2-page demo clamp whenmaxListingsis explicitly specified by the user, and set fast prefill (maxListings: 50) for sub-30-second default runs. - v1.1 (2026-10) — Added
listing.advertiserContact.phonesextraction (boostingagencyPhonefill rate to ~100%), automatic website/email splitting onaccount.websiteUrl, and template resolution for allimageUrls. - v1.0 (2026-09) — Initial release supporting
ZAPandVIVA_REALportals,listingsandagenciesmodes, 27 Brazilian states, and 85+ normalized real-estate fields.