O que é e por que usar
Extrair leads de sites imobiliários manualmente é ineficiente: envolve abrir dezenas de páginas, copiar dados e inseri-los em planilhas ou CRMs. Erros de digitação, informações desatualizadas e tempo perdido são comuns. Ferramentas de automação como o Snapshot Site combinadas com o n8n resolvem esse problema – você captura o estado atual de anúncios (preço, contato, características) e os processa em um fluxo de trabalho padronizado.
O Snapshot Site é um serviço que tira “fotografias” de páginas web (HTML, CSS, dados estruturados) sob demanda ou em intervalos programados. Diferente de um scraping simples, ele preserva o layout e facilita a extração de campos específicos via selectors CSS ou XPath. O n8n, por sua vez, orquestra a automação: dispara a captura, transforma os dados e os envia para seu CRM, planilha ou e-mail. O resultado é um pipeline que funciona 24/7, sem supervisão constante, liberando seu tempo para negociação e relacionamento com clientes.
Segundo dados do setor, corretores que automatizam a captura de leads economizam em média 8 horas por semana – tempo que pode ser reinvestido em follow‑ups e visitas. Com a combinação Snapshot Site + n8n, você não apenas coleta dados, mas também pode aplicar regras de negócio, como pontuar leads por orçamento ou localização, antes mesmo de entrar em contato.

Pré-requisitos
- Conta ativa no Snapshot Site (plano que permita acesso à API REST).
- Instância do n8n rodando (self‑hosted, cloud ou via Docker).
- Conhecimento básico de JSON e seletores CSS ou XPath para extrair dados das páginas.
- (Opcional) Chave de API de um CRM, como HubSpot, ou acesso a uma planilha Google Sheets para armazenar os leads.
- Entendimento sobre limites de requisição e políticas de uso do site-alvo (respeitar robots.txt).
Exemplo Prático: Captura automática de leads do VivaReal para planilha
Cenário concreto
Imagine que você atua como corretor em uma imobiliária e recebe alertas de novos imóveis do VivaReal toda manhã. Em vez de acessar cada anúncio manualmente – cerca de 30 por dia – você quer um sistema que, a cada duas horas, verifique novos anúncios, extraia dados como endereço, preço, número de quartos, nome do proprietário e telefone, e os armazene em uma planilha compartilhada.
O que será automatizado
- Agendamento: o n8n dispara o fluxo a cada 2 horas.
- Captura por Snapshot Site: para cada URL de busca (ex.: “apartamentos à venda em São Paulo”), o Snapshot Site retorna um JSON com o HTML processado e dados extraídos via seletores customizados.
- Filtragem e transformação: o n8n separa os itens que ainda não estão na planilha (comparando por ID único do anúncio).
- Saída: novos leads são inseridos em uma planilha Google Sheets, com colunas de data/hora, preço, link e contato.
Resultado esperado
Ao final do primeiro dia, você terá uma planilha contendo todos os anúncios recentes sem nenhum clique manual. O tempo gasto com coleta cai de 1h30 para menos de 5 minutos de revisão. Os leads mais quentes (preço abaixo do mercado, por exemplo) podem ser identificados com um campo “Prioridade” calculado no próprio n8n.

Configuração Passo a Passo
1. Configurar o Snapshot Site para extrair os dados
No painel do Snapshot Site, crie um projeto apontando para a URL de busca do VivaReal (ex.: https://www.vivareal.com.br/venda/sp/sao-paulo/apartamento/…). Adicione seletores CSS para os campos desejados:
- Preço:
.property-card__price - Título:
.property-card__title - Telefone do proprietário:
.contact-phone(ajuste conforme o seletor real) - ID do anúncio:
[data-id]
Ative a opção “Retornar dados estruturados” (JSON). Salve e obtenha o endpoint da API do Snapshot Site. Ele será algo como:
POST https://api.snapshot.site/v1/snapshot
Headers:
Authorization: Bearer SEU_TOKEN
Body:
{
"url": "https://www.vivareal.com.br/...",
"selectors": {
"price": ".property-card__price",
"title": ".property-card__title",
"phone": "a.contact-phone",
"id_anuncio": "[data-id]"
},
"timeout": 30000
}
A resposta conterá um array de objetos, um para cada anúncio na página.
2. Criar o workflow no n8n
Adicione os seguintes nós na ordem:
- Nó: Schedule – disparo a cada 2 horas (cron:
0 */2 * * *). - Nó: HTTP Request – chamada à API do Snapshot Site. Método POST, URL e headers conforme acima. O body conterá a URL da busca e os seletores.
- Nó: Code – transforme o JSON recebido em uma lista plana. Exemplo de código JavaScript no n8n:
// Código para extrair os itens do objeto retornado
const snapshots = $input.all();
const leads = [];
for (const snap of snapshots) {
// Supondo que a resposta tenha campo "data" com array
for (const item of snap.json.data) {
leads.push({
id: item.id_anuncio,
titulo: item.title,
preco: parseFloat(item.price.replace(/[^\d,]/g, '').replace(',', '.')),
telefone: item.phone,
url: snap.json.requested_url,
capturado_em: new Date().toISOString()
});
}
}
return leads;
- Nó: Google Sheets (ou outro destino) – modo Insert, apontando para a planilha onde você quer acumular os leads. Certifique-se de que as colunas da planilha correspondam aos campos do array
leads. - Nó: IF (opcional) – antes de inserir, verifique se o ID já existe. Use um nó Read from Google Sheets para obter os IDs existentes e comparar com
includes.
3. Testar e ativar o workflow
Clique em Execute Workflow no editor do n8n. Verifique o nó HTTP Request se retorna status 200 e os dados aparecem no Code. Depois confira se a planilha foi preenchida com pelo menos um lead. Feito isso, ative o fluxo com o botão Active.
Dicas e Variações
- Use paginação: se o site listar mais de 20 resultados, configure o Snapshot Site para navegar pelas páginas (recurso “Next page selector”). No n8n, você pode fazer um loop usando o nó SplitInBatches e chamando a API repetidamente com a URL da próxima página.
- Combine com Webhooks: em vez de agendar, coloque um nó Webhook no início. Assim você pode disparar a captura manualmente ou via um alerta externo (ex.: um e‑mail com link).
- Enriqueça os leads: depois de extrair o telefone, use um nó HTTP Request para consultar uma API de validação de WhatsApp, por exemplo, e anotar se o número é válido.
- Múltiplas fontes: crie um workflow central que recebe URLs de diferentes sites (Zap Imóveis, OLX, etc.) via um nó Webhook ou uma planilha de entrada. O nó Set pode ajustar os seletores conforme a origem.
- Envie notificações: conecte um nó Email ou Telegram para avisar quando um lead com preço muito baixo for capturado – ideal para oportunidades de negociação rápida.
Erros Comuns e Como Evitá-los
- Timeout na captura – páginas imobiliárias costumam ter muitos scripts e imagens. Aumente o
timeoutno Snapshot Site para 30 s ou mais. No n8n, configure o nó HTTP Request comtimeout: 60000. - Seletores quebram com mudanças de layout – monitore o workflow semanalmente. Uma boa prática é usar seletores por atributos
data-*ou por ID em vez de classes CSS genéricas. Se o site mudar, ajuste os seletores no projeto do Snapshot Site. - Bloqueio de IP ou CAPTCHA – evite requisições em alta frequência. Use um delay entre chamadas (nó Wait de 5 segundos) e, para sites mais restritivos, considere usar proxies ou a função “resolução de CAPTCHA” do Snapshot Site (se disponível).
- Dados duplicados – sempre deduplicar antes de inserir no destino. No exemplo, usamos o ID do anúncio. Caso o site não forneça ID, use uma chave composta (URL + preço + quartos).
- Erro de parsing de preço – moedas e separadores variam. Use expressões regulares no nó Code para limpar o campo:
item.price.replace(/[R$\s.]/g, '').replace(',', '.').
Próximos Passos
1. Implemente o workflow descrito com seus próprios sites de imóveis e uma planilha de testes. Verifique o funcionamento com 2 ou 3 URLs manuais antes de ativar o agendamento.
2. Expanda a automação: adicione um nó HubSpot (ou outro CRM) para criar contatos automaticamente, já com o campo “Fonte = Snapshot Site”. Configure um pipeline que mova esses contatos para uma etapa “Lead novo”.
3. Crie um dashboard simples no Google Data Studio ou Metabase conectado à sua planilha para visualizar a evolução dos preços e a quantidade de leads por bairro.
4. Compartilhe este fluxo com sua equipe e documente os seletores para cada site – isso facilita manutenções futuras e evita que o conhecimento fique apenas com você.
Gostou do conteúdo? Inscreva-se para receber as novidades:


Comments are closed