Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

LeadFinder — prospecção de negócios sem site

Ferramenta de linha de comando em Python que encontra negócios locais que não têm site (salões, agropecuárias, restaurantes, hamburguerias) e exporta uma planilha priorizada, pronta para prospecção comercial.

Stack: Python 3 (biblioteca padrão) · OpenStreetMap / Overpass API · Google Places API · openpyxl

O que o projeto demonstra: consumo e fallback entre múltiplas APIs públicas, classificação de dados por heurística de texto, normalização e deduplicação de registros, geração de planilha formatada e tratamento de rate limit.


Como rodar

python buscar_leads.py --cidade "Passo Fundo, RS" --raio 15

Sai um leads_passo_fundo_rs_AAAA-MM-DD.xlsx (e um .csv) na pasta.

Opções

Opção O que faz
--cidade Obrigatório. Ex: "Chapecó, SC"
--raio Raio em km a partir do centro. Padrão: 15
--nichos salao,agropecuaria,restaurante,hamburgueria ou todos
--fonte osm (grátis) ou google (precisa de chave)
--chave Chave da API do Google
--incluir-com-site Também lista quem já tem site
--saida Nome do arquivo de saída

Exemplos:

python buscar_leads.py --cidade "Erechim, RS" --nichos salao,hamburgueria --raio 10
python buscar_leads.py --cidade "Passo Fundo, RS" --fonte google --chave SUA_CHAVE

As duas fontes de dados

--fonte osm (padrão, grátis, sem cadastro)

Usa o OpenStreetMap. Funciona na hora, mas é um mapa, não um cadastro de empresas.

Teste real em Passo Fundo/RS, raio 12 km: 91 leads sem site, e destes:

  • 8 com telefone (~9%)
  • 4 com WhatsApp
  • 0 com Instagram

Ou seja: bom para descobrir nomes e localização, fraco para contato.

--fonte google (precisa de chave)

Usa o Google Places API. É de onde vem telefone confiável e, principalmente, a informação de quem tem ou não tem site — o filtro central da ferramenta.

Para conseguir a chave:

  1. Acesse https://console.cloud.google.com/
  2. Crie um projeto
  3. Ative a Places API (New)
  4. Em Credenciais, gere uma Chave de API

Para não digitar a chave toda vez:

setx GOOGLE_MAPS_API_KEY "sua_chave_aqui"

Custo: a busca por texto do Places é cobrada por chamada. O script faz 4 a 6 buscas por nicho, cada uma com até 3 páginas — uma cidade com os 4 nichos dá em torno de 60 a 70 chamadas. Comece com um nicho só e confira o painel de faturamento antes de rodar em várias cidades.

Sobre o Instagram

Nenhuma das duas APIs entrega o Instagram. Por isso a planilha traz a coluna "Buscar Instagram": um link clicável que abre a pesquisa pronta do negócio + cidade. Raspar o Instagram violaria os termos de uso da plataforma.


A planilha

Aba Leads, ordenada pelos melhores primeiro. Coluna Status digital:

Cor Significado
🟩 SEM NADA - lead quente Sem site e sem rede social. É o alvo.
🟨 So rede social Tem Instagram/Facebook, mas não tem site.
⬜ TEM SITE Só aparece com --incluir-com-site.

Dentro de cada faixa, quem tem WhatsApp vem antes de quem tem só telefone fixo, que vem antes de quem não tem contato nenhum.

A coluna Link WhatsApp só é preenchida quando o número é celular (DDD + 9 dígitos começando com 9) — número fixo não tem WhatsApp, então fica em branco de propósito.

Há também uma aba Resumo com contagem por nicho e por status.


Limitações

  • Cobertura. Nenhuma base tem 100% do comércio de uma cidade. O OSM depende de voluntários; o Google depende de o dono ter cadastrado o negócio.
  • Não ter site no cadastro ≠ não ter site. Muito negócio tem site mas nunca preencheu o campo.
  • Dado desatualizado. Estabelecimento fechado pode continuar listado. Na fonte Google os marcados como fechados já são descartados; no OSM, não dá.
  • Falso positivo por nome. A classificação usa o nome do estabelecimento, então algo como "Celeiro Self Storage" cai como agropecuária. Confira a coluna Nicho antes de abordar.

LGPD

Telefone comercial divulgado publicamente pode ser usado para contato B2B com base no legítimo interesse. Mas: identifique-se na primeira mensagem, diga onde conseguiu o contato, e pare na hora se pedirem. Não repasse a lista para terceiros.

As planilhas geradas contêm dados reais e não são versionadas (ver .gitignore).

About

CLI em Python que encontra negócios locais sem site via OpenStreetMap/Google Places e exporta planilha priorizada para prospecção

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages