VivaReal Brazil Real Estate Scraper | Property Listings API
Pricing
from $6.15 / 1,000 results
VivaReal Brazil Real Estate Scraper | Property Listings API
Scrape VivaReal Brazil property listings for sale and rent (imoveis a venda e aluguel). Get price, condo fee, IPTU, area, bedrooms, address, GPS, photos, amenities and advertiser contacts (phone, WhatsApp, CRECI). Filter by city, price, type, bedrooms. Export JSON, CSV, Excel. Run via API.
Pricing
from $6.15 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
VivaReal Brazil Real Estate Scraper | Property Listings & Imoveis API
Scrape VivaReal Brazil (vivareal.com.br, Grupo ZAP / OLX) property listings for sale and rent (imoveis a venda e aluguel) and export clean, structured Brazil real estate data: price, condominio fee, IPTU, area, bedrooms, bathrooms, address, GPS coordinates, photos, amenities and full advertiser contacts (phone, WhatsApp, CRECI license). Search by city, neighborhood, or a VivaReal URL, filter exactly what you need, and pull results as JSON, CSV or Excel, or run it via API.
Here is one real result, with every field the actor returns (images and amenities trimmed for space; all other values are exactly as returned):
{"listingId": "2718283450","externalId": "01014","title": "Apartamento a venda com 65m², 2 dormitorios e 1 vaga no Condominio Ideal","url": "https://www.vivareal.com.br/imovel/apartamento-2-quartos-cambuci-zona-sul-sao-paulo-com-garagem-65m2-venda-RS595000-id-2718283450/","imageUrl": "https://resizedimgs.vivareal.com/img/vr-listing/63159dab.../crop.jpg?action=&dimension=870x653","price": 595000,"currency": "BRL","condoFee": 441,"iptu": 890,"totalMonthlyPrice": null,"pricePerM2": 9153.85,"showPrice": true,"acceptExchange": false,"operationType": "venda","propertyType": "APARTMENT","usageType": "RESIDENTIAL","listingType": "USED","publicationType": "PREMIUM","isDevelopment": false,"isHighlighted": true,"constructionStatus": "ConstructionStatus_NONE","bedrooms": 2,"bathrooms": 1,"suites": 0,"parkingSpaces": 1,"usableAreaM2": 65,"totalAreaM2": 65,"floors": 13,"unitFloor": 1,"unitsOnTheFloor": 4,"neighborhood": "Cambuci","city": "Sao Paulo","state": "Sao Paulo","stateAcronym": "SP","zone": "Centro","street": "Rua Dona Ana Neri","streetNumber": "581","zipCode": "01522000","latitude": -23.559503,"longitude": -46.615471,"advertiser": "Santucci Broker Negocios Imobiliarios","advertiserId": "577d7ddd-6a3a-e2a3-b3da-31a3916c371c","advertiserLegacyId": "287555","advertiserType": "AGENCY","advertiserTier": "gold","advertiserVerified": true,"advertiserCreci": "31016-J-SP","advertiserSince": "2018-03-28T04:58:41Z","advertiserUrl": "https://www.vivareal.com.br/imobiliaria/287555/","advertiserLogo": "https://resizedimgs.vivareal.com/img/vr-listing/7af24518.../crop.jpg?action=&dimension=300x300","advertiserPhone": "11999782608","advertiserWhatsapp": "11999782608","videoTourLink": "https://my.matterport.com/show/?m=XTbnhrm","publishedAt": "2024-05-29T20:07:12.572Z","updatedAt": "2026-08-26T17:47:06.754Z","description": "Apartamento finamente reformado, decorado, a venda no Cambuci com 2 dormitorios...","amenities": ["POOL", "GYM", "ELEVATOR", "PARTY_HALL", "GATED_COMMUNITY", "BARBECUE_GRILL"],"images": ["https://resizedimgs.vivareal.com/img/vr-listing/63159dab.../crop.jpg?action=&dimension=870x653"],"observedAt": "2026-09-04T22:51:59.827Z","error": null}
The most complete VivaReal scraper available: it returns every field the listing card and detail page expose, plus derived fields like pricePerM2, totalMonthlyPrice and advertiserType, and lets you search by location or URL with filters for operation, property type, price, bedrooms, bathrooms, parking, area and amenities so you target exactly the listings you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this scraper
- Quickstart
- Input reference
- Output reference
- Comparison with other VivaReal scrapers
- Use cases
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches VivaReal Brazil by location (or a search URL you paste), paginates through the results, and writes one normalized record per property listing to the run's dataset. Prices are parsed into a numeric price plus currency; monthly condoFee and yearly iptu are separated out; area and price are combined into pricePerM2 for valuation; and the location is split into neighborhood, city, state, stateAcronym, zone, street, streetNumber, zipCode and GPS latitude/longitude. With withDetails enabled, each listing is enriched with the full description, complete images gallery and amenities list.
Data covers VivaReal Brazil property listings only (sale and rent, used and new developments). You control coverage with the location or a search URL, and the filters below.
Why this scraper
- Every field, honest nulls. Card and detail fields in one pass: price breakdown (price, condo fee, IPTU, total monthly), area, rooms, floor, exact address, coordinates, advertiser identity and contacts.
- Advertiser intelligence.
advertiserType(agency / developer / owner),advertiserTier,advertiserVerified,advertiserCreci(real-estate license),advertiserSince, plus directadvertiserPhoneandadvertiserWhatsappfor lead generation. - Valuation ready.
pricePerM2andtotalMonthlyPrice(rent + condo + IPTU) computed for you. - Precise targeting. Filter by city, operation, property type, price range, bedrooms, bathrooms, parking, area range and amenities.
- Flexible input. A plain city name, or paste any VivaReal search URL, or batch many with filters.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 apartments for sale in Sao Paulo, enriched with advertiser contacts and coordinates.
{"searchTerm": "Sao Paulo","business": "SALE","unitType": "APARTMENT","maxListings": 10,"withDetails": true}
Every field is optional except a location or URL. Pass a startUrl to reuse a filtered VivaReal search URL (it overrides the location and operation fields), or set business to RENTAL for rentals.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerm | string | yes* | Sao Paulo | City or neighborhood to search, for example Sao Paulo, Rio de Janeiro, Copacabana. Resolved automatically to the matching VivaReal location. |
startUrl | string | yes* | (none) | A VivaReal search results URL. The location, operation, and property type are read from the URL and override the filter fields. |
business | enum | no | SALE | Operation: SALE (venda) or RENTAL (aluguel). |
listingType | enum | no | USED | USED (resale) or DEVELOPMENT (new developments). |
unitType | enum | no | APARTMENT | Property type: APARTMENT, HOME, PENTHOUSE, ALLOTMENT_LAND, FARM, RESIDENTIAL_BUILDING, or ANY. |
maxListings | integer | no | 10 | Maximum number of listings to collect. |
withDetails | boolean | no | true | When enabled, each listing also includes description, full image gallery and amenities (paying plans). |
minPrice / maxPrice | integer | no | (none) | Price range in BRL. |
minBedrooms / maxBedrooms | integer | no | (none) | Bedroom range. |
minBathrooms | integer | no | (none) | Minimum bathrooms. |
minParking | integer | no | (none) | Minimum parking spaces. |
minArea / maxArea | integer | no | (none) | Usable area range in square metres. |
amenities | string[] | no | (none) | Only return listings that have ALL of these amenity codes (e.g. POOL, GYM, ELEVATOR). |
*One of searchTerm or startUrl is required.
Output reference
One dataset item per listing. Types: string, number, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
listingId | string | VivaReal listing ID (deduplication key). |
externalId | string | Advertiser reference / external ID. |
url | string | Full URL of the listing detail page. |
title | string | Listing title. |
price | number | Asking price (sale) or monthly rent (rental). |
currency | string | Currency of the price (BRL). |
condoFee | number | Monthly condominium fee (BRL). |
iptu | number | Yearly property tax, IPTU (BRL). |
totalMonthlyPrice | number | All-in monthly cost for rentals (rent + condo + IPTU), or null for sales. |
pricePerM2 | number | Price per usable square metre (BRL). |
showPrice | boolean | Whether the price is publicly shown. |
acceptExchange | boolean | Whether the seller accepts a property exchange (permuta). |
operationType | string | venda (sale) or aluguel (rent). |
propertyType | string | Property type (APARTMENT, HOME, PENTHOUSE, and so on). |
propertySubType | string | Property sub-type, when present. |
usageType | string | RESIDENTIAL or COMMERCIAL. |
listingType | string | USED (resale) or DEVELOPMENT (new). |
publicationType | string | Publication tier (STANDARD, PREMIUM, SUPER_PREMIUM). |
isDevelopment | boolean | True for new-development listings. |
isHighlighted | boolean | True for premium / highlighted listings. |
constructionStatus | string | Construction status. |
bedrooms | number | Number of bedrooms. |
bathrooms | number | Number of bathrooms. |
suites | number | Number of en-suite bedrooms. |
parkingSpaces | number | Number of parking spaces. |
usableAreaM2 | number | Usable area in square metres. |
totalAreaM2 | number | Total area in square metres. |
floors | number | Number of floors in the building. |
unitFloor | number | Floor the unit is on (0 = ground floor). |
unitsOnTheFloor | number | Units per floor. |
condominiumName | string | Condominium / building name. |
neighborhood | string | Neighborhood / bairro. |
city | string | City. |
state | string | Brazilian state. |
stateAcronym | string | State acronym (e.g. SP). |
zone | string | City zone (for example Zona Oeste). |
street | string | Street name. |
streetNumber | string | Street number. |
zipCode | string | Postal code (CEP). |
latitude | number | GPS latitude. |
longitude | number | GPS longitude. |
advertiser | string | Advertiser / agency name. |
advertiserId | string | Advertiser account ID. |
advertiserLegacyId | string | Advertiser legacy VivaReal ID. |
advertiserType | string | AGENCY, DEVELOPER, or OWNER. |
advertiserTier | string | Advertiser subscription tier. |
advertiserVerified | boolean | Whether the advertiser is verified. |
advertiserCreci | string | Advertiser CRECI real-estate license number. |
advertiserSince | string | Advertiser account creation date. |
advertiserWebsite | string | Advertiser website URL. |
advertiserUrl | string | Advertiser profile URL on VivaReal. |
advertiserLogo | string | Advertiser logo image URL. |
advertiserPhone | string | Advertiser phone. |
advertiserWhatsapp | string | Advertiser WhatsApp / mobile. |
videoTourLink | string | Video tour URL, when present. |
imageUrl | string | Primary listing image URL. |
images | string[] | Full image gallery URLs (detail). |
amenities | string[] | Amenity codes (detail). |
description | string | Listing description text (detail). |
publishedAt | string | Publication timestamp. |
updatedAt | string | Last update timestamp. |
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. |
Comparison with other VivaReal scrapers
| Capability | This actor | fatihtahta/vivareal-scraper | gio21/vivareal-zap-scraper | stealth_mode/vivareal-property-search |
|---|---|---|---|---|
| Search by city / neighborhood | Yes | Yes | Yes | No (URL only) |
| Search by VivaReal URL | Yes | No | No | Yes |
| Filter operation / type | Yes | Yes | No | No |
| Filters: price, beds, baths, parking, area | Yes | Yes | No | No |
| Filter by amenities | Yes | Yes | No | No |
| Price + condo fee + IPTU split | Yes | Partial | No | Partial |
totalMonthlyPrice (all-in rent) | Yes | No | No | No |
pricePerM2 | Yes | No | No | No |
| GPS coordinates | Yes | Partial | No | Partial |
| Advertiser phone + WhatsApp | Yes | Partial | No | Partial |
| Advertiser type / tier / verified / CRECI | Yes | No | No | No |
| Full image gallery + amenities | Yes | Partial | Partial | Partial |
| No charge on failure / spend cap | Yes | Varies | Varies | Varies |
This actor accepts every input the listed competitors accept and returns a strict superset of their output fields, adding the price breakdown, totalMonthlyPrice, pricePerM2, advertiser identity block (type, tier, verified, CRECI) and full contacts.
Use cases
- Real estate lead generation in Brazil: harvest agency and owner phone, WhatsApp and CRECI license from live listings.
- Market and price analysis: track
pricePerM2, condo fees and asking prices by city, neighborhood and zone. - Property portals and aggregators: feed a search index of imoveis a venda e aluguel with clean, deduplicated records.
- Investment sourcing: filter by area, price and amenities to find undervalued apartamentos e casas.
- CRM enrichment: attach coordinates, images and advertiser identity to your existing pipeline.
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~vivareal-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerm":"Sao Paulo","business":"SALE","unitType":"APARTMENT","maxListings":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vivareal-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/","maxListings":100}'
Apify CLI:
apify call scrapers_lat/vivareal-scraper \--input '{"searchTerm":"Rio de Janeiro","business":"RENTAL","maxListings":20}'
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.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). WithwithDetailsa per-recorddetailsevent covers the description, full gallery and amenities. See the pricing tab for current prices. - 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 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 and receive card-level records only. Upgrade for higher
maxListingsand detail enrichment. - Source pagination ceiling. VivaReal caps deep pagination; very large single searches end when the source stops returning pages. Split with tighter filters or separate locations for bigger pulls.
FAQ and troubleshooting
A run returned 0 records. Why?
The location did not resolve, or the filters removed everything. Confirm the searchTerm matches a real VivaReal location, or paste a working startUrl, and loosen price/bedroom/area filters. Zero-result runs are not charged.
How do I get advertiser phone numbers and coordinates?
Coordinates and advertiser phone / WhatsApp are on every record. Keep withDetails enabled to also get the full description, image gallery and amenities.
Can I reuse a filtered search from the website?
Yes. Copy the VivaReal search URL after applying your filters and pass it as startUrl. It overrides the location, operation, and property-type fields.
Why is totalMonthlyPrice null?
That field only applies to rentals (rent + condo + IPTU). For sale listings it is null. Missing values are returned as null, never invented.
What is pricePerM2?
The price divided by the usable area, in BRL. It is the standard comparable metric for valuing property against similar listings.
Is this an official VivaReal tool? No. This actor is independent and has no affiliation with VivaReal or Grupo ZAP. It reads only data that is publicly available on the website.
Related scrapers
- ZAP Imoveis Brazil Real Estate Scraper: the sibling ZAP portal, same Brazil coverage.
- QuintoAndar Brazil Real Estate Scraper: Brazil rentals and sales from QuintoAndar.
- OLX Brazil Scraper: Brazil classifieds including real estate.
- Inmuebles24 Mexico Real Estate Scraper: Mexico property listings and agent contacts.
- AdondeVivir Peru Real Estate Scraper: Peru property listings.
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.
Independent tool, not affiliated with VivaReal. Accesses only publicly available listing data.
Raspador de Imoveis VivaReal Brasil | API de Anuncios e Imoveis
Extraia anuncios de imoveis do VivaReal Brasil (vivareal.com.br, Grupo ZAP / OLX) para venda e aluguel (imoveis a venda e aluguel) e exporte dados imobiliarios do Brasil limpos e estruturados: preco, condominio, IPTU, area, quartos, banheiros, endereco, coordenadas GPS, fotos, comodidades e contatos do anunciante (telefone, WhatsApp, CRECI). Busque por cidade, bairro ou uma URL do VivaReal, filtre exatamente o que precisa e baixe os resultados em JSON, CSV ou Excel, ou rode via API.
Veja um resultado real, com todos os campos que o ator retorna (images e amenities reduzidos por espaco; os demais valores sao exatamente como retornados):
{"listingId": "2718283450","externalId": "01014","title": "Apartamento a venda com 65m², 2 dormitorios e 1 vaga no Condominio Ideal","url": "https://www.vivareal.com.br/imovel/apartamento-2-quartos-cambuci-zona-sul-sao-paulo-com-garagem-65m2-venda-RS595000-id-2718283450/","price": 595000,"currency": "BRL","condoFee": 441,"iptu": 890,"pricePerM2": 9153.85,"operationType": "venda","propertyType": "APARTMENT","listingType": "USED","publicationType": "PREMIUM","bedrooms": 2,"bathrooms": 1,"suites": 0,"parkingSpaces": 1,"usableAreaM2": 65,"unitFloor": 1,"neighborhood": "Cambuci","city": "Sao Paulo","state": "Sao Paulo","zone": "Centro","zipCode": "01522000","latitude": -23.559503,"longitude": -46.615471,"advertiser": "Santucci Broker Negocios Imobiliarios","advertiserType": "AGENCY","advertiserTier": "gold","advertiserVerified": true,"advertiserCreci": "31016-J-SP","advertiserPhone": "11999782608","advertiserWhatsapp": "11999782608","amenities": ["POOL", "GYM", "ELEVATOR", "PARTY_HALL", "GATED_COMMUNITY", "BARBECUE_GRILL"],"observedAt": "2026-09-04T22:51:59.827Z","error": null}
O raspador do VivaReal mais completo disponivel: retorna todos os campos do card e da pagina de detalhe, mais campos derivados como pricePerM2, totalMonthlyPrice e advertiserType, e permite buscar por localizacao ou URL com filtros de operacao, tipo de imovel, preco, quartos, banheiros, vagas, area e comodidades para focar exatamente nos anuncios que voce precisa.
📥 Entrada · 📤 Saida · 💰 Precos · ▶️ Exemplos
Indice
- O que faz
- Por que este raspador
- Inicio rapido
- Referencia de entrada
- Referencia de saida
- Comparacao com outros raspadores do VivaReal
- Casos de uso
- Rodar via API e CLI
- Baixar resultados
- Cobranca e limites
- FAQ e solucao de problemas
O que faz
O ator busca no VivaReal Brasil por localizacao (ou uma URL de busca que voce cola), pagina pelos resultados e grava um registro normalizado por anuncio no dataset da execucao. O preco e convertido em price numerico mais currency; o condoFee mensal e o iptu anual sao separados; area e preco sao combinados em pricePerM2 para avaliacao; e a localizacao e dividida em neighborhood, city, state, stateAcronym, zone, street, streetNumber, zipCode e coordenadas GPS latitude/longitude. Com withDetails ativado, cada anuncio e enriquecido com a description completa, a galeria images inteira e a lista de amenities.
Os dados cobrem apenas anuncios do VivaReal Brasil (venda e aluguel, usados e lancamentos). Voce controla a cobertura com a localizacao ou uma URL de busca, e os filtros abaixo.
Por que este raspador
- Todos os campos, nulos honestos. Campos do card e do detalhe em uma so passada: preco detalhado (preco, condominio, IPTU, total mensal), area, comodos, andar, endereco exato, coordenadas, identidade e contatos do anunciante.
- Inteligencia do anunciante.
advertiserType(imobiliaria / construtora / proprietario),advertiserTier,advertiserVerified,advertiserCreci(licenca imobiliaria),advertiserSince, maisadvertiserPhoneeadvertiserWhatsappdiretos para geracao de leads. - Pronto para avaliacao.
pricePerM2etotalMonthlyPrice(aluguel + condominio + IPTU) calculados para voce. - Segmentacao precisa. Filtre por cidade, operacao, tipo de imovel, faixa de preco, quartos, banheiros, vagas, faixa de area e comodidades.
- Entrada flexivel. Um nome de cidade, ou cole qualquer URL de busca do VivaReal, ou processe varias com filtros.
Inicio rapido
Abra o ator, cole isto na entrada e clique em Run. Retorna 10 apartamentos a venda em Sao Paulo, com contatos do anunciante e coordenadas.
{"searchTerm": "Sao Paulo","business": "SALE","unitType": "APARTMENT","maxListings": 10,"withDetails": true}
Todos os campos sao opcionais, exceto uma localizacao ou URL. Passe um startUrl para reutilizar uma URL de busca filtrada do VivaReal (ela sobrepoe os campos de localizacao e operacao), ou defina business como RENTAL para aluguel.
Referencia de entrada
| Campo | Tipo | Obrigatorio | Padrao | Descricao |
|---|---|---|---|---|
searchTerm | string | sim* | Sao Paulo | Cidade ou bairro para buscar, por exemplo Sao Paulo, Rio de Janeiro, Copacabana. Resolvido automaticamente para a localizacao do VivaReal. |
startUrl | string | sim* | (nenhum) | Uma URL de resultados de busca do VivaReal. Localizacao, operacao e tipo de imovel sao lidos da URL e sobrepoem os filtros. |
business | enum | nao | SALE | Operacao: SALE (venda) ou RENTAL (aluguel). |
listingType | enum | nao | USED | USED (revenda) ou DEVELOPMENT (lancamentos). |
unitType | enum | nao | APARTMENT | Tipo de imovel: APARTMENT, HOME, PENTHOUSE, ALLOTMENT_LAND, FARM, RESIDENTIAL_BUILDING ou ANY. |
maxListings | integer | nao | 10 | Numero maximo de anuncios a coletar. |
withDetails | boolean | nao | true | Quando ativo, cada anuncio tambem inclui descricao, galeria completa e comodidades (planos pagos). |
minPrice / maxPrice | integer | nao | (nenhum) | Faixa de preco em BRL. |
minBedrooms / maxBedrooms | integer | nao | (nenhum) | Faixa de quartos. |
minBathrooms | integer | nao | (nenhum) | Minimo de banheiros. |
minParking | integer | nao | (nenhum) | Minimo de vagas de garagem. |
minArea / maxArea | integer | nao | (nenhum) | Faixa de area util em metros quadrados. |
amenities | string[] | nao | (nenhum) | Retorna apenas anuncios que tenham TODOS estes codigos de comodidade (ex.: POOL, GYM, ELEVATOR). |
*Um de searchTerm ou startUrl e obrigatorio.
Referencia de saida
Um item de dataset por anuncio. Tipos: string, number, boolean, string[] ou null quando o valor de origem esta ausente.
| Campo | Tipo | Descricao |
|---|---|---|
listingId | string | ID do anuncio no VivaReal (chave de deduplicacao). |
externalId | string | Referencia do anunciante / ID externo. |
url | string | URL completa da pagina do anuncio. |
title | string | Titulo do anuncio. |
price | number | Preco de venda ou aluguel mensal. |
currency | string | Moeda do preco (BRL). |
condoFee | number | Taxa de condominio mensal (BRL). |
iptu | number | IPTU anual (BRL). |
totalMonthlyPrice | number | Custo mensal total para aluguel (aluguel + condominio + IPTU), ou null para venda. |
pricePerM2 | number | Preco por metro quadrado util (BRL). |
showPrice | boolean | Se o preco e exibido publicamente. |
acceptExchange | boolean | Se o vendedor aceita permuta. |
operationType | string | venda ou aluguel. |
propertyType | string | Tipo de imovel (APARTMENT, HOME, PENTHOUSE, etc.). |
propertySubType | string | Subtipo de imovel, quando presente. |
usageType | string | RESIDENTIAL ou COMMERCIAL. |
listingType | string | USED (revenda) ou DEVELOPMENT (novo). |
publicationType | string | Nivel de publicacao (STANDARD, PREMIUM, SUPER_PREMIUM). |
isDevelopment | boolean | Verdadeiro para lancamentos. |
isHighlighted | boolean | Verdadeiro para anuncios premium / destacados. |
constructionStatus | string | Status de construcao. |
bedrooms | number | Numero de quartos. |
bathrooms | number | Numero de banheiros. |
suites | number | Numero de suites. |
parkingSpaces | number | Numero de vagas de garagem. |
usableAreaM2 | number | Area util em metros quadrados. |
totalAreaM2 | number | Area total em metros quadrados. |
floors | number | Numero de andares do predio. |
unitFloor | number | Andar da unidade (0 = terreo). |
unitsOnTheFloor | number | Unidades por andar. |
condominiumName | string | Nome do condominio / predio. |
neighborhood | string | Bairro. |
city | string | Cidade. |
state | string | Estado. |
stateAcronym | string | Sigla do estado (ex.: SP). |
zone | string | Zona da cidade (ex.: Zona Oeste). |
street | string | Nome da rua. |
streetNumber | string | Numero. |
zipCode | string | CEP. |
latitude | number | Latitude GPS. |
longitude | number | Longitude GPS. |
advertiser | string | Nome do anunciante / imobiliaria. |
advertiserId | string | ID da conta do anunciante. |
advertiserLegacyId | string | ID legado do anunciante no VivaReal. |
advertiserType | string | AGENCY, DEVELOPER ou OWNER. |
advertiserTier | string | Nivel de assinatura do anunciante. |
advertiserVerified | boolean | Se o anunciante e verificado. |
advertiserCreci | string | Numero de licenca CRECI do anunciante. |
advertiserSince | string | Data de criacao da conta do anunciante. |
advertiserWebsite | string | Site do anunciante. |
advertiserUrl | string | URL do perfil do anunciante no VivaReal. |
advertiserLogo | string | URL do logo do anunciante. |
advertiserPhone | string | Telefone do anunciante. |
advertiserWhatsapp | string | WhatsApp / celular do anunciante. |
videoTourLink | string | URL do tour em video, quando presente. |
imageUrl | string | URL da imagem principal. |
images | string[] | URLs da galeria completa (detalhe). |
amenities | string[] | Codigos de comodidades (detalhe). |
description | string | Texto da descricao do anuncio (detalhe). |
publishedAt | string | Data de publicacao. |
updatedAt | string | Data da ultima atualizacao. |
observedAt | string | Data ISO 8601 da coleta do registro. |
error | string | null em caso de sucesso. Em falha, um unico item com error preenchido e gravado. |
Comparacao com outros raspadores do VivaReal
| Recurso | Este ator | fatihtahta/vivareal-scraper | gio21/vivareal-zap-scraper | stealth_mode/vivareal-property-search |
|---|---|---|---|---|
| Busca por cidade / bairro | Sim | Sim | Sim | Nao (so URL) |
| Busca por URL do VivaReal | Sim | Nao | Nao | Sim |
| Filtro de operacao / tipo | Sim | Sim | Nao | Nao |
| Filtros: preco, quartos, banheiros, vagas, area | Sim | Sim | Nao | Nao |
| Filtro por comodidades | Sim | Sim | Nao | Nao |
| Preco + condominio + IPTU separados | Sim | Parcial | Nao | Parcial |
totalMonthlyPrice (aluguel total) | Sim | Nao | Nao | Nao |
pricePerM2 | Sim | Nao | Nao | Nao |
| Coordenadas GPS | Sim | Parcial | Nao | Parcial |
| Telefone + WhatsApp do anunciante | Sim | Parcial | Nao | Parcial |
| Tipo / nivel / verificado / CRECI do anunciante | Sim | Nao | Nao | Nao |
| Galeria completa + comodidades | Sim | Parcial | Parcial | Parcial |
| Sem cobranca em falha / limite de gasto | Sim | Varia | Varia | Varia |
Este ator aceita todas as entradas que os concorrentes listados aceitam e retorna um superconjunto estrito dos campos de saida deles, adicionando o preco detalhado, totalMonthlyPrice, pricePerM2, o bloco de identidade do anunciante (tipo, nivel, verificado, CRECI) e contatos completos.
Casos de uso
- Geracao de leads imobiliarios no Brasil: colete telefone, WhatsApp e CRECI de imobiliarias e proprietarios a partir de anuncios ao vivo.
- Analise de mercado e precos: acompanhe
pricePerM2, condominio e precos por cidade, bairro e zona. - Portais e agregadores de imoveis: alimente um indice de imoveis a venda e aluguel com registros limpos e deduplicados.
- Prospeccao de investimentos: filtre por area, preco e comodidades para achar apartamentos e casas subavaliados.
- Enriquecimento de CRM: anexe coordenadas, imagens e identidade do anunciante ao seu pipeline.
Rodar via API e CLI
Inicie uma execucao, aguarde terminar e leia o dataset. Substitua <TOKEN> pelo seu token da API da Apify.
Rodar de forma sincrona e obter os itens em uma chamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vivareal-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerm":"Sao Paulo","business":"SALE","unitType":"APARTMENT","maxListings":25,"withDetails":true}'
Iniciar de forma assincrona:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vivareal-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrl":"https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/","maxListings":100}'
Apify CLI:
apify call scrapers_lat/vivareal-scraper \--input '{"searchTerm":"Rio de Janeiro","business":"RENTAL","maxListings":20}'
Baixar resultados
Cada execucao grava em um dataset. Baixe 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.
Cobranca e limites
- Pagamento por resultado. Voce e cobrado por registro retornado (evento
result). ComwithDetails, um eventodetailspor registro cobre a descricao, a galeria completa e as comodidades. Veja a aba de precos. - Sem cobranca em falha. Se a execucao falhar, o ator grava um unico item com
errorpreenchido e nao cobra por ele. Execucoes vazias nao custam nada. - Limite de gasto respeitado. Defina
maxTotalChargeUsdna execucao; ao atingir o limite, o ator para de emitir e cobrar resultados. - Planos gratuitos da Apify sao limitados a 10 registros por execucao e recebem apenas registros de nivel card. Faca upgrade para
maxListingsmaior e enriquecimento de detalhes. - Limite de paginacao da origem. O VivaReal limita a paginacao profunda; buscas muito grandes terminam quando a origem para de retornar paginas. Divida com filtros mais restritos ou localizacoes separadas.
FAQ e solucao de problemas
Uma execucao retornou 0 registros. Por que?
A localizacao nao foi resolvida, ou os filtros removeram tudo. Confirme que o searchTerm corresponde a uma localizacao real do VivaReal, ou cole uma startUrl valida, e afrouxe os filtros de preco/quarto/area. Execucoes com zero resultados nao sao cobradas.
Como obtenho telefones do anunciante e coordenadas?
Coordenadas e telefone / WhatsApp do anunciante estao em cada registro. Mantenha withDetails ativo para tambem obter a descricao completa, a galeria de imagens e as comodidades.
Posso reutilizar uma busca filtrada do site?
Sim. Copie a URL de busca do VivaReal apos aplicar seus filtros e passe como startUrl. Ela sobrepoe os campos de localizacao, operacao e tipo de imovel.
Por que totalMonthlyPrice esta null?
Esse campo so se aplica a aluguel (aluguel + condominio + IPTU). Para venda ele e null. Valores ausentes sao retornados como null, nunca inventados.
O que e pricePerM2?
O preco dividido pela area util, em BRL. E a metrica comparavel padrao para avaliar imoveis semelhantes.
Esta e uma ferramenta oficial do VivaReal? Nao. Este ator e independente e nao tem afiliacao com o VivaReal ou o Grupo ZAP. Le apenas dados publicamente disponiveis no site.
Mais raspadores em scrapers.lat
Construido e mantido pela scrapers.lat, onde publicamos raspadores para plataformas publicas dos EUA e da America Latina: registros de empresas, dados governamentais, financas, e-commerce e mais. Navegue pelo catalogo ou solicite um raspador sob medida em scrapers.lat.
Ferramenta independente, sem afiliacao com o VivaReal. Acessa apenas dados de anuncios publicamente disponiveis.
