VivaReal & ZAP Imóveis Scraper
Pricing
from $2.50 / 1,000 property scrapeds
VivaReal & ZAP Imóveis Scraper
Scrape property listings from VivaReal and ZAP Imóveis — Brazil's top real estate portals. Extract price, address, bedrooms, bathrooms, area, amenities, images and contact info. Pay per property scraped.
Pricing
from $2.50 / 1,000 property scrapeds
Rating
5.0
(2)
Developer
Gio
Maintained by CommunityActor stats
3
Bookmarked
248
Total users
33
Monthly active users
14 hours
Issues response
9 hours ago
Last modified
Categories
Share
Extrai listagens de imóveis do VivaReal e do ZAP Imóveis, os dois maiores portais imobiliários do Brasil.
Faz chamadas diretas à API GLUE (a mesma API que o site usa internamente) com TLS fingerprint de Chrome. Sem browser, sem Cloudflare, sem proxy obrigatório. Resultado: ~100 imóveis em poucos segundos com 100% dos campos preenchidos.
O que extrai
| Campo | Descrição |
|---|---|
id / externalId | IDs do imóvel |
title | Título do anúncio (o do portal quando disponível; senão montado a partir dos dados do imóvel) |
description | Descrição. Vem completa quando o anúncio é buscado por listingUrls; na busca costuma vir null, porque o portal não a entrega na listagem |
listingType | SALE (venda) ou RENTAL (aluguel) |
unitType | Tipo real do imóvel: APARTMENT, HOME, CONDOMINIUM, PENTHOUSE, FLAT, KITNET, OFFICE etc |
unitTypeLabel | Tipo em português: Apartamento, Casa, Cobertura etc |
unitSubTypes | Subtipos informados pelo anunciante (DUPLEX, PENTHOUSE, SINGLE_STOREY_HOUSE etc) |
usageType | RESIDENTIAL ou COMMERCIAL |
propertyType | Campo bruto do portal (quase sempre UNIT); use unitType |
price | Preço em BRL |
condoFee | Condomínio mensal |
iptu | IPTU anual |
usableArea / totalArea | Área útil e total em m² |
bedrooms / bathrooms | Quartos e banheiros |
parkingSpaces | Vagas de garagem |
suites | Suítes |
street / neighborhood / city / state / zipCode | Endereço completo |
lat / lng | Coordenadas geográficas |
amenities | Lista de comodidades |
images | URLs das imagens (ver nota abaixo) |
advertiserName / advertiserPhones | Dados do anunciante |
whatsapp | WhatsApp do anunciante |
url | Link do imóvel no portal |
createdAt / updatedAt | Datas de publicação e atualização |
source | api (busca, resultado completo e paginado), ssr (só a primeira página, quando a API do portal bloqueia o run) ou detail (anúncio buscado por listingUrls) |
Nota sobre imagens: a API de listagem do portal não expõe as imagens. Na busca, o Actor as recupera da primeira página de resultados, então os imóveis das páginas seguintes podem vir com
imagesvazio. Um imóvel buscado porlistingUrlsvem com todas as imagens. Todos os outros campos (preço, condomínio, IPTU, área, quartos, endereço, coordenadas, telefones e WhatsApp do anunciante) são retornados normalmente.
Proxy: este Actor usa proxy residencial por padrão para evitar o bloqueio anti-bot (Cloudflare) do portal. Mantenha essa configuração. Se você informar outro proxy e ele for bloqueado (HTTP 403), o Actor troca sozinho para o residencial padrão no restante do run.
Resultado parcial: se a API do portal bloquear o run mesmo assim, o Actor devolve a primeira página de resultados lida da própria página de busca (com coordenadas, endereço, IPTU, condomínio e anunciante). Nesse caso os itens vêm com
source: "ssr"e a mensagem de status do run começa comSSR fallback, partial data. Rode de novo para obter o resultado completo.
Como usar
Parâmetros de entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
location | string | ✅ (ou listingUrls) | Cidade, URL de busca do VivaReal ou URL de busca do ZAP Imóveis |
listingUrls | array | ❌ | Anúncios específicos: URL do anúncio ou só o ID, um por item. Pode ser usado sozinho ou junto com location |
unitTypes | array | ❌ | Filtra por tipo de imóvel, ex.: ["HOME"] ou ["APARTMENT", "PENTHOUSE"]. Vale para qualquer location e tem prioridade sobre o tipo da URL |
maxItems | number | ❌ | Máximo de imóveis da busca (padrão: 100). Não limita listingUrls |
Exemplos de location
São Paulosao-paulohttps://www.vivareal.com.br/venda/sp/sao-paulo/https://www.vivareal.com.br/aluguel/rj/rio-de-janeiro/apartamento_residencial/https://www.zapimoveis.com.br/venda/imoveis/sp+sao-paulo/https://www.vivareal.com.br/venda/ceara/fortaleza/bairros/meireles/casa_residencial/https://www.vivareal.com.br/venda/ceara/fortaleza/bairros/meireles/rua-coronel-juca/https://www.zapimoveis.com.br/venda/casas/ce+fortaleza++meireles/
Filtro por tipo de imóvel
O tipo pode vir da URL (/casa_residencial/ no VivaReal, /casas/ no ZAP) ou do parâmetro unitTypes. O resultado traz só imóveis do tipo pedido. Se o portal não aplicar o filtro, o Actor não devolve (nem cobra) imóveis de outro tipo e avisa na mensagem de status do run.
URLs de bairro e de rua também são respeitadas: uma URL de rua retorna só os imóveis daquela rua.
Filtros de preço, área e cômodos
Os filtros que o portal coloca na URL da busca são aplicados: precoMinimo, precoMaximo, areaMinima, areaMaxima, quartos, banheiros, vagas, precoMinimoCondo, precoMaximoCondo e precoTotal. Exemplo:
https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/?precoMinimo=500000&precoMaximo=600000&areaMinima=60&areaMaxima=80&quartos=2
Filtros da URL que o Actor não aplica (por exemplo amenities) aparecem em um aviso no log do run.
Anúncios específicos (listingUrls)
Para buscar um ou mais anúncios pelo link ou pelo ID:
{"listingUrls": ["https://www.vivareal.com.br/imovel/apartamento-3-quartos-coco-bairros-fortaleza-com-garagem-194m2-venda-RS2400000-id-2895350242/","2899301004"]}
Cada anúncio volta com rua e número, coordenadas, preço, condomínio, IPTU, área, todas as imagens, anunciante, descrição completa e datas de publicação e atualização, com source: "detail". Uma URL de anúncio colada no campo location funciona do mesmo jeito. Anúncio removido ou ID inválido não gera item (e não é cobrado): ele aparece na mensagem de status do run.
Exemplo de input
{"location": "https://www.vivareal.com.br/venda/sp/sao-paulo/","unitTypes": ["HOME"],"maxItems": 200}
Preços
Modelo Pay Per Event: você paga pelo que extrair.
- US$ 0,0025 por imóvel extraído (US$ 2,50 por 1.000 imóveis), seja da busca ou de
listingUrls - US$ 0,00005 por início de run (uma vez por run, por GB de memória)
Imóvel que não é retornado (anúncio removido, ID inválido, item fora do filtro) não é cobrado.
Portais suportados
- ✅ VivaReal (
vivareal.com.br) - ✅ ZAP Imóveis (
zapimoveis.com.br)
Notas
- Requer proxy residencial brasileiro para melhor performance (Apify Residential Proxy)
- Dados reais diretos da API interna dos portais
- Taxa de sucesso: ~100% com proxy ativo