# VivaReal Brazil Real Estate Data Scraper (`latinamericadata/vivareal-brasil`) Actor

Extraia anúncios do VivaReal com preços, localização, área, quartos, vagas e imobiliária. Scraper para leads, pesquisa e inteligência imobiliária. Exporte em JSON, CSV ou Excel e integre por API, webhooks e automações.

- **URL**: https://apify.com/latinamericadata/vivareal-brasil.md
- **Developed by:** [Latin America Data](https://apify.com/latinamericadata) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 imovel extraidos

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

O **VivaReal Scraper** transforma dados públicos de [VivaReal](https://www.vivareal.com.br/) em registros estruturados e prontos para análise. Cole pesquisas do portal e transforme anúncios de venda e aluguel em uma base estruturada. A saída é adequada para estudos de oferta, comparáveis de preço e monitoramento de mercados imobiliários locais.

Esta é uma ferramenta independente e não oficial da **Latin America Data**. Não é afiliada, patrocinada nem operada por VivaReal.

### O que você pode extrair com VivaReal Scraper

- Título, finalidade e tipo de propriedade.
- Preço, moeda, metragem, quartos, banheiros e vagas.
- Bairro, cidade, estado e anunciante.
- Links da pesquisa e do anúncio para validação dos dados.

Os registros incluem `source_url` para conferência. Campos que não aparecem na fonte permanecem vazios; o actor não inventa valores para completar o dataset.

### Casos de uso para dados de VivaReal

- Medir preço e oferta de imóveis por cidade ou bairro.
- Criar bases de comparáveis para avaliação imobiliária.
- Acompanhar anúncios e gerar sinais para prospecção de proprietários e imobiliárias.
- Produzir relatórios de mercado para incorporadoras, fundos e consultorias.

### Como usar o VivaReal Scraper

1. Abra a aba **Input** e informe os termos, locais, filtros ou URLs necessários.
2. Para a primeira execução, use um limite pequeno se quiser validar rapidamente o formato.
3. Clique em **Start** e acompanhe a execução no Console da Apify.
4. Abra o dataset para revisar e exportar os resultados.

#### Principais campos de entrada

| Campo | Nome no formulário | Finalidade | Padrão |
| --- | --- | --- | --- |
| `startUrls` | URLs de busca do VivaReal | Cole URLs de busca do VivaReal. Exemplo: https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento\_residencial/ | `["https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/"]` |
| `startPage` | Pagina inicial | Numero da primeira pagina da busca. | `1` |
| `maxItemsPerUrl` | Maximo de imoveis por URL | Opcional. Se omitido, entrega todos os resultados encontrados para cada URL. | opcional |
| `maxPagesPerUrl` | Maximo de paginas por URL | Opcional. Se omitido, continua em cada URL ate a fonte nao retornar novos resultados. | opcional |

Limites como `maxItems` e `maxPages` só restringem a coleta quando recebem um valor. Quando ficam vazios, o actor continua enquanto a fonte fornecer novos resultados dentro do escopo informado.

#### Exemplo de entrada

```json
{
  "startUrls": [
    "https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/"
  ],
  "startPage": 1,
  "ignoreUrlFailures": true,
  "failOnNoResults": false
}
```

### Dados de saída do VivaReal Scraper

- Anúncio: `title`, `business_type`, `property_type`, `price` e `currency`.
- Características: `area_sqm`, `bedrooms`, `bathrooms` e `parking_spaces`.
- Localização: `neighborhood`, `city` e `state`.
- Auditoria: `seller_name`, `search_url`, `source_url` e `scraped_at`.

Cada linha usa `status=success` quando contém um imóvel entregue. Pesquisas válidas sem correspondência podem gerar `no_results`; indisponibilidades controladas aparecem como `blocked` ou `failed`. Essas linhas operacionais tornam a execução auditável e não são cobradas como resultado.

O dataset pode ser baixado em **JSON, CSV ou Excel**. Você também pode consultar os registros pela API da Apify sem alterar o formato definido pelo actor.

### API, integrações e automações para VivaReal

Execute o actor por Python, JavaScript, cURL, MCP ou pela API da Apify. Para acompanhar VivaReal continuamente, salve a entrada como tarefa e conecte agendamentos ou webhooks ao destino usado pela sua equipe.

### Quanto custa usar o VivaReal Scraper?

O preço atual é **USD 0.001 por imóvel entregue**; 1.000 resultados bem-sucedidos representam USD 1.00 em eventos de resultado. Linhas `no_results`, `blocked` e `failed` não são cobradas. O usuário assume o custo de uso da plataforma e pode definir limites durante os testes.

### Perguntas frequentes sobre VivaReal

#### Como escolher a região no VivaReal scraper?

Abra a pesquisa desejada no VivaReal, aplique os filtros de localização e cole a URL resultante em `startUrls`.

#### É possível coletar mais de uma pesquisa?

Sim. Envie várias URLs e o actor processará cada recorte separadamente, mantendo a URL de origem em cada linha.

### Outros scrapers de dados do Brasil

- [QuintoAndar Brazil Real Estate Data Scraper](https://apify.com/pmodinger/quintoandar-brasil)
- [ZAP Imóveis Brazil Real Estate Data Scraper](https://apify.com/pmodinger/zap-imoveis-brasil)
- [OLX Brazil Classified Ads & Price Scraper](https://apify.com/pmodinger/olx-brasil)

### Independência e uso responsável

Este actor independente da **Latin America Data** não é afiliado nem operado por VivaReal. Use os dados com finalidade legítima, respeite a legislação e os termos aplicáveis, e valide decisões importantes nos links de origem.

# Actor input Schema

## `startUrls` (type: `array`):

Cole URLs de busca do VivaReal. Exemplo: https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento\_residencial/

## `maxItemsPerUrl` (type: `integer`):

Opcional. Se omitido, entrega todos os resultados encontrados para cada URL.

## `maxPagesPerUrl` (type: `integer`):

Opcional. Se omitido, continua em cada URL ate a fonte nao retornar novos resultados.

## `startPage` (type: `integer`):

Numero da primeira pagina da busca.

## `requestTimeoutSecs` (type: `integer`):

Timeout em segundos para cada pagina VivaReal.

## `retries` (type: `integer`):

Numero de tentativas em erros temporarios.

## `ignoreUrlFailures` (type: `boolean`):

Se ativado, uma URL bloqueada ou com falha nao interrompe URLs seguintes.

## `failOnNoResults` (type: `boolean`):

Se ativado, a execucao falha quando todas as URLs ficam sem resultados.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento_residencial/"
  ],
  "startPage": 1,
  "requestTimeoutSecs": 30,
  "retries": 2,
  "ignoreUrlFailures": true,
  "failOnNoResults": false
}
```

# Actor output Schema

## `results` (type: `string`):

Registros de imoveis e linhas de status (success, no\_results, blocked, failed).

## `summary` (type: `string`):

Objeto com estatisticas de scraping e status geral.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("latinamericadata/vivareal-brasil").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("latinamericadata/vivareal-brasil").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call latinamericadata/vivareal-brasil --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=latinamericadata/vivareal-brasil",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/H9xebeo2faVehd7Vx/builds/eYQYNEEGgKCaHI9f1/openapi.json
