ZAP Imoveis Brazil Real Estate Scraper | Property Listings API avatar

ZAP Imoveis Brazil Real Estate Scraper | Property Listings API

Pricing

from $6.15 / 1,000 results

Go to Apify Store
ZAP Imoveis Brazil Real Estate Scraper | Property Listings API

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

4 days ago

Last modified

Share

ZAP Imoveis Brazil Real Estate Scraper

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

Apify Coverage Output Billing

Table of contents

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 venda and aluguel searches, with a rental pricePeriod and a monthly totalCost (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, null for 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

FieldTypeRequiredDefaultDescription
startUrlstringno(example search)A full ZAP Imoveis search results URL. Every filter encoded in the URL is respected automatically.
startUrlsarrayno-List of ZAP Imoveis search URLs to scrape in one run (strings or {"url": "..."}).
citystringno-City name, used with state to build a search URL when no URL is given.
statestringno-Two-letter Brazilian state code (UF), for example SP, RJ, MG.
operationstringno-venda (sale) or aluguel (rent). Filter and URL-builder value.
propertyTypestringno-Property type filter, for example APARTMENT, HOME, LAND, COMMERCIAL, FARM.
listingTypestringno-Filter by USED or DEVELOPMENT (new development).
minPrice / maxPriceintegerno-Price range (BRL).
minBedrooms / maxBedroomsintegerno-Bedroom range.
minBathroomsintegerno-Minimum bathrooms.
minParkingintegerno-Minimum parking spaces.
minAreaM2 / maxAreaM2integerno-Usable area range in square meters.
withDetailsbooleannotrueEnrich each record with description, full image gallery, amenities and advertiser contacts. Enrichment applies to paid Apify plans.
maxListingsintegerno10Maximum 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.

FieldTypeDescription
imageUrlstringPrimary listing image URL.
titlestringListing title as shown on ZAP Imoveis.
pricenumberSale price or rent amount in the listing currency.
currencystringCurrency code, for example BRL.
totalCostnumberListing price plus condo fee plus IPTU (most useful as the monthly total for rentals).
operationTypestringvenda (sale) or aluguel (rent).
propertyTypestringProperty type code, for example APARTMENT, HOME.
listingTypestringListing condition, for example USED or DEVELOPMENT.
publicationTypestringPublication tier, for example STANDARD, PREMIUM, SUPER_PREMIUM.
isHighlightedbooleanWhether the listing is a highlighted/premium placement.
isDevelopmentbooleanWhether the listing is a new development.
bedroomsnumberNumber of bedrooms.
bathroomsnumberNumber of bathrooms.
suitesnumberNumber of en-suite bedrooms.
parkingSpacesnumberNumber of parking spaces (0 preserved).
floorsnumberNumber of floors in the building/unit, when published.
unitFloornumberFloor the unit is on (0 = ground floor).
usableAreaM2numberUsable area in square meters.
totalAreaM2numberTotal area in square meters, when published.
pricePerM2numberPrice per square meter, computed from price and usable area.
condoFeenumberMonthly condominium fee (condominio).
iptunumberIPTU property tax.
pricePeriodstringBilling period for rentals (for example MONTHLY), or null for sales.
condominiumNamestringCondominium/building name, when published.
neighborhoodstringNeighborhood (bairro).
zonestringCity zone (for example Zona Leste).
streetstringStreet name.
streetNumberstringStreet number.
zipCodestringPostal code (CEP), when published.
citystringCity.
statestringTwo-letter state code (UF).
stateNamestringFull state name.
latitudenumberListing latitude.
longitudenumberListing longitude.
listingIdstringZAP Imoveis listing id.
externalIdstringAdvertiser's own listing reference.
urlstringCanonical listing URL.
descriptionstringFull listing description (details mode).
amenitiesstring[]Amenity codes such as POOL, ELEVATOR, GYM (details mode).
imagesstring[]Full image gallery URLs (details mode).
advertiserNamestringAdvertiser or agency name (details mode).
advertiserTypestringAGENCY, DEVELOPER or OWNER, inferred from license and development signals (details mode).
advertiserTierstringAdvertiser account tier, for example diamond (details mode).
advertiserIdstringAdvertiser id (details mode).
advertiserLegacyIdstringLegacy numeric advertiser id (details mode).
advertiserUrlstringRelative URL of the advertiser profile (details mode).
advertiserLogostringAdvertiser logo image URL (details mode).
advertiserPhonestringPrimary advertiser phone (details mode).
advertiserPhonesstring[]All advertiser phone numbers (details mode).
advertiserWhatsappstringAdvertiser WhatsApp number (details mode).
advertiserVerifiedbooleanWhether the advertiser account is verified (details mode).
advertiserRatingnumberAdvertiser rating, when present (details mode).
advertiserSincestringAdvertiser account creation date (details mode).
licenseNumberstringAdvertiser CRECI real estate license number (details mode).
legacyZapIdstringLegacy ZAP id, when present.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

How it compares

CapabilityThis actorfatihtahta/zap-imoveis-scrapergio21/vivareal-zap-scraperhaketa/zapimoveis-scraper
Sale and rentYesYesYesYes
Paste ready search URLYesNo (params only)Yes (location)No (params only)
Batch many URLsYesNoNoNo
Filter by price/area/beds/baths/parkingYesYesNoYes
Condo fee (condominio)YesPartialNoPartial
IPTUYesPartialNoPartial
Total costYesNoNoNo
Price per square meterYesNoNoNo
Suites / floors / unit floorYesPartialNoPartial
Map coordinatesYesPartialNoPartial
Full image galleryYesYesPartialYes
Amenities listYesYesNoYes
Advertiser phone + WhatsAppYesPartialNoPartial
CRECI license + tier + verifiedYesNoNoPartial
Advertiser type (agency/owner/developer)YesNoNoPartial

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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). With withDetails on, a details add-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 error field and does not charge for it. Empty runs and filtered-out listings cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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 maxListings and 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

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 venda e aluguel, com pricePeriod no aluguel e um totalCost mensal (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, null para 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

CampoTipoObrigatorioPadraoDescricao
startUrlstringnao(busca exemplo)Uma URL completa de busca do ZAP Imoveis. Todos os filtros da URL sao respeitados.
startUrlsarraynao-Lista de URLs de busca do ZAP para rodar em uma execucao (strings ou {"url": "..."}).
citystringnao-Nome da cidade, usado com state para montar a URL quando nenhuma URL e dada.
statestringnao-Sigla do estado (UF), por exemplo SP, RJ, MG.
operationstringnao-venda ou aluguel. Valor de filtro e de montagem da URL.
propertyTypestringnao-Filtro de tipo de imovel, por exemplo APARTMENT, HOME, LAND, COMMERCIAL, FARM.
listingTypestringnao-Filtrar por USED ou DEVELOPMENT (lancamento).
minPrice / maxPriceintegernao-Faixa de preco (BRL).
minBedrooms / maxBedroomsintegernao-Faixa de quartos.
minBathroomsintegernao-Minimo de banheiros.
minParkingintegernao-Minimo de vagas.
minAreaM2 / maxAreaM2integernao-Faixa de area util em metros quadrados.
withDetailsbooleannaotrueEnriquece cada registro com descricao, galeria completa, comodidades e contatos do anunciante. Enriquecimento vale para planos pagos do Apify.
maxListingsintegernao10Maximo 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.

CampoTipoDescricao
imageUrlstringURL da imagem principal.
titlestringTitulo do anuncio.
pricenumberPreco de venda ou valor do aluguel.
currencystringCodigo da moeda, por exemplo BRL.
totalCostnumberPreco mais condominio mais IPTU (util como total mensal no aluguel).
operationTypestringvenda ou aluguel.
propertyTypestringTipo de imovel, por exemplo APARTMENT, HOME.
listingTypestringCondicao do anuncio, por exemplo USED ou DEVELOPMENT.
publicationTypestringTier de publicacao, por exemplo STANDARD, PREMIUM, SUPER_PREMIUM.
isHighlightedbooleanSe o anuncio e destaque/premium.
isDevelopmentbooleanSe e um lancamento.
bedroomsnumberQuartos.
bathroomsnumberBanheiros.
suitesnumberSuites.
parkingSpacesnumberVagas (0 preservado).
floorsnumberNumero de andares, quando publicado.
unitFloornumberAndar da unidade (0 = terreo).
usableAreaM2numberArea util em metros quadrados.
totalAreaM2numberArea total, quando publicada.
pricePerM2numberPreco por metro quadrado.
condoFeenumberCondominio mensal.
iptunumberIPTU.
pricePeriodstringPeriodo de cobranca no aluguel (por exemplo MONTHLY), ou null na venda.
condominiumNamestringNome do condominio/edificio, quando publicado.
neighborhoodstringBairro.
zonestringZona da cidade (por exemplo Zona Leste).
streetstringRua.
streetNumberstringNumero.
zipCodestringCEP, quando publicado.
citystringCidade.
statestringSigla do estado (UF).
stateNamestringNome completo do estado.
latitudenumberLatitude.
longitudenumberLongitude.
listingIdstringId do anuncio no ZAP Imoveis.
externalIdstringReferencia propria do anunciante.
urlstringURL canonica do anuncio.
descriptionstringDescricao completa (modo detalhes).
amenitiesstring[]Comodidades como POOL, ELEVATOR, GYM (modo detalhes).
imagesstring[]Galeria completa de imagens (modo detalhes).
advertiserNamestringNome do anunciante ou imobiliaria (modo detalhes).
advertiserTypestringAGENCY, DEVELOPER ou OWNER, inferido de licenca e sinais de lancamento (modo detalhes).
advertiserTierstringTier da conta, por exemplo diamond (modo detalhes).
advertiserIdstringId do anunciante (modo detalhes).
advertiserLegacyIdstringId numerico legado (modo detalhes).
advertiserUrlstringURL relativa do perfil do anunciante (modo detalhes).
advertiserLogostringURL do logo do anunciante (modo detalhes).
advertiserPhonestringTelefone principal (modo detalhes).
advertiserPhonesstring[]Todos os telefones (modo detalhes).
advertiserWhatsappstringWhatsApp do anunciante (modo detalhes).
advertiserVerifiedbooleanSe a conta e verificada (modo detalhes).
advertiserRatingnumberAvaliacao do anunciante, quando presente (modo detalhes).
advertiserSincestringData de criacao da conta do anunciante (modo detalhes).
licenseNumberstringLicenca CRECI do anunciante (modo detalhes).
legacyZapIdstringId ZAP legado, quando presente.
observedAtstringTimestamp ISO 8601 da coleta.
errorstringnull em caso de sucesso. Em falha, um unico item com error preenchido e gravado.

Como se compara

RecursoEste atorfatihtahta/zap-imoveis-scrapergio21/vivareal-zap-scraperhaketa/zapimoveis-scraper
Venda e aluguelSimSimSimSim
Colar URL de busca prontaSimNao (so parametros)Sim (location)Nao (so parametros)
Varias URLs em loteSimNaoNaoNao
Filtrar por preco/area/quartos/banheiros/vagasSimSimNaoSim
CondominioSimParcialNaoParcial
IPTUSimParcialNaoParcial
Custo totalSimNaoNaoNao
Preco por metro quadradoSimNaoNaoNao
Suites / andares / andar da unidadeSimParcialNaoParcial
Coordenadas no mapaSimParcialNaoParcial
Galeria completa de imagensSimSimParcialSim
Lista de comodidadesSimSimNaoSim
Telefone + WhatsApp do anuncianteSimParcialNaoParcial
Licenca CRECI + tier + verificadoSimNaoNaoParcial
Tipo do anunciante (imobiliaria/proprietario/construtora)SimNaoNaoParcial

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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginar datasets grandes
curl "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). Com withDetails ativo, um adicional details e 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 error preenchido e nao cobra. Execucoes vazias e anuncios filtrados nao custam nada.
  • Limite de gasto respeitado. Defina maxTotalChargeUsd na 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 maxListings maior 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.

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.