Brazil Real Estate Multi-Portal Scraper (Delta Mode) avatar

Brazil Real Estate Multi-Portal Scraper (Delta Mode)

Pricing

from $3.00 / 1,000 listing overviews

Go to Apify Store
Brazil Real Estate Multi-Portal Scraper (Delta Mode)

Brazil Real Estate Multi-Portal Scraper (Delta Mode)

Extract Brazil property listings from OLX Imóveis and QuintoAndar with price/m², GPS coordinates, and incremental delta monitoring to track new listings and price changes.

Pricing

from $3.00 / 1,000 listing overviews

Rating

5.0

(1)

Developer

Erick Bonilla

Erick Bonilla

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Brazil Real Estate Multi-Portal Scraper — OLX + QuintoAndar — Delta Mode

95%+ success rate · Maintained · Delta mode (NEW/UPDATED/REMOVED) · GPS coordinates

Extrae propiedades de OLX Imóveis y QuintoAndar con precio/m² calculado, coordenadas GPS, y modo delta incremental para detectar nuevas propiedades y cambios de precio entre runs.


Brazil Real Estate Multi-Portal Scraper — OLX + QuintoAndar — Delta Mode

Scrape property listings from OLX Imóveis and QuintoAndar — Brazil's top real estate portals — with price-per-m² calculated, GPS coordinates (exact from QuintoAndar, postal-code centroid from OLX), and incremental delta monitoring to track new listings, price changes and removed properties across runs.


Portais suportados / Supported Portals

PortalMotorGPSContato vendedorVolume
OLX ImóveisCheerioCrawler (HTML SSR)Via Nominatim (CEP)Nome + UUID público~2M anúncios BR
QuintoAndarCheerioCrawler (__NEXT_DATA__)Nativo (lat/lon exatos)Marketplace direto~60k anúncios SP
ImovelWebv1.1 (roadmap)

Modos de operação / Operation Modes

FULL (default)

Extrae todos os listings até maxListings. O snapshot é salvo no KV Store ao final de cada run FULL para que o próximo run possa ser DELTA.

DELTA — o diferencial

Compara o inventário atual com o run anterior e emite apenas:

  • NEW — listings que não existiam no snapshot anterior
  • UPDATED — listings com mudança de preço desde o último run
  • REMOVED — listings presentes antes e ausentes agora

O estado persiste em um Named Key-Value Store entre runs. Cinco READMEs de competidores prometem modo delta — nenhum o implementa. Este actor implementa.

Casos de uso do modo DELTA:

  • Alertas de queda de preço em imóveis monitorados
  • Feed de imóveis novos para CRM via webhook do Apify
  • Tracking semanal de inventário por bairro e tipo
  • Monitoramento de concorrência: quais imobiliárias publicam mais anúncios novos

Campos do output / Output Fields

Sempre disponíveis (overview card)

CampoTipoDescrição
idstringID único no portal de origem
portalIdstring"olx" ou "quintoandar"
urlstringURL canônica do anúncio
runIdstringActor Run ID (para séries temporais)
snapshotDatestringISO 8601 timestamp da extração
transactionTypestringsale / rent / vacation_rental
propertyTypestringapartment / house / land / commercial / other
propertyTypeRawstringValor bruto do portal
priceAmountnumberPreço em BRL
priceCurrencystring"BRL"
pricePerM2numberBRL/m² (calculado)
areaM2numberÁrea útil em m²
bedroomsintegerQuartos
parkingSpotsintegerVagas de garagem
neighbourhoodstringBairro
citystringCidade
statestringUF (2 letras)
postalCodestringCEP sem traço (só OLX)
latitudenumberLat WGS84
longitudenumberLon WGS84
gpsAccuracystring"exact" (QA) / "postal_code_centroid" (OLX)
isPrimaryMarketbooleantrue se lançamento/obra nova
sellerNamestringNome do anunciante (só OLX)
photosarrayURLs das fotos em resolução original
deltaStatusstringNEW / UPDATED / REMOVED / null

Com includeDetails: true

CampoDescrição
bathroomsBanheiros (disponível no detalhe)
suitesSuítes (só QuintoAndar)
condoFeeCondomínio mensal em BRL
iptuAnnualIPTU anual em BRL
rentMonthlyTotalCusto mensal total em aluguel
hasFurnitureMobiliado (só QuintoAndar)
acceptsPetsAceita pets (só QuintoAndar)
doormanTipo de portaria (só QuintoAndar)
constructionYearAno de construção (só QuintoAndar)
floorAndar da unidade (só QuintoAndar)
propertyFeaturesAmenidades internas do imóvel
condoFeaturesAmenidades do condomínio
sellerPublicIdUUID público do anunciante (só OLX)
isProfessionalAdtrue se anunciante profissional (só OLX)
publicationDateData de primeira publicação

Com includeDescription: true

CampoDescrição
descriptionDescrição textual completa do imóvel

Só em modo DELTA

CampoDescrição
deltaStatusNEW / UPDATED / REMOVED
previousPricePreço anterior (só em UPDATED)
isDeltaSummarytrue no primeiro record (resumo de counts)

Preços (Pay per Event)

EscenárioCusto por 1K listings
Overview only (includeDetails: false)$3.00
Overview + detalhe (includeDetails: true)$4.00
vs. incumbente (viralanalyzer)$5.00 com 51.5% de taxa de sucesso

Nota sobre campos mascarados

  • Telefone do vendedor (OLX): aparece somente na UI autenticada. O actor emite null em v1.0. Não se fabricam dados parciais.
  • IPTU (OLX): quando mascarado no HTML, emite null com nota no log.
  • CEP (QuintoAndar): não é exposto pelo portal. postalCode é sempre null para QA.
  • adDate (OLX): o campo retorna epoch interno (ex: "1970-01-21 12:24:32") — não é uma data absoluta confiável. publicationDate é null para OLX em v1.0 até confirmar campo alternativo.

ImovelWeb — v1.1 Roadmap

ImovelWeb é o portal de maior volume do Brasil mas requer bypass de Cloudflare Turnstile + DataDome com Scrapfly/Zyte + proxy residencial BR. Está fora de v1.0 por decisão deliberada: publicar rápido e agregar o portal de maior volume em iteração curta.


Configuração de proxy

Para producción, usar Apify Proxy com grupo RESIDENTIAL e país BR:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "BR"
}
}

OLX não requer proxy para volumes baixos (<500 requests/run). QuintoAndar é mais tolerante — pode rodar sem proxy em testes.


Modo delta — Primeiro run

O primeiro run DELTA não tem snapshot anterior. Todos os listings saem como NEW e o snapshot é salvo como linha de base. O run seguinte já detecta mudanças.


ViaCEP + Nominatim — GPS para OLX

OLX não expõe coordenadas GPS. O actor usa:

  1. ViaCEP para validar o CEP (03044000 → valido)
  2. Nominatim (OpenStreetMap, gratuito, sem auth) para geocodificar o CEP → centroide
  3. Cache em memória por CEP para evitar re-fetch no mesmo run

Precisão: centroide do CEP (~200-500m do endereço real). Documentado no campo gpsAccuracy.

Para runs com >500 listings OLX, Nominatim (rate limit: 1 req/seg) pode ser o bottleneck. Opção: desativar geocoding via input (geocodeOlxCep: false — v1.1).