ZAP Imoveis Brazil Real Estate Scraper | Property Listings API
Pricing
from $6.15 / 1,000 results
ZAP Imoveis Brazil Real Estate Scraper | Property Listings API
Scrape ZAP Imoveis property listings for sale and rent across Brazil. Extract price, condo fee, IPTU, area, bedrooms, bathrooms, parking, coordinates, amenities, advertiser phone, WhatsApp and CRECI license. Filter by city, price, area and beds. Export imoveis data to JSON, CSV or Excel.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
ZAP Imoveis Brazil Real Estate Scraper | Property Listings API
Scrape ZAP Imoveis (zapimoveis.com.br), one of Brazil's largest real estate portals, for property listings for sale and for rent across every city and state. This is the most complete ZAP Imoveis scraper on Apify: it returns price, condo fee (condominio), IPTU, usable and total area, bedrooms, bathrooms, suites, parking, floor, map coordinates, amenities, the full image gallery and the advertiser's name, phones, WhatsApp and CRECI license, all as clean JSON, CSV or Excel. No API key, no ZAP account.
Point it at any ZAP Imoveis search URL (or give a city, state and filters) and it returns one normalized record per property.
Here is one real result, with the fields the actor returns (the description, amenities and images values are trimmed here for display; a real run returns the full text, all amenities and every image URL):
{"imageUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../apartamento-vila-zilda.webp?action=fit-in&dimension=614x297","title": "Apartamento para comprar com 65 m2, 2 quartos, 2 banheiros, 1 vaga em Vila Zilda (Tatuape), Sao Paulo","price": 825000,"currency": "BRL","totalCost": 826200,"operationType": "venda","propertyType": "APARTMENT","listingType": "USED","publicationType": "SUPER_PREMIUM","isHighlighted": true,"isDevelopment": false,"bedrooms": 2,"bathrooms": 2,"suites": 1,"parkingSpaces": 1,"floors": null,"unitFloor": 4,"usableAreaM2": 65,"totalAreaM2": null,"pricePerM2": 12692.31,"condoFee": 850,"iptu": 350,"pricePeriod": null,"condominiumName": "Edificio Astro Tatuape","neighborhood": "Vila Zilda (Tatuape)","zone": "Zona Leste","street": "Rua Souza Breves","streetNumber": "97","zipCode": null,"city": "Sao Paulo","state": "SP","stateName": "Sao Paulo","latitude": -23.534735,"longitude": -46.563805,"listingId": "2898837559","externalId": "GESTELOJO","url": "https://www.zapimoveis.com.br/imovel/venda-apartamento-2-quartos-tatuape-sao-paulo-sp-65m2-id-2898837559/","description": "Apartamento para venda no Tatuape a poucos metros da estacao de metro Carrao. Aceita permuta...","amenities": ["SERVICE_AREA", "SECURITY_CAMERA", "POOL", "ELEVATOR", "BALCONY", "GYM", "BARBECUE_GRILL"],"images": ["https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../foto.webp?action=fit-in&dimension=870x653"],"advertiserName": "Rc & 3A Imobiliaria","advertiserType": "AGENCY","advertiserTier": "diamond","advertiserId": "2db390b7-566f-89a4-17ea-fd8f24346e0d","advertiserLegacyId": "1913","advertiserUrl": "/imobiliaria/67222/","advertiserLogo": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../foto.webp?action=fit-in&dimension=870x653","advertiserPhone": "1126724004","advertiserPhones": ["1126724004", "11940882077"],"advertiserWhatsapp": "11940882077","advertiserVerified": true,"advertiserRating": null,"advertiserSince": "2018-03-27T15:43:40Z","licenseNumber": "25757-J-SP","legacyZapId": "1913","observedAt": "2026-09-04T14:07:52.000Z","error": null}
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this scraper
- Quickstart
- Input reference
- Output reference
- How it compares
- Use cases
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor takes a ZAP Imoveis search results URL (or a city, state and filters), paginates through the matching listings, and writes one normalized record per property to the run's dataset. Any filter encoded in the URL (operation for sale or rent, property type, location, price, area, bedrooms) is respected automatically, so you can build the search on the ZAP Imoveis site and paste the URL, or use the built-in filter inputs.
Core fields (price, total cost, condo fee, IPTU, area, bedrooms, bathrooms, suites, parking, floor, coordinates, neighborhood, city, state) come from the results page. When withDetails is on, each record is enriched with the full description, the complete image gallery, amenities and the advertiser's contact details (name, phones, WhatsApp, CRECI license, tier and verified status). Prices are numeric, missing values are returned as null and never invented.
Data covers property listings published on ZAP Imoveis across Brazil.
Why this scraper
- Most complete field set. Not just price and area: condo fee, IPTU, total cost, price per square meter, suites, floors, unit floor, coordinates, amenities and full advertiser contacts.
- Real advertiser leads. Name, all phone numbers, WhatsApp, CRECI license, account tier, verified flag and account age, ready for outreach and market analysis.
- Sale and rent. Works on both
vendaandaluguelsearches, with a rentalpricePeriodand a monthlytotalCost(rent plus condo fee plus IPTU). - Filter your way. Paste a ready ZAP URL, batch many URLs, or filter by city, state, operation, property type, price, area, bedrooms, bathrooms and parking.
- Clean, honest data. Numeric prices, ISO timestamps,
nullfor anything the source omits.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 apartments for sale in Sao Paulo with full detail.
{"startUrl": "https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/","withDetails": true,"maxListings": 10}
Build any search on zapimoveis.com.br (choose sale or rent, property type, city, price and area filters) and paste its URL into startUrl. Set withDetails to false for a faster run that returns only the core listing fields.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | string | no | (example search) | A full ZAP Imoveis search results URL. Every filter encoded in the URL is respected automatically. |
startUrls | array | no | - | List of ZAP Imoveis search URLs to scrape in one run (strings or {"url": "..."}). |
city | string | no | - | City name, used with state to build a search URL when no URL is given. |
state | string | no | - | Two-letter Brazilian state code (UF), for example SP, RJ, MG. |
operation | string | no | - | venda (sale) or aluguel (rent). Filter and URL-builder value. |
propertyType | string | no | - | Property type filter, for example APARTMENT, HOME, LAND, COMMERCIAL, FARM. |
listingType | string | no | - | Filter by USED or DEVELOPMENT (new development). |
minPrice / maxPrice | integer | no | - | Price range (BRL). |
minBedrooms / maxBedrooms | integer | no | - | Bedroom range. |
minBathrooms | integer | no | - | Minimum bathrooms. |
minParking | integer | no | - | Minimum parking spaces. |
minAreaM2 / maxAreaM2 | integer | no | - | Usable area range in square meters. |
withDetails | boolean | no | true | Enrich each record with description, full image gallery, amenities and advertiser contacts. Enrichment applies to paid Apify plans. |
maxListings | integer | no | 10 | Maximum listings to collect. Leave blank for all. Free plans are capped at 10 per run. |
Filters are applied before a record is delivered, so filtered-out listings are never charged.
Output reference
One dataset item per listing. Types: string, number, boolean, string[], or null when the source value is absent. The description, amenities, images and advertiser* fields are populated only when withDetails is on.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Primary listing image URL. |
title | string | Listing title as shown on ZAP Imoveis. |
price | number | Sale price or rent amount in the listing currency. |
currency | string | Currency code, for example BRL. |
totalCost | number | Listing price plus condo fee plus IPTU (most useful as the monthly total for rentals). |
operationType | string | venda (sale) or aluguel (rent). |
propertyType | string | Property type code, for example APARTMENT, HOME. |
listingType | string | Listing condition, for example USED or DEVELOPMENT. |
publicationType | string | Publication tier, for example STANDARD, PREMIUM, SUPER_PREMIUM. |
isHighlighted | boolean | Whether the listing is a highlighted/premium placement. |
isDevelopment | boolean | Whether the listing is a new development. |
bedrooms | number | Number of bedrooms. |
bathrooms | number | Number of bathrooms. |
suites | number | Number of en-suite bedrooms. |
parkingSpaces | number | Number of parking spaces (0 preserved). |
floors | number | Number of floors in the building/unit, when published. |
unitFloor | number | Floor the unit is on (0 = ground floor). |
usableAreaM2 | number | Usable area in square meters. |
totalAreaM2 | number | Total area in square meters, when published. |
pricePerM2 | number | Price per square meter, computed from price and usable area. |
condoFee | number | Monthly condominium fee (condominio). |
iptu | number | IPTU property tax. |
pricePeriod | string | Billing period for rentals (for example MONTHLY), or null for sales. |
condominiumName | string | Condominium/building name, when published. |
neighborhood | string | Neighborhood (bairro). |
zone | string | City zone (for example Zona Leste). |
street | string | Street name. |
streetNumber | string | Street number. |
zipCode | string | Postal code (CEP), when published. |
city | string | City. |
state | string | Two-letter state code (UF). |
stateName | string | Full state name. |
latitude | number | Listing latitude. |
longitude | number | Listing longitude. |
listingId | string | ZAP Imoveis listing id. |
externalId | string | Advertiser's own listing reference. |
url | string | Canonical listing URL. |
description | string | Full listing description (details mode). |
amenities | string[] | Amenity codes such as POOL, ELEVATOR, GYM (details mode). |
images | string[] | Full image gallery URLs (details mode). |
advertiserName | string | Advertiser or agency name (details mode). |
advertiserType | string | AGENCY, DEVELOPER or OWNER, inferred from license and development signals (details mode). |
advertiserTier | string | Advertiser account tier, for example diamond (details mode). |
advertiserId | string | Advertiser id (details mode). |
advertiserLegacyId | string | Legacy numeric advertiser id (details mode). |
advertiserUrl | string | Relative URL of the advertiser profile (details mode). |
advertiserLogo | string | Advertiser logo image URL (details mode). |
advertiserPhone | string | Primary advertiser phone (details mode). |
advertiserPhones | string[] | All advertiser phone numbers (details mode). |
advertiserWhatsapp | string | Advertiser WhatsApp number (details mode). |
advertiserVerified | boolean | Whether the advertiser account is verified (details mode). |
advertiserRating | number | Advertiser rating, when present (details mode). |
advertiserSince | string | Advertiser account creation date (details mode). |
licenseNumber | string | Advertiser CRECI real estate license number (details mode). |
legacyZapId | string | Legacy ZAP id, when present. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
How it compares
| Capability | This actor | fatihtahta/zap-imoveis-scraper | gio21/vivareal-zap-scraper | haketa/zapimoveis-scraper |
|---|---|---|---|---|
| Sale and rent | Yes | Yes | Yes | Yes |
| Paste ready search URL | Yes | No (params only) | Yes (location) | No (params only) |
| Batch many URLs | Yes | No | No | No |
| Filter by price/area/beds/baths/parking | Yes | Yes | No | Yes |
| Condo fee (condominio) | Yes | Partial | No | Partial |
| IPTU | Yes | Partial | No | Partial |
| Total cost | Yes | No | No | No |
| Price per square meter | Yes | No | No | No |
| Suites / floors / unit floor | Yes | Partial | No | Partial |
| Map coordinates | Yes | Partial | No | Partial |
| Full image gallery | Yes | Yes | Partial | Yes |
| Amenities list | Yes | Yes | No | Yes |
| Advertiser phone + WhatsApp | Yes | Partial | No | Partial |
| CRECI license + tier + verified | Yes | No | No | Partial |
| Advertiser type (agency/owner/developer) | Yes | No | No | Partial |
This actor accepts the inputs the other actors accept (search URL, city/state, operation, property type, price/area/bedroom/bathroom/parking filters) and returns their output fields plus condo fee, IPTU, total cost, price per square meter, suites, floors, coordinates and full advertiser contacts.
Use cases
- Real estate market analysis. Track price per square meter, condo fees and IPTU by neighborhood and city.
- Lead generation. Build lists of agencies and advertisers with phones, WhatsApp and CRECI license for outreach.
- Investment and rental yield research. Compare sale and rent listings, total monthly cost and area across zones.
- Portal and CRM feeds. Keep an internal database of imoveis a venda and imoveis para alugar in sync.
- Property valuation and comps. Pull comparable listings with area, rooms, amenities and coordinates.
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~zap-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/","withDetails":true,"maxListings":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zap-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.zapimoveis.com.br/aluguel/casas/rj+rio-de-janeiro/","maxListings":300}'
Apify CLI:
apify call scrapers_lat/zap-scraper \--input '{"startUrl":"https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 listing returned (
resultevent). WithwithDetailson, adetailsadd-on is charged per record only after the enriched row is delivered. See the pricing tab. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs and filtered-out listings cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run, listing-only. Upgrade for higher
maxListingsand detail enrichment.
FAQ and troubleshooting
How do I filter by city, price or property type?
Build the search on zapimoveis.com.br using its own filters and paste the URL into startUrl, or use the city, state, operation, propertyType, price, area and bedroom inputs.
What is the difference between the two modes?
With withDetails on each record includes the description, full image gallery, amenities and advertiser contacts. With it off you get the core listing fields only, faster.
Why are some fields null?
Not every listing publishes every field (for example IPTU, suites or a WhatsApp number). Missing source values are returned as null, never invented.
Can I scrape rentals?
Yes. Use an aluguel search URL or set operation to aluguel. Rental records populate pricePeriod and set operationType to aluguel.
How do I get more than 10 results?
Raise maxListings on a paid Apify plan. Free plans are capped at 10 records per run.
Is this an official ZAP Imoveis tool? No. This actor is independent and has no affiliation with ZAP Imoveis. It reads only data that is publicly available on the site.
ZAP Imoveis Scraper de Imoveis do Brasil | API de Anuncios
Extraia dados do ZAP Imoveis (zapimoveis.com.br), um dos maiores portais imobiliarios do Brasil, com anuncios de imoveis a venda e para alugar em todas as cidades e estados. Este e o scraper de ZAP Imoveis mais completo do Apify: retorna preco, condominio, IPTU, area util e total, quartos, banheiros, suites, vagas, andar, coordenadas no mapa, comodidades, a galeria completa de imagens e os dados do anunciante (nome, telefones, WhatsApp e licenca CRECI), tudo em JSON, CSV ou Excel limpo. Sem API key, sem conta no ZAP.
Aponte para qualquer URL de busca do ZAP Imoveis (ou informe cidade, estado e filtros) e ele retorna um registro normalizado por imovel.
Veja um resultado real, com os campos que o ator retorna (os valores de description, amenities e images estao abreviados aqui; uma execucao real retorna o texto completo, todas as comodidades e todas as imagens):
{"imageUrl": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../apartamento-vila-zilda.webp?action=fit-in&dimension=614x297","title": "Apartamento para comprar com 65 m2, 2 quartos, 2 banheiros, 1 vaga em Vila Zilda (Tatuape), Sao Paulo","price": 825000,"currency": "BRL","totalCost": 826200,"operationType": "venda","propertyType": "APARTMENT","listingType": "USED","publicationType": "SUPER_PREMIUM","isHighlighted": true,"isDevelopment": false,"bedrooms": 2,"bathrooms": 2,"suites": 1,"parkingSpaces": 1,"floors": null,"unitFloor": 4,"usableAreaM2": 65,"totalAreaM2": null,"pricePerM2": 12692.31,"condoFee": 850,"iptu": 350,"pricePeriod": null,"condominiumName": "Edificio Astro Tatuape","neighborhood": "Vila Zilda (Tatuape)","zone": "Zona Leste","street": "Rua Souza Breves","streetNumber": "97","zipCode": null,"city": "Sao Paulo","state": "SP","stateName": "Sao Paulo","latitude": -23.534735,"longitude": -46.563805,"listingId": "2898837559","externalId": "GESTELOJO","url": "https://www.zapimoveis.com.br/imovel/venda-apartamento-2-quartos-tatuape-sao-paulo-sp-65m2-id-2898837559/","description": "Apartamento para venda no Tatuape a poucos metros da estacao de metro Carrao. Aceita permuta...","amenities": ["SERVICE_AREA", "SECURITY_CAMERA", "POOL", "ELEVATOR", "BALCONY", "GYM", "BARBECUE_GRILL"],"images": ["https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../foto.webp?action=fit-in&dimension=870x653"],"advertiserName": "Rc & 3A Imobiliaria","advertiserType": "AGENCY","advertiserTier": "diamond","advertiserId": "2db390b7-566f-89a4-17ea-fd8f24346e0d","advertiserLegacyId": "1913","advertiserUrl": "/imobiliaria/67222/","advertiserLogo": "https://resizedimgs.zapimoveis.com.br/img/vr-listing/.../foto.webp?action=fit-in&dimension=870x653","advertiserPhone": "1126724004","advertiserPhones": ["1126724004", "11940882077"],"advertiserWhatsapp": "11940882077","advertiserVerified": true,"advertiserRating": null,"advertiserSince": "2018-03-27T15:43:40Z","licenseNumber": "25757-J-SP","legacyZapId": "1913","observedAt": "2026-09-04T14:07:52.000Z","error": null}
📥 Entrada · 📤 Saida · 💰 Precos · ▶️ Exemplos
Indice
- O que faz
- Por que este scraper
- Inicio rapido
- Referencia de entrada
- Referencia de saida
- Como se compara
- Casos de uso
- Executar via API e CLI
- Obter resultados
- Cobranca e limites
- Perguntas frequentes
O que faz
O ator recebe uma URL de busca do ZAP Imoveis (ou cidade, estado e filtros), pagina pelos anuncios correspondentes e grava um registro normalizado por imovel no dataset da execucao. Qualquer filtro presente na URL (venda ou aluguel, tipo de imovel, localizacao, preco, area, quartos) e respeitado automaticamente, entao voce pode montar a busca no site do ZAP Imoveis e colar a URL, ou usar os campos de filtro integrados.
Os campos principais (preco, custo total, condominio, IPTU, area, quartos, banheiros, suites, vagas, andar, coordenadas, bairro, cidade, estado) vem da pagina de resultados. Com withDetails ativo, cada registro e enriquecido com a descricao completa, a galeria de imagens completa, as comodidades e os contatos do anunciante (nome, telefones, WhatsApp, licenca CRECI, tier e status verificado). Os precos sao numericos, valores ausentes retornam null e nunca sao inventados.
Os dados cobrem anuncios de imoveis publicados no ZAP Imoveis em todo o Brasil.
Por que este scraper
- Conjunto de campos mais completo. Nao apenas preco e area: condominio, IPTU, custo total, preco por metro quadrado, suites, andares, andar da unidade, coordenadas, comodidades e contatos completos do anunciante.
- Leads reais de anunciantes. Nome, todos os telefones, WhatsApp, licenca CRECI, tier da conta, selo de verificado e idade da conta, prontos para prospeccao e analise de mercado.
- Venda e aluguel. Funciona em buscas de
vendaealuguel, compricePeriodno aluguel e umtotalCostmensal (aluguel mais condominio mais IPTU). - Filtre do seu jeito. Cole uma URL pronta do ZAP, envie varias URLs em lote, ou filtre por cidade, estado, operacao, tipo de imovel, preco, area, quartos, banheiros e vagas.
- Dados limpos e honestos. Precos numericos, datas ISO,
nullpara o que a fonte omite.
Inicio rapido
Abra o ator, cole isto na entrada e clique em Run. Ele retorna 10 apartamentos a venda em Sao Paulo com detalhes completos.
{"startUrl": "https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/","withDetails": true,"maxListings": 10}
Monte qualquer busca em zapimoveis.com.br (venda ou aluguel, tipo de imovel, cidade, filtros de preco e area) e cole a URL em startUrl. Defina withDetails como false para uma execucao mais rapida com apenas os campos principais.
Referencia de entrada
| Campo | Tipo | Obrigatorio | Padrao | Descricao |
|---|---|---|---|---|
startUrl | string | nao | (busca exemplo) | Uma URL completa de busca do ZAP Imoveis. Todos os filtros da URL sao respeitados. |
startUrls | array | nao | - | Lista de URLs de busca do ZAP para rodar em uma execucao (strings ou {"url": "..."}). |
city | string | nao | - | Nome da cidade, usado com state para montar a URL quando nenhuma URL e dada. |
state | string | nao | - | Sigla do estado (UF), por exemplo SP, RJ, MG. |
operation | string | nao | - | venda ou aluguel. Valor de filtro e de montagem da URL. |
propertyType | string | nao | - | Filtro de tipo de imovel, por exemplo APARTMENT, HOME, LAND, COMMERCIAL, FARM. |
listingType | string | nao | - | Filtrar por USED ou DEVELOPMENT (lancamento). |
minPrice / maxPrice | integer | nao | - | Faixa de preco (BRL). |
minBedrooms / maxBedrooms | integer | nao | - | Faixa de quartos. |
minBathrooms | integer | nao | - | Minimo de banheiros. |
minParking | integer | nao | - | Minimo de vagas. |
minAreaM2 / maxAreaM2 | integer | nao | - | Faixa de area util em metros quadrados. |
withDetails | boolean | nao | true | Enriquece cada registro com descricao, galeria completa, comodidades e contatos do anunciante. Enriquecimento vale para planos pagos do Apify. |
maxListings | integer | nao | 10 | Maximo de anuncios. Deixe em branco para todos. Planos gratuitos sao limitados a 10 por execucao. |
Os filtros sao aplicados antes de o registro ser entregue, entao anuncios filtrados nunca sao cobrados.
Referencia de saida
Um item de dataset por anuncio. Tipos: string, number, boolean, string[], ou null quando a fonte omite o valor. Os campos description, amenities, images e advertiser* so sao preenchidos com withDetails ativo.
| Campo | Tipo | Descricao |
|---|---|---|
imageUrl | string | URL da imagem principal. |
title | string | Titulo do anuncio. |
price | number | Preco de venda ou valor do aluguel. |
currency | string | Codigo da moeda, por exemplo BRL. |
totalCost | number | Preco mais condominio mais IPTU (util como total mensal no aluguel). |
operationType | string | venda ou aluguel. |
propertyType | string | Tipo de imovel, por exemplo APARTMENT, HOME. |
listingType | string | Condicao do anuncio, por exemplo USED ou DEVELOPMENT. |
publicationType | string | Tier de publicacao, por exemplo STANDARD, PREMIUM, SUPER_PREMIUM. |
isHighlighted | boolean | Se o anuncio e destaque/premium. |
isDevelopment | boolean | Se e um lancamento. |
bedrooms | number | Quartos. |
bathrooms | number | Banheiros. |
suites | number | Suites. |
parkingSpaces | number | Vagas (0 preservado). |
floors | number | Numero de andares, quando publicado. |
unitFloor | number | Andar da unidade (0 = terreo). |
usableAreaM2 | number | Area util em metros quadrados. |
totalAreaM2 | number | Area total, quando publicada. |
pricePerM2 | number | Preco por metro quadrado. |
condoFee | number | Condominio mensal. |
iptu | number | IPTU. |
pricePeriod | string | Periodo de cobranca no aluguel (por exemplo MONTHLY), ou null na venda. |
condominiumName | string | Nome do condominio/edificio, quando publicado. |
neighborhood | string | Bairro. |
zone | string | Zona da cidade (por exemplo Zona Leste). |
street | string | Rua. |
streetNumber | string | Numero. |
zipCode | string | CEP, quando publicado. |
city | string | Cidade. |
state | string | Sigla do estado (UF). |
stateName | string | Nome completo do estado. |
latitude | number | Latitude. |
longitude | number | Longitude. |
listingId | string | Id do anuncio no ZAP Imoveis. |
externalId | string | Referencia propria do anunciante. |
url | string | URL canonica do anuncio. |
description | string | Descricao completa (modo detalhes). |
amenities | string[] | Comodidades como POOL, ELEVATOR, GYM (modo detalhes). |
images | string[] | Galeria completa de imagens (modo detalhes). |
advertiserName | string | Nome do anunciante ou imobiliaria (modo detalhes). |
advertiserType | string | AGENCY, DEVELOPER ou OWNER, inferido de licenca e sinais de lancamento (modo detalhes). |
advertiserTier | string | Tier da conta, por exemplo diamond (modo detalhes). |
advertiserId | string | Id do anunciante (modo detalhes). |
advertiserLegacyId | string | Id numerico legado (modo detalhes). |
advertiserUrl | string | URL relativa do perfil do anunciante (modo detalhes). |
advertiserLogo | string | URL do logo do anunciante (modo detalhes). |
advertiserPhone | string | Telefone principal (modo detalhes). |
advertiserPhones | string[] | Todos os telefones (modo detalhes). |
advertiserWhatsapp | string | WhatsApp do anunciante (modo detalhes). |
advertiserVerified | boolean | Se a conta e verificada (modo detalhes). |
advertiserRating | number | Avaliacao do anunciante, quando presente (modo detalhes). |
advertiserSince | string | Data de criacao da conta do anunciante (modo detalhes). |
licenseNumber | string | Licenca CRECI do anunciante (modo detalhes). |
legacyZapId | string | Id ZAP legado, quando presente. |
observedAt | string | Timestamp ISO 8601 da coleta. |
error | string | null em caso de sucesso. Em falha, um unico item com error preenchido e gravado. |
Como se compara
| Recurso | Este ator | fatihtahta/zap-imoveis-scraper | gio21/vivareal-zap-scraper | haketa/zapimoveis-scraper |
|---|---|---|---|---|
| Venda e aluguel | Sim | Sim | Sim | Sim |
| Colar URL de busca pronta | Sim | Nao (so parametros) | Sim (location) | Nao (so parametros) |
| Varias URLs em lote | Sim | Nao | Nao | Nao |
| Filtrar por preco/area/quartos/banheiros/vagas | Sim | Sim | Nao | Sim |
| Condominio | Sim | Parcial | Nao | Parcial |
| IPTU | Sim | Parcial | Nao | Parcial |
| Custo total | Sim | Nao | Nao | Nao |
| Preco por metro quadrado | Sim | Nao | Nao | Nao |
| Suites / andares / andar da unidade | Sim | Parcial | Nao | Parcial |
| Coordenadas no mapa | Sim | Parcial | Nao | Parcial |
| Galeria completa de imagens | Sim | Sim | Parcial | Sim |
| Lista de comodidades | Sim | Sim | Nao | Sim |
| Telefone + WhatsApp do anunciante | Sim | Parcial | Nao | Parcial |
| Licenca CRECI + tier + verificado | Sim | Nao | Nao | Parcial |
| Tipo do anunciante (imobiliaria/proprietario/construtora) | Sim | Nao | Nao | Parcial |
Este ator aceita as entradas que os outros aceitam (URL de busca, cidade/estado, operacao, tipo de imovel, filtros de preco/area/quartos/banheiros/vagas) e retorna os campos deles mais condominio, IPTU, custo total, preco por metro quadrado, suites, andares, coordenadas e contatos completos do anunciante.
Casos de uso
- Analise de mercado imobiliario. Acompanhe preco por metro quadrado, condominio e IPTU por bairro e cidade.
- Geracao de leads. Monte listas de imobiliarias e anunciantes com telefones, WhatsApp e licenca CRECI para prospeccao.
- Investimento e rentabilidade de aluguel. Compare anuncios de venda e aluguel, custo total mensal e area entre zonas.
- Feeds de portais e CRM. Mantenha uma base interna de imoveis a venda e imoveis para alugar sincronizada.
- Avaliacao de imoveis e comparativos. Puxe anuncios comparaveis com area, comodos, comodidades e coordenadas.
Executar via API e CLI
Inicie uma execucao e leia o dataset. Troque <TOKEN> pelo seu token da API do Apify.
Execucao sincrona com itens do dataset em uma chamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zap-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/","withDetails":true,"maxListings":25}'
Execucao assincrona:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~zap-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.zapimoveis.com.br/aluguel/casas/rj+rio-de-janeiro/","maxListings":300}'
Apify CLI:
apify call scrapers_lat/zap-scraper \--input '{"startUrl":"https://www.zapimoveis.com.br/venda/apartamentos/sp+sao-paulo/"}'
Obter resultados
Cada execucao grava em um dataset. Obtenha os itens em JSON, CSV ou Excel mudando format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> e retornado como defaultDatasetId no objeto da execucao. Use offset e limit para paginar. clean=true remove campos vazios e internos.
Cobranca e limites
- Pagamento por resultado. Voce e cobrado por anuncio retornado (evento
result). ComwithDetailsativo, um adicionaldetailse cobrado por registro apenas depois que a linha enriquecida e entregue. Veja a aba de precos. - Sem cobranca em falha. Se a execucao falhar, o ator grava um unico item com
errorpreenchido e nao cobra. Execucoes vazias e anuncios filtrados nao custam nada. - Limite de gasto respeitado. Defina
maxTotalChargeUsdna execucao; ao atingir, o ator para de emitir e cobrar novos resultados. - Planos gratuitos do Apify sao limitados a 10 registros por execucao, apenas listagem. Faca upgrade para
maxListingsmaior e enriquecimento de detalhes.
Perguntas frequentes
Como filtrar por cidade, preco ou tipo de imovel?
Monte a busca em zapimoveis.com.br e cole a URL em startUrl, ou use os campos city, state, operation, propertyType, preco, area e quartos.
Qual a diferenca entre os dois modos?
Com withDetails ativo cada registro inclui descricao, galeria completa, comodidades e contatos do anunciante. Sem ele, voce recebe apenas os campos principais, mais rapido.
Por que alguns campos sao null?
Nem todo anuncio publica todos os campos (por exemplo IPTU, suites ou WhatsApp). Valores ausentes retornam null, nunca inventados.
Da para extrair aluguel?
Sim. Use uma URL de aluguel ou defina operation como aluguel. Registros de aluguel preenchem pricePeriod e definem operationType como aluguel.
Como pego mais de 10 resultados?
Aumente maxListings em um plano pago do Apify. Planos gratuitos sao limitados a 10 por execucao.
Este e um servico oficial do ZAP Imoveis? Nao. Este ator e independente e nao tem afiliacao com o ZAP Imoveis. Le apenas dados publicamente disponiveis no site.
Related scrapers
- InfoCasas Real Estate Listings Scraper: Infocasas real estate listings across Uruguay, Paraguay and more.
- Urbania Peru Property Listings Scraper: Urbania property listings in Peru with price, operation and property type.
- Adondevivir Peru Property Listings Scraper: Adondevivir property listings in Peru with price, operation and property type.
- MercadoLibre Product Listings Scraper: Products, prices and seller data from MercadoLibre across LATAM.
- OLX Brazil Scraper: OLX Brasil classifieds, cars and real estate.
- Rappi Restaurants & Stores Scraper: Restaurants and stores from Rappi with name, category and rating.
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.
