# ZAP Imóveis Brazil Real Estate Data Scraper (`latinamericadata/zap-imoveis-brasil`) Actor

Extraia anúncios do ZAP Imóveis com preços, localização, área, quartos, vagas e anunciante. 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/zap-imoveis-brasil.md
- **Developed by:** [Latin America Data](https://apify.com/latinamericadata) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 anuncio entregues

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 **ZAP Imóveis Scraper** transforma dados públicos de [ZAP Imóveis](https://www.zapimoveis.com.br/) em registros estruturados e prontos para análise. Pesquise imóveis para venda ou aluguel por localização, palavra-chave e tipo de propriedade. O dataset facilita análises de preço, disponibilidade e perfil de anúncios em mercados residenciais e comerciais do Brasil.

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

### O que você pode extrair com ZAP Imóveis Scraper

- Título, finalidade, tipo de imóvel e preço anunciado.
- Área, quartos, banheiros e vagas de garagem.
- Bairro, cidade, estado e nome do anunciante.
- URL do anúncio e URL da pesquisa para auditoria.

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 ZAP Imóveis

- Comparar aluguel e venda entre bairros e cidades.
- Identificar imobiliárias e anunciantes para geração de leads.
- Acompanhar inventário, preços e novos anúncios em regiões estratégicas.
- Alimentar modelos de avaliação, BI e inteligência imobiliária.

### Como usar o ZAP Imóveis 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 |
| --- | --- | --- | --- |
| `businessType` | Tipo de negocio | Tipo de busca no Zap Imoveis. | `venda` |
| `locations` | Localidades | Aceita slugs de localidade do Zap Imoveis ou texto comum. Exemplos: sp+sao-paulo, rj+rio-de-janeiro, Sao Paulo, Sao Paulo, SP. | `["sp+sao-paulo"]` |
| `propertyType` | Tipo de imovel | Tipo de imovel usado para gerar a URL de busca do Zap Imoveis. | `imoveis` |
| `keywords` | Palavras-chave | Opcional. Adiciona o parametro q na URL gerada. Deixe vazio para buscar todos os anuncios da localidade. | opcional |
| `startUrls` | URLs de busca do Zap Imoveis | Opcional. Use URLs diretas do Zap Imoveis quando quiser controlar filtros da busca. Se informado, substitui a geracao por localidade. | opcional |
| `maxItemsPerUrl` | Maximo de anuncios por URL | Opcional. Se omitido, entrega todos os resultados encontrados para cada URL. | 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
{
  "businessType": "venda",
  "propertyType": "imoveis",
  "locations": [
    "sp+sao-paulo"
  ],
  "startPage": 1,
  "ignoreUrlFailures": true,
  "failOnNoResults": false
}
```

### Dados de saída do ZAP Imóveis Scraper

- Anúncio: `title`, `business_type`, `price`, `currency` e `listing_url`.
- Características: `area_m2`, `bedrooms`, `bathrooms` e `parking_spaces`.
- Localização: `neighborhood`, `city` e `state`.
- Origem: `advertiser_name`, `search_url` e `scraped_at`.

Cada linha usa `status=success` quando contém um anúncio imobiliário 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 ZAP Imóveis

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

### Quanto custa usar o ZAP Imóveis Scraper?

O preço atual é **USD 0.001 por anúncio imobiliário 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 ZAP Imóveis

#### Posso filtrar anúncios do ZAP Imóveis por tipo?

Sim. O formulário permite combinar finalidade, tipo de imóvel, localizações e palavras-chave.

#### Posso usar uma URL pronta do ZAP Imóveis?

Sim. Cole URLs de pesquisa já filtradas quando precisar preservar um recorte específico do portal.

### Outros scrapers de dados do Brasil

- [QuintoAndar Brazil Real Estate Data Scraper](https://apify.com/pmodinger/quintoandar-brasil)
- [VivaReal Brazil Real Estate Data Scraper](https://apify.com/pmodinger/vivareal-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 ZAP Imóveis. 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`):

Opcional. Use URLs diretas do Zap Imoveis quando quiser controlar filtros da busca. Se informado, substitui a geracao por localidade.

## `businessType` (type: `string`):

Tipo de busca no Zap Imoveis.

## `propertyType` (type: `string`):

Tipo de imovel usado para gerar a URL de busca do Zap Imoveis.

## `locations` (type: `array`):

Aceita slugs de localidade do Zap Imoveis ou texto comum. Exemplos: sp+sao-paulo, rj+rio-de-janeiro, Sao Paulo, Sao Paulo, SP.

## `keywords` (type: `array`):

Opcional. Adiciona o parametro q na URL gerada. Deixe vazio para buscar todos os anuncios da localidade.

## `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.

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

Numero de tentativas por pagina em erros transitorios.

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

Se ativado, uma URL bloqueada ou com falha nao interrompe a execucao quando outras URLs ainda podem retornar dados.

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

Se ativado, a execucao falha quando todas as URLs retornarem no\_results.

## Actor input object example

```json
{
  "businessType": "venda",
  "propertyType": "imoveis",
  "locations": [
    "sp+sao-paulo"
  ],
  "startPage": 1,
  "requestTimeoutSecs": 30,
  "retries": 2,
  "ignoreUrlFailures": true,
  "failOnNoResults": false
}
```

# Actor output Schema

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

Anuncios 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/zap-imoveis-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/zap-imoveis-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/zap-imoveis-brasil --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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