Brazilian B2B Lead Intelligence
Pricing
from $10.00 / 1,000 enriched business leads
Brazilian B2B Lead Intelligence
Find and enrich Brazilian B2B leads by segment and location. Get public WhatsApp, phone, email, website and CNPJ data with deduplication and lead scoring for prospecting.
Pricing
from $10.00 / 1,000 enriched business leads
Rating
0.0
(0)
Developer
Basta Compilar
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Find Brazilian businesses and service providers by segment and location.
Get public WhatsApp numbers, phone numbers, emails, CNPJ data, social profiles, identity signals, evidence, and lead scores — already deduplicated and ready for prospecting.
Language / Idioma: English · 🇧🇷 Português (Brasil)
English
This is a Brazilian B2B Lead Intelligence Engine, not a generic Brazil scraper. You provide a segment + location. The Actor returns a prospecting-ready dataset:
- discovered businesses
- business identity resolution
- public contact discovery
- Brazilian business enrichment
- deduplication
- evidence
- lead scoring
- identity confidence
It turns fragmented public business data into clean, evidence-backed Brazil B2B leads — ready for sales prospecting.
When a choice exists between more leads and more reliable leads, reliability wins.
How to use
- Open this Actor on Apify.
- Fill Search terms with the segment, profession, or keyword (for example
eletricista). - Fill Locations as
City, UF(for exampleCampinas, SP). - Optionally set filters:
maxLeads,minLeadScore,minIdentityConfidence,includeOnlyWithContact. - Start the run.
- Export the dataset as JSON, CSV, Excel, or XML.
- Send the file to a CRM, n8n, Make, Zapier, or an AI agent workflow.
Quick example
Input
{"searchTerms": ["eletricista"],"locations": ["Campinas, SP"],"maxLeads": 100}
What happens
eletricista + Campinas/SP↓Business Discovery↓Identity Resolution↓Public Contact Discovery↓Brazilian Business Enrichment↓Deduplication↓Lead Qualification↓Prospecting-ready Dataset
Typical queries:
eletricistainCampinas, SPfotógrafoinCuritiba, PRoficina mecânicainBelo Horizonte, MG
This Actor does not return raw search results. It delivers one lead per business, with Brazilian-native normalization (DDD, +55, WhatsApp as a first-class channel, CNPJ check digits, city/state, UF/CEP). CPF is never collected.
Why this Actor is different
Most tools stop at a list of search results. This one is built as a lead intelligence engine for the Brazilian market.
It was created specifically for:
- Brazilian local businesses
- service providers
- independent professionals
- self-employed professionals
- MEIs
- micro and small businesses
It understands Brazilian business reality:
- CNPJ detection and check-digit validation
- Brazilian phone numbers and +55 normalization
- WhatsApp as a separate, evidence-based channel
- city, state, and UF
- Brazilian business identity
- local service providers and published company pages
The Actor does not just collect more business data. It tries to answer whether the contacts, website, CNPJ, and social profiles belong to the same company, then scores the lead for prospecting.
What this Actor does
It automates the chain a Brazilian SDR would otherwise do by hand: search, open sites, find the real website, collect public phone / WhatsApp / email / social / CNPJ, drop duplicates, check that contacts belong to the same business, and rank what is usable.
Use it for B2B lead generation across Brazilian companies, local shops, and service providers — then export Brazil leads into a CRM, n8n, Make, Zapier, or an AI agent workflow.
How it works
Search→ Business Discovery→ Identity Resolution→ Public Contact Discovery→ Brazilian Business Enrichment→ Evidence Validation→ Deduplication→ Lead Qualification→ Prospecting-ready Dataset
- Search finds public business mentions.
- Maps (optional) can add extra local businesses. It is off by default (
useMapsDiscovery: false). - Website enrichment visits official business sites to collect public contacts, CNPJ, and social profiles.
- CNPJ enrichment adds company registry details only when a valid CNPJ was already published on a page.
Brazilian-first enrichment
Brazil B2B prospecting depends on local identifiers. The Actor normalizes and enriches:
| Signal | What the Actor does |
|---|---|
| Phones | Detects Brazilian numbers and normalizes them with country code 55 |
| Records a number only when public WhatsApp evidence exists | |
| Extracts published addresses and keeps the source page | |
| CNPJ | Detects 14-digit CNPJs, validates check digits, formats 00.000.000/0000-00 |
| Location | Resolves city, state, UF, and avoids duplicate city queries |
| Website | Fills website only when the page looks like the business site, not a directory |
| Social | Attaches Instagram, Facebook, LinkedIn, YouTube, or TikTok from the business site or structured data |
| Company name | Prefers structured data over SEO titles such as Eletricista em Campinas |
Social profiles are attached only from the business website or structured data, not because names look similar. Directories and marketplaces do not receive website points.
WhatsApp discovery
WhatsApp is a first-class channel for Brazilian B2B prospecting — and it is not inferred from a phone number.
phonesandwhatsappare stored separately- a published phone is never copied into
whatsappautomatically - WhatsApp is recorded only when there is public evidence, such as
wa.me,api.whatsapp.com,whatsapp.com, or an explicit WhatsApp label on the page
Each WhatsApp item includes confirmedBy:
wa-link— found via a public WhatsApp URLwhatsapp-label— the page explicitly labeled the number as WhatsApp
That keeps WhatsApp leads evidence-backed instead of guessed.
Business Identity Resolution
Business Identity Resolution asks:
Do these contact details really belong to the same business?
The Actor compares signals such as:
- CNPJ
- domain
- company name
- phone
- address
- social links
- structured data
The result is identityConfidence plus identityReasons. A lead can have useful contacts and still receive a lower identity score when the evidence does not clearly tie every field to one company.
Lead Score
Lead Score measures how complete and actionable a lead is for sales prospecting.
It is a commercial completeness score. It is not the same as identity confidence.
Example: Lead Score 90 means the lead has many useful signals for contact and prospecting — website, public contacts, CNPJ, segment, and location.
| Signal | Points |
|---|---|
| Segment matches search | +20 |
| Location matches search | +15 |
| Business website found | +10 |
| Official website confirmed | +5 extra |
| Public phone found | +10 |
| Public WhatsApp found | +15 |
| Public email found | +10 |
| Public social profile found | +5 |
| Valid CNPJ found | +10 |
| Business name identified | +5 |
Official website confirmed is used only when identity is strong and structured data or a valid CNPJ supports the site. Otherwise the Actor reports Business website found.
Lead Score is capped by identity so a noisy bag of contacts cannot look like a perfect lead:
| Identity confidence | Max lead score |
|---|---|
| < 30 | 50 |
| 30–49 | 70 |
| 50–69 | 85 |
| ≥ 70 | 100 |
Identity Confidence
Identity Confidence measures how confident the Actor is that the collected information belongs to the same business.
These two numbers are independent.
| Example | Meaning |
|---|---|
| Lead Score 90 / Identity Confidence 95 | Highly actionable lead and highly reliable business identity |
| Lead Score 80 / Identity Confidence 35 | Useful contacts exist, but there is less evidence linking all fields to the same company |
| Signal | Points |
|---|---|
| Valid CNPJ found on the business website | +30 |
| Name consistent / present in structured data | +20 |
| Phone recurring across pages | +15 |
| WhatsApp matches published phone | +10 |
| Email uses the business domain | +10 |
| Structured data consistent | +10 |
| Address/location consistent with the page | +5 |
| Name only from weak on-page text | −15 |
| Directory or marketplace website | −20 |
| Conflicting identity data | −20 |
| Too many unrelated phones | −15 |
For a conservative dataset, filter with minIdentityConfidence (for example 60). companyName may be null when the only evidence is an SEO title; the lead can still be kept if it has public contacts.
scoreReasons explain the commercial score. identityReasons explain identity confidence.
Evidence / Provenance
Every important field can carry its origin. You can see where a phone, email, WhatsApp number, CNPJ, or business name was found.
{"value": "contato@example.com","sourceUrl": "https://example.com/contato","sourceType": "mailto"}
Typical sourceType values include mailto, tel-link, wa-link, json-ld, page-content, search-result, and structured-data.
sourceUrl is where the lead or field was found. website is filled only when the page is identified as the business site (not a directory or marketplace).
Smart Deduplication
The Actor consolidates multiple public mentions of the same company into one business, one lead.
Search result+ business website+ contact page+ CNPJ↓ONE BUSINESSONE LEAD
When deduplicate is enabled, identity uses strong signals in this order:
- CNPJ
- website / domain
- phone
- non-generic company name + location
Generic titles such as Eletricista Campinas are not used as a unique identity. Each business gets a stable leadId.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | string[] | required | Industries, professions, or keywords |
locations | string[] | required | Cities or regions, preferably City, UF |
maxLeads | integer | 100 | Maximum final leads in the dataset (1–500) |
minLeadScore | integer | 0 | Keep leads with lead score ≥ this value |
minIdentityConfidence | integer | 0 | Keep leads with identity confidence ≥ this value |
extractContacts | boolean | true | Extract public emails and phones |
extractSocialLinks | boolean | true | Extract public social profile URLs |
extractCnpj | boolean | true | Detect and validate published CNPJ numbers |
crawlBusinessWebsite | boolean | true | Visit official websites for enrichment |
maxPagesPerWebsite | integer | 3 | Max pages per website |
includeOnlyWithContact | boolean | false | Keep only leads with phone, WhatsApp, or email |
deduplicate | boolean | true | Merge the same business across queries |
useMapsDiscovery | boolean | false | Optional maps supplement. Off by default |
proxyConfiguration | object | optional | Apify Proxy / custom proxy |
maxLeads is a cap on output leads — and therefore on lead-result Pay Per Event charges for that run. The Actor may inspect more candidates in order to produce enough valid results, then stop. You can also set a spending limit on the Apify run; the run stops when either limit is reached.
Input examples
Small run:
{"searchTerms": ["eletricista"],"locations": ["Campinas, SP"],"maxLeads": 10,"minLeadScore": 0,"minIdentityConfidence": 0,"extractContacts": true,"extractSocialLinks": true,"extractCnpj": true,"crawlBusinessWebsite": true,"maxPagesPerWebsite": 3,"includeOnlyWithContact": false,"deduplicate": true,"useMapsDiscovery": false}
Multi-term / multi-city:
{"searchTerms": ["eletricista", "instalação elétrica"],"locations": ["Campinas, SP", "Jundiaí, SP"],"maxLeads": 100,"minLeadScore": 40,"minIdentityConfidence": 60,"includeOnlyWithContact": true,"deduplicate": true}
Those terms and locations generate:
eletricista Campinas SPeletricista Jundiaí SPinstalação elétrica Campinas SPinstalação elétrica Jundiaí SP
Equivalent locations such as Campinas, SP and Campinas SP are not queried twice.
Output
Each dataset item is one business lead. Export it as JSON, CSV, Excel, or XML. After the run you also get a summary with totals and average scores.
The JSON below is an illustrative example, not a real company record.
{"leadId": "ld_2095575a39ea678a","companyName": "Elétrica Lira","legalName": null,"description": "Instalações e manutenção elétrica","searchTerm": "eletricista","matchedLocation": "Campinas, SP","source": "web","sourceUrl": "https://example.com","website": "https://example.com","websiteType": "business","contacts": {"emails": ["contato@example.com"],"phones": ["5519999999999"],"whatsapp": [{"number": "5519999999999","url": "https://wa.me/5519999999999","sourceUrl": "https://example.com/contato","confirmedBy": "wa-link"}]},"social": {"instagram": "https://instagram.com/example","facebook": null,"linkedin": null,"youtube": null,"tiktok": null},"address": {"formatted": "Campinas - SP","city": "Campinas","state": "SP","country": "BR"},"company": {"cnpj": "12345678000190","cnpjFormatted": "12.345.678/0001-90","cnpjValid": true,"cnae": null,"companySize": null},"detectedServices": ["instalação elétrica"],"leadScore": 90,"scoreReasons": ["Segment matches search","Location matches search","Business website found","Public WhatsApp found","Public email found"],"identityConfidence": 95,"identityReasons": ["Business name found in structured data","Phone appears consistently across website pages","WhatsApp number matches published phone"],"evidence": {"companyName": [{"value": "Elétrica Lira","sourceUrl": "https://example.com","sourceType": "json-ld"}],"email": [{"value": "contato@example.com","sourceUrl": "https://example.com/contato","sourceType": "mailto"}],"phone": [{"value": "5519999999999","sourceUrl": "https://example.com/contato","sourceType": "tel-link"}],"whatsapp": [{"value": "5519999999999","sourceUrl": "https://example.com/contato","sourceType": "wa-link"}],"cnpj": [{"value": "12345678000190","sourceUrl": "https://example.com","sourceType": "page-content"}],"legalName": [],"website": [{"value": "https://example.com","sourceUrl": "https://example.com","sourceType": "page-content"}]},"collectedAt": "2026-09-08T18:00:00.000Z"}
Missing scalars stay null. Missing collections stay []. The Actor does not invent company names, Instagram URLs, CNPJs, or phone numbers.
The run summary includes how many queries ran, how many leads were delivered, how many had WhatsApp / email / CNPJ, and the average scores.
Use cases
- B2B prospecting
- SDR lead generation
- local business discovery
- sales automation
- CRM enrichment
- Brazilian market research
- agency prospecting
- AI agents
- n8n workflows
- Make / Zapier workflows
- business enrichment
- WhatsApp-first outreach from numbers the business published itself
- filtering noisy directories into unique companies with Lead Score + Identity Confidence
Pricing
This Actor uses Pay Per Event / Pay Per Result pricing.
You pay for final delivered leads, not for raw search results.
You are not charged for:
- search queries
- crawled pages
- duplicate businesses
- rejected candidates
- failed pages
- leads filtered out by your minimum score settings
1 lead-result event = 1 final lead delivered to the Dataset.
The event does not mean “1 scraped page” or “1 search result”. It means 1 qualified Brazilian B2B lead that has passed discovery, enrichment, identity resolution, deduplication, scoring, and your filters.
| Event name | Title | Meaning |
|---|---|---|
lead-result | Qualified B2B lead | One final Brazilian B2B lead delivered to the Dataset |
See the current price on the Actor page. Prices can change.
User limits
You can combine maxLeads with the run spending limit.
{"maxLeads": 100}
means at most 100 final leads, and therefore at most 100 lead-result events, as long as the run budget still allows them. If the spending limit is hit first, the Actor stops new billable leads, keeps the leads already delivered, writes the summary, and exits successfully.
Public data policy
This Actor is designed for public business data: information that Brazilian companies and service providers publish on public pages.
It does not collect or attempt to collect:
- private pages
- authentication-protected content
- passwords
- tokens
- hidden personal data
- sensitive personal data
- CPF numbers
- guessed social profiles or invented registry information
It also does not break CAPTCHAs, bypass logins, or open authenticated pages.
If a page is blocked or unavailable, that source is skipped.
This README is not legal advice and does not promise absolute legal compliance. Users are responsible for using collected data in accordance with applicable laws, platform terms, and their own compliance requirements.
Limitations
- Some public pages may be rate-limited or blocked. Configure a proxy when needed.
- Not every business has a website, email, WhatsApp, or CNPJ on a public page.
- Website visits are capped (
maxPagesPerWebsite) and skip blogs, tags, shops, and account areas. - Extra CNPJ company details may be missing even when a CNPJ was found.
- Lead Score and Identity Confidence are based on public signals. They are not a guarantee that a number is reachable or that a company is still operating.
- The Actor does not collect data from private platforms or logged-in accounts.
FAQ
Does this Actor replace a CRM?
No. It produces a clean dataset you can export or send to a CRM via Apify integrations.
Why are some fields null?
Because they were not found on a public page. Missing data is preferred over invented data.
Is every phone a WhatsApp number?
No. WhatsApp is recorded only with public evidence (wa.me, api.whatsapp.com, whatsapp.com, or an explicit WhatsApp label next to a number). The field confirmedBy tells you which kind of evidence was used.
Does it collect CPF?
No. Only CNPJ (14 digits, check digits validated). Personal CPF numbers are ignored.
Will the same shop return twice?
Not if deduplicate is enabled. Identity uses CNPJ → website/domain → WhatsApp → phone → email → non-generic name + location. Generic titles such as Eletricista Campinas are not used as a unique identity.
Why is companyName null?
Because title, H1, or domain text was not enough evidence that it is the commercial name. The Actor prefers null over an invented SEO phrase. The lead is still stored if it has useful public contacts.
What is the difference between sourceUrl and website?
sourceUrl is where the lead was found. website is the business website when the Actor can classify the page as belonging to the company. Directory and marketplace pages keep sourceUrl and set website to null.
Do I need an extra API key?
No. Fill in the search terms and locations and run the Actor.
🇧🇷 Português (Brasil)
Encontre empresas e prestadores de serviços brasileiros por segmento e localização.
Obtenha WhatsApp público, telefones, e-mails, dados de CNPJ, redes sociais, sinais de identidade, evidências e pontuação de leads — já deduplicados e prontos para prospecção.
Este é um motor de inteligência de leads B2B brasileiros, não um scraper genérico do Brasil. Você informa um segmento + localização. O Actor devolve uma base pronta para prospecção:
- empresas encontradas
- resolução de identidade
- descoberta de contatos públicos
- enriquecimento com dados brasileiros
- deduplicação
- evidências
- Lead Score
- Identity Confidence
Ele transforma dados públicos espalhados em leads B2B do Brasil limpos e com evidência — prontos para vendas.
Quando existir escolha entre mais leads e leads mais confiáveis, a confiabilidade vence.
Como usar
- Abra este Actor na Apify.
- Preencha Search terms com o segmento, profissão ou palavra-chave (por exemplo
eletricista). - Preencha Locations no formato
Cidade, UF(por exemploCampinas, SP). - Se quiser, ajuste filtros:
maxLeads,minLeadScore,minIdentityConfidence,includeOnlyWithContact. - Inicie a execução.
- Exporte o dataset em JSON, CSV, Excel ou XML.
- Envie o arquivo para um CRM, n8n, Make, Zapier ou um fluxo com agente de IA.
Exemplo rápido
Entrada
{"searchTerms": ["eletricista"],"locations": ["Campinas, SP"],"maxLeads": 100}
O que acontece
eletricista + Campinas/SP↓Descoberta de empresas↓Resolução de identidade↓Descoberta de contatos públicos↓Enriquecimento brasileiro↓Deduplicação↓Qualificação do lead↓Base pronta para prospecção
Consultas típicas:
eletricistaemCampinas, SPfotógrafoemCuritiba, PRoficina mecânicaemBelo Horizonte, MG
Este Actor não devolve resultados brutos de busca. Ele entrega um lead por empresa, com normalização brasileira (DDD, +55, WhatsApp como canal de primeira classe, dígitos verificadores de CNPJ, cidade/estado, UF/CEP). CPF nunca é coletado.
Por que este Actor é diferente
A maioria das ferramentas para em uma lista de resultados de busca. Esta foi feita como um motor de inteligência de leads para o mercado brasileiro.
Foi criado especificamente para:
- negócios locais brasileiros
- prestadores de serviços
- profissionais independentes
- autônomos
- MEIs
- micro e pequenas empresas
Ele entende a realidade empresarial brasileira:
- detecção de CNPJ e validação dos dígitos verificadores
- telefones brasileiros e normalização +55
- WhatsApp como canal separado e baseado em evidência
- cidade, estado e UF
- identidade empresarial brasileira
- prestadores locais e páginas oficiais da empresa
O Actor não apenas coleta mais dados. Ele tenta responder se os contatos, o site, o CNPJ e as redes sociais pertencem à mesma empresa, e depois pontua o lead para prospecção.
O que este Actor faz
Ele automatiza o que um SDR brasileiro faria à mão: buscar, abrir sites, achar o site real, coletar telefone / WhatsApp / e-mail / redes / CNPJ públicos, remover duplicatas, conferir se os contatos são da mesma empresa e ranquear o que é utilizável.
Use para geração de leads B2B de empresas, comércios e prestadores no Brasil — e exporte os leads para CRM, n8n, Make, Zapier ou um fluxo com IA.
Como funciona
Busca→ Descoberta de empresas→ Resolução de identidade→ Descoberta de contatos públicos→ Enriquecimento brasileiro→ Validação de evidências→ Deduplicação→ Qualificação do lead→ Base pronta para prospecção
- Busca encontra menções públicas de empresas.
- Mapas (opcional) podem acrescentar mais negócios locais. Ficam desligados por padrão (
useMapsDiscovery: false). - Enriquecimento de site visita o site oficial para coletar contatos públicos, CNPJ e redes sociais.
- Enriquecimento de CNPJ acrescenta dados cadastrais só quando um CNPJ válido já estava publicado na página.
Enriquecimento pensado para o Brasil
A prospecção B2B no Brasil depende de identificadores locais. O Actor normaliza e enriquece:
| Sinal | O que o Actor faz |
|---|---|
| Telefones | Detecta números brasileiros e normaliza com o código 55 |
| Registra o número só quando existe evidência pública de WhatsApp | |
| Extrai endereços publicados e guarda a página de origem | |
| CNPJ | Detecta CNPJs de 14 dígitos, valida os dígitos verificadores e formata 00.000.000/0000-00 |
| Localização | Resolve cidade, estado e UF, e evita consultar a mesma cidade duas vezes |
| Site | Preenche website só quando a página parece ser o site da empresa, não um diretório |
| Redes | Anexa Instagram, Facebook, LinkedIn, YouTube ou TikTok a partir do site ou de dados estruturados |
| Nome da empresa | Prefere dados estruturados a títulos de SEO como Eletricista em Campinas |
Perfis sociais só entram se vierem do site da empresa ou de dados estruturados — não porque os nomes se parecem. Diretórios e marketplaces não ganham pontos de site oficial.
Descoberta de WhatsApp
WhatsApp é um canal de primeira classe na prospecção B2B brasileira — e não é inferido a partir de um telefone.
phonesewhatsappsão gravados em campos separados- um telefone publicado nunca é copiado automaticamente para
whatsapp - o WhatsApp só é registrado quando há evidência pública, como
wa.me,api.whatsapp.com,whatsapp.comou um rótulo explícito de WhatsApp na página
Cada item de WhatsApp inclui confirmedBy:
wa-link— encontrado em uma URL pública de WhatsAppwhatsapp-label— a página rotulou o número explicitamente como WhatsApp
Assim, os leads de WhatsApp vêm com evidência, não com chute.
Resolução de identidade
A resolução de identidade pergunta:
Esses contatos pertencem mesmo à mesma empresa?
O Actor compara sinais como:
- CNPJ
- domínio
- nome da empresa
- telefone
- endereço
- redes sociais
- dados estruturados
O resultado é identityConfidence mais identityReasons. Um lead pode ter contatos úteis e mesmo assim receber uma confiança de identidade menor quando a evidência não amarra todos os campos à mesma empresa.
Lead Score
O Lead Score mede o quão completo e acionável o lead é para prospecção.
É uma pontuação de completude comercial. Não é a mesma coisa que Identity Confidence.
Exemplo: Lead Score 90 significa que o lead tem muitos sinais úteis para contato e prospecção — site, contatos públicos, CNPJ, segmento e localização.
| Sinal | Pontos |
|---|---|
| Segmento combina com a busca | +20 |
| Localização combina com a busca | +15 |
| Site da empresa encontrado | +10 |
| Site oficial confirmado | +5 extra |
| Telefone público encontrado | +10 |
| WhatsApp público encontrado | +15 |
| E-mail público encontrado | +10 |
| Rede social pública encontrada | +5 |
| CNPJ válido encontrado | +10 |
| Nome da empresa identificado | +5 |
Site oficial confirmado só entra quando a identidade é forte e dados estruturados ou um CNPJ válido sustentam o site. Caso contrário, o Actor registra Site da empresa encontrado.
O Lead Score é limitado pela identidade, para um saco de contatos barulhentos não parecer um lead perfeito:
| Identity Confidence | Lead Score máximo |
|---|---|
| < 30 | 50 |
| 30–49 | 70 |
| 50–69 | 85 |
| ≥ 70 | 100 |
Identity Confidence
A Identity Confidence mede o quanto o Actor confia que as informações coletadas pertencem à mesma empresa.
Os dois números são independentes.
| Exemplo | Significado |
|---|---|
| Lead Score 90 / Identity Confidence 95 | Lead muito acionável e identidade empresarial bem sustentada |
| Lead Score 80 / Identity Confidence 35 | Há contatos úteis, mas menos evidência ligando todos os campos à mesma empresa |
| Sinal | Pontos |
|---|---|
| CNPJ válido encontrado no site da empresa | +30 |
| Nome consistente / presente em dados estruturados | +20 |
| Telefone recorrente entre páginas | +15 |
| WhatsApp coincide com o telefone publicado | +10 |
| E-mail usa o domínio da empresa | +10 |
| Dados estruturados consistentes | +10 |
| Endereço/localização consistente com a página | +5 |
| Nome só a partir de texto fraco na página | −15 |
| Site de diretório ou marketplace | −20 |
| Dados de identidade conflitantes | −20 |
| Telefones demais e sem relação | −15 |
Para uma base mais conservadora, filtre com minIdentityConfidence (por exemplo 60). companyName pode ser null quando a única evidência é um título de SEO; o lead ainda pode ser mantido se tiver contatos públicos.
scoreReasons explicam a pontuação comercial. identityReasons explicam a confiança de identidade.
Evidência / procedência
Todo campo importante pode carregar a origem. Você vê onde um telefone, e-mail, WhatsApp, CNPJ ou nome da empresa foi encontrado.
{"value": "contato@example.com","sourceUrl": "https://example.com/contato","sourceType": "mailto"}
Valores típicos de sourceType incluem mailto, tel-link, wa-link, json-ld, page-content, search-result e structured-data.
sourceUrl é onde o lead ou o campo foi encontrado. website só é preenchido quando a página é identificada como o site da empresa (não um diretório ou marketplace).
Deduplicação
O Actor consolida várias menções públicas da mesma empresa em uma empresa, um lead.
Resultado de busca+ site da empresa+ página de contato+ CNPJ↓UMA EMPRESAUM LEAD
Quando deduplicate está ligado, a identidade usa sinais fortes nesta ordem:
- CNPJ
- site / domínio
- telefone
- nome não genérico + localização
Títulos genéricos como Eletricista Campinas não são usados como identidade única. Cada empresa recebe um leadId estável.
Entrada
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
searchTerms | string[] | obrigatório | Segmentos, profissões ou palavras-chave |
locations | string[] | obrigatório | Cidades ou regiões, de preferência Cidade, UF |
maxLeads | integer | 100 | Máximo de leads finais no dataset (1–500) |
minLeadScore | integer | 0 | Manter leads com Lead Score ≥ este valor |
minIdentityConfidence | integer | 0 | Manter leads com Identity Confidence ≥ este valor |
extractContacts | boolean | true | Extrair e-mails e telefones públicos |
extractSocialLinks | boolean | true | Extrair URLs públicas de redes sociais |
extractCnpj | boolean | true | Detectar e validar CNPJs publicados |
crawlBusinessWebsite | boolean | true | Visitar sites oficiais para enriquecimento |
maxPagesPerWebsite | integer | 3 | Máximo de páginas por site |
includeOnlyWithContact | boolean | false | Manter só leads com telefone, WhatsApp ou e-mail |
deduplicate | boolean | true | Unir a mesma empresa entre consultas |
useMapsDiscovery | boolean | false | Complemento opcional via mapas. Desligado por padrão |
proxyConfiguration | object | opcional | Apify Proxy / proxy próprio |
maxLeads limita os leads de saída — e portanto os eventos lead-result cobrados naquela execução. O Actor pode inspecionar mais candidatos para produzir resultados válidos suficientes e então parar. Você também pode definir um limite de gasto na execução da Apify; a execução para quando qualquer um dos limites é atingido.
Exemplos de entrada
Execução pequena:
{"searchTerms": ["eletricista"],"locations": ["Campinas, SP"],"maxLeads": 10,"minLeadScore": 0,"minIdentityConfidence": 0,"extractContacts": true,"extractSocialLinks": true,"extractCnpj": true,"crawlBusinessWebsite": true,"maxPagesPerWebsite": 3,"includeOnlyWithContact": false,"deduplicate": true,"useMapsDiscovery": false}
Vários termos / várias cidades:
{"searchTerms": ["eletricista", "instalação elétrica"],"locations": ["Campinas, SP", "Jundiaí, SP"],"maxLeads": 100,"minLeadScore": 40,"minIdentityConfidence": 60,"includeOnlyWithContact": true,"deduplicate": true}
Esses termos e localizações geram:
eletricista Campinas SPeletricista Jundiaí SPinstalação elétrica Campinas SPinstalação elétrica Jundiaí SP
Localizações equivalentes como Campinas, SP e Campinas SP não são consultadas duas vezes.
Saída
Cada item do dataset é um lead de empresa. Exporte como JSON, CSV, Excel ou XML. Depois da execução você também recebe um resumo com totais e médias de pontuação.
O JSON abaixo é um exemplo ilustrativo, não um registro de empresa real.
{"leadId": "ld_2095575a39ea678a","companyName": "Elétrica Lira","legalName": null,"description": "Instalações e manutenção elétrica","searchTerm": "eletricista","matchedLocation": "Campinas, SP","source": "web","sourceUrl": "https://example.com","website": "https://example.com","websiteType": "business","contacts": {"emails": ["contato@example.com"],"phones": ["5519999999999"],"whatsapp": [{"number": "5519999999999","url": "https://wa.me/5519999999999","sourceUrl": "https://example.com/contato","confirmedBy": "wa-link"}]},"social": {"instagram": "https://instagram.com/example","facebook": null,"linkedin": null,"youtube": null,"tiktok": null},"address": {"formatted": "Campinas - SP","city": "Campinas","state": "SP","country": "BR"},"company": {"cnpj": "12345678000190","cnpjFormatted": "12.345.678/0001-90","cnpjValid": true,"cnae": null,"companySize": null},"detectedServices": ["instalação elétrica"],"leadScore": 90,"scoreReasons": ["Segment matches search","Location matches search","Business website found","Public WhatsApp found","Public email found"],"identityConfidence": 95,"identityReasons": ["Business name found in structured data","Phone appears consistently across website pages","WhatsApp number matches published phone"],"evidence": {"companyName": [{"value": "Elétrica Lira","sourceUrl": "https://example.com","sourceType": "json-ld"}],"email": [{"value": "contato@example.com","sourceUrl": "https://example.com/contato","sourceType": "mailto"}],"phone": [{"value": "5519999999999","sourceUrl": "https://example.com/contato","sourceType": "tel-link"}],"whatsapp": [{"value": "5519999999999","sourceUrl": "https://example.com/contato","sourceType": "wa-link"}],"cnpj": [{"value": "12345678000190","sourceUrl": "https://example.com","sourceType": "page-content"}],"legalName": [],"website": [{"value": "https://example.com","sourceUrl": "https://example.com","sourceType": "page-content"}]},"collectedAt": "2026-09-08T18:00:00.000Z"}
Campos simples ausentes ficam null. Coleções ausentes ficam []. O Actor não inventa nome de empresa, Instagram, CNPJ ou telefone.
O resumo da execução mostra quantas consultas rodaram, quantos leads foram entregues, quantos tinham WhatsApp / e-mail / CNPJ e as médias de pontuação.
Casos de uso
- prospecção B2B
- geração de leads para SDR
- descoberta de negócios locais
- automação de vendas
- enriquecimento de CRM
- pesquisa de mercado no Brasil
- prospecção para agências
- agentes de IA
- fluxos no n8n
- fluxos no Make / Zapier
- enriquecimento empresarial
- abordagem via WhatsApp a partir de números que a própria empresa publicou
- filtrar diretórios barulhentos em empresas únicas com Lead Score + Identity Confidence
Preço
Este Actor usa cobrança Pay Per Event / Pay Per Result.
Você paga pelos leads finais entregues, não pelos resultados brutos de busca.
Você não é cobrado por:
- consultas de busca
- páginas visitadas
- empresas duplicadas
- candidatos rejeitados
- páginas com falha
- leads filtrados pelos seus limites mínimos de pontuação
1 evento lead-result = 1 lead final entregue no Dataset.
O evento não significa “1 página raspada” nem “1 resultado de busca”. Significa 1 lead B2B brasileiro qualificado que passou por descoberta, enriquecimento, identidade, deduplicação, pontuação e pelos seus filtros.
| Nome do evento | Título | Significado |
|---|---|---|
lead-result | Qualified B2B lead | Um lead B2B brasileiro final entregue no Dataset |
Veja o preço atual na página do Actor. Os preços podem mudar.
Limites do usuário
Você pode combinar maxLeads com o limite de gasto da execução.
{"maxLeads": 100}
significa no máximo 100 leads finais, e portanto no máximo 100 eventos lead-result, enquanto o orçamento da execução ainda permitir. Se o limite de gasto for atingido primeiro, o Actor para de gerar novos leads cobráveis, mantém os já entregues, grava o resumo e encerra com sucesso.
Política de dados públicos
Este Actor foi desenhado para dados empresariais públicos: informações que empresas e prestadores brasileiros publicam em páginas abertas.
Ele não coleta nem tenta coletar:
- páginas privadas
- conteúdo protegido por autenticação
- senhas
- tokens
- dados pessoais ocultos
- dados pessoais sensíveis
- números de CPF
- redes sociais inventadas ou dados cadastrais inventados
Também não quebra CAPTCHAs, não burla logins e não abre páginas autenticadas.
Se uma página estiver bloqueada ou indisponível, aquela fonte é ignorada.
Este README não é aconselhamento jurídico e não promete conformidade legal absoluta. Os usuários são responsáveis por usar os dados coletados de acordo com as leis aplicáveis, os termos das plataformas e os próprios requisitos de compliance.
Limitações
- Algumas páginas públicas podem ser limitadas ou bloqueadas. Configure um proxy quando necessário.
- Nem toda empresa tem site, e-mail, WhatsApp ou CNPJ em página pública.
- A visita a sites é limitada (
maxPagesPerWebsite) e ignora blogs, tags, lojas e áreas de conta. - Dados cadastrais extras de CNPJ podem faltar mesmo quando o CNPJ foi encontrado.
- Lead Score e Identity Confidence se baseiam em sinais públicos. Eles não garantem que um número atenda nem que a empresa ainda esteja em operação.
- O Actor não coleta dados de plataformas privadas nem de contas logadas.
Perguntas frequentes
Este Actor substitui um CRM?
Não. Ele produz um dataset limpo que você pode exportar ou enviar a um CRM pelas integrações da Apify.
Por que alguns campos vêm nulos?
Porque não foram encontrados em página pública. Dado ausente é preferível a dado inventado.
Todo telefone é WhatsApp?
Não. O WhatsApp só é registrado com evidência pública (wa.me, api.whatsapp.com, whatsapp.com ou um rótulo explícito de WhatsApp ao lado do número). O campo confirmedBy indica o tipo de evidência.
Ele coleta CPF?
Não. Apenas CNPJ (14 dígitos, com validação dos dígitos verificadores). CPFs pessoais são ignorados.
A mesma loja volta duas vezes?
Não, se deduplicate estiver ligado. A identidade usa CNPJ → site/domínio → WhatsApp → telefone → e-mail → nome não genérico + localização. Títulos genéricos como Eletricista Campinas não servem como identidade única.
Por que companyName veio nulo?
Porque título, H1 ou texto do domínio não foram evidência suficiente de que aquele é o nome comercial. O Actor prefere null a uma frase de SEO inventada. O lead ainda é gravado se tiver contatos públicos úteis.
Qual a diferença entre sourceUrl e website?
sourceUrl é onde o lead foi encontrado. website é o site da empresa quando o Actor consegue classificar a página como da companhia. Páginas de diretório e marketplace mantêm sourceUrl e deixam website como null.
Preciso de alguma chave de API extra?
Não. Preencha os termos e as localizações e execute o Actor.