Pesquisa aprofundada — Stack para vender leads qualificados (CNPJ × decisor)
Data: 2026-09-05 · Autor: Claude (Fable 5.1) a pedido do Angelo · Status: primeira rodada, validada em fontes públicas listadas no fim.
Regra desta pesquisa: todo número tem fonte. Onde eu não achei número, está escrito "não encontrado". Estimativas minhas estão marcadas como estimativa.
0. Resposta curta (a decisão)
Stack recomendada:
| Camada | Escolha | Por quê |
|---|---|---|
| Base de empresas | Dados Abertos CNPJ da Receita Federal, carregados com cnpj-data-pipeline (open source) em PostgreSQL próprio |
Gratuito, oficial, mensal, cobre ~60 mi de CNPJs e traz o QSA (sócios e administradores) com qualificação e faixa etária — é isso que permite o score de decisor sem scraping |
| Processamento/score | DuckDB + Parquet para o batch mensal de scoring, Postgres para servir | 85 GB de CSV viram ~6 GB em Parquet; scoring em lote fica barato e rápido |
| Enriquecimento de contato | Waterfall sob demanda (só no download): telefone da Receita → Google Maps (Apify) → e-mail (Hunter/Prospeo/Snov) → verificação (MillionVerifier) → check de WhatsApp (Evolution API self-hosted) | Paga-se só pelo que foi comprado; custo por lead cai para centavos |
| Nunca scraping direto. Usar dataset licenciado (Bright Data ~US$ 0,0025/registro ou People Data Labs US$ 0,28/match) como sinal de cargo | Proxycurl foi processada pelo LinkedIn e fechou em jul/2026. Scraping direto é risco de morte do produto | |
| Meta/Instagram | Só perfis comerciais públicos via Apify (US$ 1,50–2,30/1.000), deslogado | Meta v. Bright Data (2024) liberou scraping público deslogado nos EUA, mas a LGPD manda aqui — perfil pessoal fica fora |
| App | Next.js (App Router) na Vercel + Clerk (auth) + Vercel Blob (exports) + Resend (e-mail) | Time já domina; deploy em dia |
| Cobrança | Asaas (PIX, cartão, boleto, recorrência, PIX Automático) | Stripe no Brasil cobra 3,99% + 0,4% em assinatura e PIX está só por convite. Asaas tem PIX sem taxa e é o padrão de SaaS PME brasileiro |
| Fila de jobs | Vercel Queues (beta) ou Trigger.dev | Enriquecimento é assíncrono por natureza |
Diferencial defensável: o score de decisor calculado antes do download, usando campos que já estão na Receita (qualificação do sócio, faixa etária, data de entrada, nº de empresas do mesmo sócio) cruzados com sinais externos licenciados. Ninguém no Brasil vende isso como produto de prateleira a R$ 1/lead: os brasileiros vendem lista bruta barata (Leadjet, R$ 97) ou plataforma cara (Speedio, R$ 719+/mês).
1. Fontes de CNPJ — o que existe e o que custa
1.1 Receita Federal (fonte primária, gratuita)
- O que é: dump mensal completo do CNPJ, em CSV zipado, publicado em
arquivos.receitafederal.gov.br/dados/cnpj/dados_abertos_cnpj/<AAAA-MM>/. Base legal: Decreto 8.777/2016 (dados abertos). - Arquivos: Empresas (0–9), Estabelecimentos (0–9), Sócios (0–9), Simples, CNAEs, Motivos, Municípios, Naturezas, Países, Qualificações.
- Volume: ~85 GB de CSV descompactado; vira ~6 GB em Parquet com ZSTD (fonte: README do
cnpj-data-pipeline). - Campos do arquivo de Sócios (é aqui que nasce o score):
cnpj_basico,identificador_socio(PJ/PF/estrangeiro),nome_socio,cnpj_cpf_socio(CPF mascarado***123456**),qualificacao_socio(código: 49 sócio-administrador, 05 administrador, 10 diretor, 16 presidente, 22 sócio, etc.),data_entrada_sociedade,pais,representante_legal,nome_representante,qualificacao_representante,faixa_etaria. - Campos de Estabelecimentos úteis para contato:
ddd_1/telefone_1,ddd_2/telefone_2,correio_eletronico, endereço completo, situação cadastral, CNAE principal e secundários, matriz/filial, data de início. - Mudanças recentes que afetam o pipeline: em jan/2026 a RFB mudou a página e os caminhos dos arquivos (repos
cnpj-mysqlecnpj-data-pipelinejá atualizados em mar/2026). CNPJ alfanumérico entra para novas inscrições a partir de jul/2026 — ocnpj-data-pipelinesuporta desde a v1.35.0. Qualquer código nosso precisa tratar CNPJ como string, não número.
1.2 Loaders open source (não reinventar)
| Repo | O que faz | Observação |
|---|---|---|
caiopizzol/cnpj-data-pipeline |
Download resiliente + carga incremental em Postgres ou Parquet | Recomendado. Suporta alfanumérico, batch configurável (500 k), paralelismo |
msantosjader/rfb-cnpj-etl |
ETL para SQLite ou Postgres | Base de jun/2025 no exemplo |
rictom/cnpj-mysql |
Python → MySQL/Postgres | Script de download atualizado em mar/2026 |
cuducos/minha-receita |
API pública de CNPJ (usada pela BrasilAPI) | Boa para consulta pontual, não para lista |
okfn-brasil/receita, libercapital/dados_publicos_cnpj_receita_federal |
ETLs mais antigos com Docker | Referência |
1.3 APIs de consulta (para o produto, só como fallback)
| Serviço | Preço | Uso no nosso caso |
|---|---|---|
| BrasilAPI / OpenCNPJ | Gratuito, sem auth, sem limite explícito | Validação pontual; não serve para lista |
| Casa dos Dados | Busca gratuita; exportar lista custa R$ 0,01/CNPJ em créditos (verificado jul/2026) | Benchmark do preço de "lista crua": 1 centavo |
| CNPJá / ReceitaWS | Plano grátis 5 req/min; Simples só no pago | Fallback |
| Serpro (API oficial paga) | Cotação | Só se virar exigência de SLA |
Conclusão: lista crua de CNPJ vale 1 centavo no mercado. Tudo que a gente cobrar acima disso tem que vir do score + contato validado.
2. Enriquecimento do decisor — o que é legal, o que custa
2.1 LinkedIn — o alerta vermelho
- 24/jan/2026: LinkedIn processa a Proxycurl (maior API de scraping de LinkedIn) por criar "centenas de milhares de contas falsas" e raspar milhões de perfis.
- 04/jul/2026: Proxycurl fecha. Acordo obriga a deletar todos os dados raspados. O CEO declarou que "não tinha sentido brigar".
- hiQ v. LinkedIn (9º Circuito, 2022) diz que acessar página pública não viola o CFAA, mas o LinkedIn ganhou pela via contratual (contas falsas violam o User Agreement). Ou seja: scraping logado = morte.
- Alternativas compatíveis com termos de uso:
| Fornecedor | Modelo | Preço | Cobertura BR |
|---|---|---|---|
| Bright Data — LinkedIn Datasets | Dataset pré-coletado (snapshot), 904 mi+ registros | US$ 250 por 100 k registros (~US$ 0,0025/registro), desconto até 80% em plano com refresh mensal | Não verificada para BR — precisa amostra |
| People Data Labs | API de enriquecimento (fontes públicas licenciadas) | Free 100/mês; Pro US$ 98/mês = 350 créditos (~US$ 0,28/match); só cobra em match | Cobertura BR não verificada |
| Coresignal | Dataset atual + histórico 5 anos | A partir de US$ 49/mês | Não verificada |
| Apollo.io | Plataforma + API | Free; Basic US$ 49; Pro US$ 79; API só no Organization (US$ 119/usuário, mín. 3 usuários); créditos de export não acumulam | LinkedIn removeu a página da Apollo em 2025; os termos da Apollo proíbem revenda de dados (confirmar no contrato antes de usar) |
| Kaspr / Surfe | Extensão Chrome (usuário navega) | US$ 74 / US$ 39 por mês | Não serve para bulk |
Decisão: LinkedIn entra como sinal de cargo comprado em dataset licenciado (Bright Data para bulk, PDL para match pontual), nunca como scraping nosso. Antes de contratar, pedir amostra de 1.000 perfis brasileiros para medir cobertura.
2.2 Meta / Instagram
- Meta v. Bright Data (N.D. Cal., 23/jan/2024): juiz Chen decidiu que os termos do Facebook/Instagram não proíbem scraping deslogado de dados públicos; cláusula de "sobrevivência" perpétua foi considerada inexequível.
- Isso é jurisprudência dos EUA. No Brasil, o que manda é a LGPD: perfil de pessoa física é dado pessoal. Perfil comercial (Instagram Business, com CNPJ/telefone/endereço públicos) é o que dá para usar como sinal de empresa.
- Custo (Apify, verificado mai/2026): Instagram Scraper US$ 1,50–2,30 por 1.000 resultados; Google Maps Scraper US$ 4 por 1.000 lugares (traz telefone, site, nota e nº de avaliações — sinal forte de empresa viva).
2.3 E-mail e telefone
| Serviço | Preço (2026) | Papel |
|---|---|---|
| Hunter.io | Starter US$ 49/mês (500 buscas + 1.000 verificações); custo por e-mail achado US$ 0,0245 → 0,0084 | Achar e-mail corporativo |
| Snov.io | Starter US$ 39/mês (1.000 créditos); Pro US$ 99 (5.000) | Alternativa |
| Prospeo | ~US$ 0,01/lead via BYOK; 98% de acurácia declarada | Mais barato do lote |
| FullEnrich | Waterfall e-mail+celular, 20+ fontes; a partir de US$ 29–55/mês; só cobra no achado | Waterfall pronto se não quisermos construir |
| Clay | Launch US$ 185/mês, Growth US$ 495/mês (preços de mar/2026); ~15 créditos por contato num waterfall de 5 fontes | Caro demais para revender a R$ 1/lead; só para operação interna |
| MillionVerifier | US$ 39 por 10.000 (~US$ 3,90/1.000), créditos não expiram | Verificação de e-mail (padrão) |
| ZeroBounce | ~US$ 19,50/1.000 | 5× mais caro; não usar |
| Evolution API (open source BR) | Self-hosted, sem mensalidade por número | Check de WhatsApp ("esse número tem WhatsApp?") |
| Z-API | R$ 54,99–99,99/instância/mês; verificação em lote até 50.000 números por requisição | Gerenciado, se não quisermos manter Evolution |
2.4 Enriquecedores brasileiros (telefone/e-mail a partir de CPF/CNPJ)
- Data Stone (Stone Station B2B): +74 mi empresas, +40 filtros, "80% de assertividade garantida", validação de e-mail/telefone em tempo real e validação de WhatsApp. Plano gratuito com 25 créditos/mês; Start a partir de ~R$ 200/mês (verificado ago/2026).
- BigDataCorp, Assertiva, Lemit: enriquecimento cadastral por CPF/CNPJ; Lemit cobra só pelo dado que difere do enviado. Preços sob cotação (não encontrado).
- Cuidado LGPD: enriquecer telefone pessoal e endereço residencial de sócio a partir do CPF é justamente o que os guias de LGPD para prospecção B2B dizem para não fazer. A gente usa esses fornecedores só para telefone/e-mail corporativo e WhatsApp Business.
3. Concorrentes brasileiros — preço e posicionamento
| Concorrente | Modelo | Preço | O que entrega | Buraco que a gente ocupa |
|---|---|---|---|---|
| Speedio | Assinatura anual | Entry R$ 719/mês (300 empresas), Intermediate R$ 1.079 (500), Advanced R$ 1.379 (1.000); ~R$ 2,40 por empresa exportada; fidelidade 12 meses | 80+ filtros, contatos de decisores de "117 fontes" | Caro, travado em anual, sem score visível antes de gastar crédito |
| Econodata | Assinatura sob cotação | Histórico R$ 590–890/mês; "a partir de R$ 350" | Sinais de intenção (notícias, troca de liderança) | Idem |
| Driva | Por crédito | Capterra lista "a partir de R$ 60" (pagamento único); 1 avaliação | Inteligência de mercado + SDR de IA | Foco enterprise/indústria |
| Data Stone | Assinatura | ~R$ 200/mês (Start) | Decisores com e-mail, telefone, WhatsApp validado | Concorrente mais próximo em dado; sem score de decisor exposto |
| Leadjet | Pagamento único | R$ 97 / 30 dias (150 k empresas), R$ 297 / 180 dias, R$ 497 / 365 dias; exportação ilimitada em CSV | CNPJ, telefone, e-mail, CNAE, porte, capital | Commodity: lista crua da Receita, zero qualificação |
| Casa dos Dados | Créditos | R$ 0,01/CNPJ exportado | Lista crua | Commodity |
| LeadCNPJ | All-in-one | Não encontrado | CNPJ + CRM kanban + WhatsApp | Operação, não dado |
| Apollo.io | USD | Free → US$ 119/usuário | Global, fraco em PME brasileira | Não fala português nem CNPJ |
Leitura de mercado: o mercado brasileiro está bipolar — lista crua a centavos ou plataforma a R$ 700+/mês com fidelidade. Entre R$ 200 e R$ 500 só tem a Data Stone. O nosso lugar: R$ 497/mês ou R$ 1/lead, com score de decisor antes de baixar e sem fidelidade.
4. LGPD — o que dá para fazer (e o que fecha a empresa)
Não sou advogado. Isto precisa passar pelo jurídico da Impero antes do lançamento.
O que a leitura das fontes (guias Think Data, LeadCNPJ, eesier, Guia Orientativo de Legítimo Interesse da ANPD) permite concluir:
Permitido / defensável: - Consultar, armazenar e vender dados cadastrais de empresa (CNPJ, razão social, CNAE, endereço, situação, capital) — dado público por lei. - Consultar e exibir o QSA divulgado pela Receita (nome do sócio, qualificação, faixa etária, data de entrada). É dado pessoal, mas de publicidade legal. - Prospecção B2B com base em legítimo interesse (art. 7º, IX), desde que haja proporcionalidade, transparência e opt-out imediato. A ANPD publicou Guia Orientativo sobre legítimo interesse: a gente precisa documentar um LIA (teste de balanceamento) e ter política de privacidade pública dizendo de onde vêm os dados e como sair. - Telefone e e-mail corporativos (da empresa, do site, do Google Maps, do Instagram Business).
Proibido / risco alto: - Buscar CPF completo, telefone pessoal ou endereço residencial do sócio. - Scraping de LinkedIn com contas (violação contratual + o caso Proxycurl). - Revender dado de Apollo ou de qualquer fornecedor cujo contrato proíba redistribuição. - Vender lead sem contrato que obrigue o comprador a respeitar opt-out e finalidade B2B.
O que o produto precisa ter no dia 1: 1. Página pública "De onde vêm os dados" + canal de opt-out (formulário + e-mail) com SLA de remoção. 2. Termo de uso para o comprador: finalidade exclusiva de prospecção B2B, proibição de spam/consumo pessoal, obrigação de honrar descadastro. 3. LIA documentado, registro de operações (art. 37) e DPO nomeado (pode ser o Angelo ou terceirizado). 4. Nenhum dado sensível, nenhum CPF completo no banco.
5. Modelo de score — como calcular "probabilidade de ser decisor"
O score é a única coisa que ninguém no Brasil mostra antes do download. Dois scores por linha:
5.1 Score de Decisor (0–100) — por pessoa do QSA
| Sinal | Origem | Peso (estimativa inicial, calibrar com feedback) |
|---|---|---|
| Qualificação no QSA (sócio-administrador 49, administrador 05, presidente 16, diretor 10 > sócio 22 > cotista) | Receita | 35 |
| Faixa etária (31–60 pontua mais; <21 e >80 pontuam menos) | Receita | 10 |
| É representante legal de menor/incapaz? (penaliza) | Receita | −10 |
| Nº de empresas ativas em que a mesma pessoa é sócia (nome + CPF mascarado) — "empreendedor serial" | Receita (cruzamento interno) | 10 |
| Recência de entrada na sociedade (entrou nos últimos 24 meses = decisor engajado) | Receita | 5 |
| Cargo confirmado em dataset licenciado (CEO/Founder/Diretor/Sócio) | Bright Data / PDL | 20 |
| Contato corporativo encontrado e validado (e-mail MX ok, WhatsApp ativo) | Waterfall | 20 |
5.2 Score de Empresa (0–100) — fit e "está viva"
| Sinal | Origem |
|---|---|
| Situação cadastral ativa, matriz, tempo de vida (2–15 anos pontua mais) | Receita |
| Capital social e porte (ME/EPP/demais) coerente com o nicho do comprador | Receita |
| Regime Simples/MEI (MEI pontua menos para B2B de ticket alto) | Receita |
| CNAE principal bate com o filtro do cliente | Receita |
| Tem site, tem e-mail com domínio próprio (não gmail) | Receita + DNS |
| Google Maps: nota ≥ 4,0 e ≥ 10 avaliações; Instagram Business com atividade | Apify |
| Nº de filiais, nº de sócios | Receita |
5.3 Ordem de custo (para o unit economics)
- Camada 0 — gratuita: tudo que vem da Receita. O score preliminar já nasce aqui e é o que o usuário vê antes de baixar.
- Camada 1 — barata (só nos leads que o cliente baixou): verificação de e-mail (US$ 0,004), WhatsApp check (self-hosted, ~R$ 0), DNS/site (R$ 0).
- Camada 2 — cara (só em plano Pro ou lead ≥ 70): Google Maps (US$ 0,004), e-mail finder (US$ 0,01–0,025), dataset LinkedIn (US$ 0,0025 se bulk).
Estimativa de custo variável por lead entregue enriquecido: R$ 0,10 a R$ 0,30. Contra preço de R$ 0,99 a R$ 1,00, dá margem bruta de 70–90% no dado. Isso é conta minha, não medição — precisa validar com os primeiros 5.000 leads.
6. Workflow — do dump ao lead vendido
[MENSAL] Receita (CSV zip) --cnpj-data-pipeline--> Parquet (R2/S3) --DuckDB--> scoring batch
|
[MENSAL] Bright Data LinkedIn dataset (BR) ---------- join por nome+empresa -----+
v
[SERVE] Postgres (tabelas: empresa, estabelecimento, socio, score, contato) <---+
|
[APP] Next.js: filtros (CNAE, UF, cidade, porte, capital, idade, score) --> preview com score, sem contato
| usuario escolhe N leads -> debito de creditos
v
[JOB] Fila: waterfall de contato (Receita -> Maps -> e-mail finder -> verificacao -> WhatsApp check)
|
[ENTREGA] CSV/XLSX no Vercel Blob + webhook/API + push para CRM (Kommo, Pipedrive, HubSpot)
|
[FEEDBACK] cliente marca "era decisor / nao era" --> recalibra pesos do score (loop)
Pontos de atenção:
- Deduplicação por pessoa: o mesmo sócio aparece em N empresas. Chave = nome_socio + cpf_mascarado. É a mesma chave que gera o sinal "empreendedor serial".
- Freshness: dump é mensal. Mostrar "dados da Receita de
7. Formatação do software — arquitetura recomendada
| Componente | Escolha | Alternativa se der problema |
|---|---|---|
| Frontend + API | Next.js 15 App Router, TypeScript, Tailwind, shadcn/ui, na Vercel (Fluid Compute, Node 24) | — |
| Auth | Clerk (Marketplace Vercel) | Supabase Auth |
| Banco servindo o app | Postgres gerenciado (Neon via Marketplace para começar) | Se a base de 60 mi pesar no preço do Neon, VPS Hetzner com Postgres próprio (estimativa €30–50/mês) |
| Data lake | Parquet no Cloudflare R2 + DuckDB | S3 |
| ETL mensal | cnpj-data-pipeline rodando em cron (GitHub Actions ou VPS) |
— |
| Fila | Vercel Queues (beta) | Trigger.dev / Inngest |
| Enriquecimento | Serviços da §2 atrás de uma interface Enricher única (trocar fornecedor sem mexer no app) |
— |
| Exports | Vercel Blob (privado, link assinado) | R2 |
| Billing | Asaas (PIX, cartão, boleto, recorrência) | Stripe (quando PIX sair do convite) |
| E-mail transacional | Resend | — |
| WhatsApp (notificação + check) | Evolution API self-hosted | Z-API |
| Analytics | Vercel Web Analytics + PostHog | — |
| Observabilidade | Sentry | — |
Fase 1 (setembro): Receita + score camada 0 + preview + compra por PIX + export CSV. Sem LinkedIn, sem Maps. Isso já é vendável. Fase 2 (outubro): waterfall de contato + WhatsApp check + integrações de CRM. Fase 3 (novembro): dataset LinkedIn licenciado + API pública + plano agência.
8. O que ficou sem resposta (não inventei)
- Cobertura real de perfis brasileiros nos datasets da Bright Data / PDL / Coresignal — precisa amostra paga.
- Preços atuais de Econodata, Driva, LeadCNPJ, BigDataCorp, Assertiva e Lemit — sob cotação.
- Taxa real de match e-mail/WhatsApp para PME brasileira — só medindo.
- Custo de Postgres gerenciado para 60 mi de empresas + 25 mi de sócios — depende do fornecedor; testar Neon vs VPS na primeira carga.
- Se a marca "MIRA" está livre no INPI — checar antes de registrar domínio.
Fontes
- Receita Federal / dados abertos: contabeis.com.br, dados.gov.br, Casa dos Dados — espelho RF, qsacnpj issue #26, cnpjstore — novo layout sócios
- Loaders: cnpj-data-pipeline, rfb-cnpj-etl, cnpj-mysql, okfn-brasil/receita, libercapital ETL
- APIs CNPJ: Hub do Desenvolvedor — 8 APIs, leadjet — Casa dos Dados, cnpj-api.com
- LinkedIn / Proxycurl: nubela — Is scraping LinkedIn legal 2026, StartupHub — Proxycurl shuts down, dev.to — 5 alternativas legais, Linked API — migração, bereach — compliance
- Datasets: Bright Data LinkedIn, apiserpent — Bright Data pricing, aimultiple — LinkedIn datasets 2026, PDL pricing — Cleanlist, PDL review — SyncGTM
- Meta v. Bright Data: Quinn Emanuel, Courthouse News, Zyte
- Apollo: warmly — Apollo pricing 2026, salesmotion, saleshandy
- Enriquecimento: hackceleration — FullEnrich vs Clay, prospeo — Clay enrichment, marketbetter — Hunter pricing, moderninbound — Snov vs Hunter, puzzleinbox — MillionVerifier, ZeroBounce pricing
- Apify: Instagram Scraper, Google Maps pricing
- WhatsApp: Z-API — verificação em lote, cubosuite — Z-API guia, zapster — comparativo
- Concorrentes BR: leadjet — alternativa Econodata, leadjet — Speedio, leadjet home, Sales Drive — ferramentas 2026, Driva — Capterra, Data Stone — Stone Station, BigDataCorp, Lemit
- LGPD: Think Data — LGPD e prospecção B2B, LeadCNPJ — LGPD, eesier — LGPD e prospecção, ANPD — Guia de Legítimo Interesse
- Pagamentos: fwctecnologia — gateways 2026, SystemForge — PIX Automático SaaS, Stripe PIX BR, Asaas PIX