Brazil Real Estate Multi-Portal Scraper (Delta Mode)
Pricing
from $3.00 / 1,000 listing overviews
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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
| Portal | Motor | GPS | Contato vendedor | Volume |
|---|---|---|---|---|
| OLX Imóveis | CheerioCrawler (HTML SSR) | Via Nominatim (CEP) | Nome + UUID público | ~2M anúncios BR |
| QuintoAndar | CheerioCrawler (__NEXT_DATA__) | Nativo (lat/lon exatos) | Marketplace direto | ~60k anúncios SP |
| ImovelWeb | — | — | — | v1.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 anteriorUPDATED— listings com mudança de preço desde o último runREMOVED— 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)
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único no portal de origem |
portalId | string | "olx" ou "quintoandar" |
url | string | URL canônica do anúncio |
runId | string | Actor Run ID (para séries temporais) |
snapshotDate | string | ISO 8601 timestamp da extração |
transactionType | string | sale / rent / vacation_rental |
propertyType | string | apartment / house / land / commercial / other |
propertyTypeRaw | string | Valor bruto do portal |
priceAmount | number | Preço em BRL |
priceCurrency | string | "BRL" |
pricePerM2 | number | BRL/m² (calculado) |
areaM2 | number | Área útil em m² |
bedrooms | integer | Quartos |
parkingSpots | integer | Vagas de garagem |
neighbourhood | string | Bairro |
city | string | Cidade |
state | string | UF (2 letras) |
postalCode | string | CEP sem traço (só OLX) |
latitude | number | Lat WGS84 |
longitude | number | Lon WGS84 |
gpsAccuracy | string | "exact" (QA) / "postal_code_centroid" (OLX) |
isPrimaryMarket | boolean | true se lançamento/obra nova |
sellerName | string | Nome do anunciante (só OLX) |
photos | array | URLs das fotos em resolução original |
deltaStatus | string | NEW / UPDATED / REMOVED / null |
Com includeDetails: true
| Campo | Descrição |
|---|---|
bathrooms | Banheiros (disponível no detalhe) |
suites | Suítes (só QuintoAndar) |
condoFee | Condomínio mensal em BRL |
iptuAnnual | IPTU anual em BRL |
rentMonthlyTotal | Custo mensal total em aluguel |
hasFurniture | Mobiliado (só QuintoAndar) |
acceptsPets | Aceita pets (só QuintoAndar) |
doorman | Tipo de portaria (só QuintoAndar) |
constructionYear | Ano de construção (só QuintoAndar) |
floor | Andar da unidade (só QuintoAndar) |
propertyFeatures | Amenidades internas do imóvel |
condoFeatures | Amenidades do condomínio |
sellerPublicId | UUID público do anunciante (só OLX) |
isProfessionalAd | true se anunciante profissional (só OLX) |
publicationDate | Data de primeira publicação |
Com includeDescription: true
| Campo | Descrição |
|---|---|
description | Descrição textual completa do imóvel |
Só em modo DELTA
| Campo | Descrição |
|---|---|
deltaStatus | NEW / UPDATED / REMOVED |
previousPrice | Preço anterior (só em UPDATED) |
isDeltaSummary | true no primeiro record (resumo de counts) |
Preços (Pay per Event)
| Escenário | Custo 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
nullem v1.0. Não se fabricam dados parciais. - IPTU (OLX): quando mascarado no HTML, emite
nullcom nota no log. - CEP (QuintoAndar): não é exposto pelo portal.
postalCodeé semprenullpara QA. adDate(OLX): o campo retorna epoch interno (ex:"1970-01-21 12:24:32") — não é uma data absoluta confiável.publicationDateénullpara 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:
- ViaCEP para validar o CEP (
03044000→ valido) - Nominatim (OpenStreetMap, gratuito, sem auth) para geocodificar o CEP → centroide
- 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).