Google Maps Leads Extractor
Pricing
from $2.10 / 1,000 lead extracteds
Google Maps Leads Extractor
Extract Google Maps leads enriched with emails, CNPJ (Brazil), CNAE classification, social media profiles, and WhatsApp validation. Brazil-optimized for B2B sales teams, SDRs, and lead-gen agencies.
Pricing
from $2.10 / 1,000 lead extracteds
Rating
0.0
(0)
Developer
Gerson Cesar
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
3
Monthly active users
8 days ago
Last modified
Categories
Share
Extract qualified B2B leads from Google Maps, then enrich them with emails, CNPJ details, and WhatsApp validation — in a single run. Built for Brazilian sales teams, SDRs, and lead-generation agencies who need fresh, regulatory-classified, contact-ready leads.
What does Google Maps Leads Extractor do?
This Actor scrapes Google Maps search results and, optionally, visits each business's website to extract emails, CNPJ numbers, and social media links. For Brazilian businesses, it can further enrich the CNPJ with razão social, CNAE classification, capital social, and registration details via BrasilAPI. It can also check whether the business phone has a WhatsApp account.
Try it directly on the Apify platform — no Google API key, no Facebook login, no manual exports required.
Why use Google Maps Leads Extractor — Brazil-optimized?
- Find business emails at scale — The Actor visits each business's website (homepage + common contact paths) and extracts every email it finds
- Detect CNPJ from website footers — Brazilian commercial websites legally must display their CNPJ; the Actor scans for it and returns the formatted number
- Auto-enrich CNPJ via BrasilAPI — Get razão social, CNAE classification, capital social, partner list, and tax registration data automatically
- WhatsApp Business validation — Best-effort check whether each lead's phone has WhatsApp (LATAM advantage no other actor offers)
- Standard Google Maps fields — Name, address, phone, website, rating, reviews, opening hours, coordinates, Plus Code
- Outbound-ready output — JSON, CSV, or Excel; or pipe to Google Sheets, HubSpot, Pipedrive via Apify integrations
How to use Google Maps Leads Extractor
- Open the Actor on Apify and click Try for free
- Enter your search term — e.g. "restaurantes italianos", "clínicas odontológicas"
- Enter a location — city, region, or neighborhood
- Pick a language for Google Maps UI (en, pt, es, fr, de, it)
- Enable the Brazilian enrichments:
- ✅ "Extract Emails" — visits business websites for emails + social links
- ✅ "Extract CNPJ" — scans website footers for CNPJ
- ✅ "Enrich CNPJ with BrasilAPI" — fetches razão social, CNAE, capital social
- ✅ "Check WhatsApp Business" — heuristic check on each lead's phone
- Click Run and download results as JSON, CSV, or Excel
Input
| Field | Required | Default | Description |
|---|---|---|---|
searchTerm | ✅ | — | What to search (e.g. "restaurantes italianos") |
location | ✅ | — | Where to search (e.g. "Pinheiros, São Paulo") |
maxResults | ❌ | 50 | Number of leads to extract (1–500) |
language | ❌ | en | UI language: en, pt, es, fr, de, it |
includeHours | ❌ | true | Extract opening hours |
includeEmails | ❌ | false | Visit websites for emails + social links (+3–8s/lead) |
includeCnpj | ❌ | false | Scan website for CNPJ (Brazil) |
enrichCnpj | ❌ | false | Call BrasilAPI for full CNPJ details |
checkWhatsapp | ❌ | false | Heuristic WhatsApp Business check |
Example input (Brazilian B2B prospecting):
{"searchTerm": "clínicas odontológicas","location": "São Paulo, Brasil","maxResults": 100,"language": "pt","includeEmails": true,"includeCnpj": true,"enrichCnpj": true,"checkWhatsapp": true}
Output
Each business is saved as a structured JSON item in the Apify Dataset. Download in JSON, CSV, HTML, or Excel from the Apify Console.
Example output item (full enrichment):
{"name": "Aguzzo Cucina Italiana - Pinheiros","address": "R. Simão Álvares, 325 - Pinheiros, São Paulo - SP, 05417-030","phone": "1130837363","website": "https://aguzzo.com.br/","category": "Restaurante italiano","rating": 4.5,"reviewsCount": 2138,"priceLevel": null,"latitude": -23.5648215,"longitude": -46.6882484,"googleMapsUrl": "https://www.google.com/maps/place/Aguzzo+Cucina+Italiana+-+Pinheiros/...","plusCode": "C8P6+3P Pinheiros, São Paulo - SP","openingHours": ["segunda-feira: 12:00–15:00, 19:00–23:00","terça-feira: 12:00–15:00, 19:00–23:00"],"emails": ["contato@aguzzo.com.br", "reservas@aguzzo.com.br"],"socialLinks": {"facebook": "https://facebook.com/aguzzopinheiros","instagram": "https://instagram.com/aguzzocucinaitaliana","whatsapp": "https://wa.me/5511999998888"},"cnpj": "12.345.678/0001-99","cnpjData": {"cnpj": "12.345.678/0001-99","razao_social": "AGUZZO CUCINA ITALIANA LTDA","nome_fantasia": "Aguzzo Pinheiros","cnae_fiscal_descricao": "Restaurantes e similares","cnae_fiscal": 5611201,"porte": "ME","capital_social": 50000,"natureza_juridica": "Sociedade Empresária Limitada","data_inicio_atividade": "2018-03-15","municipio": "SAO PAULO","uf": "SP","enrichedFrom": "brasilapi"},"whatsappBusiness": true,"searchQuery": "restaurantes italianos | Pinheiros, São Paulo, Brasil","scrapedAt": "2026-05-27T16:08:12.432Z"}
Data table
| Field | Type | Description |
|---|---|---|
name | string | Business name |
address | string | null | Full street address |
phone | string | null | Phone digits with optional + prefix |
website | string | null | Business website URL |
category | string | null | Google's category |
rating | number | null | Average rating 0–5 |
reviewsCount | number | null | Total Google reviews |
priceLevel | string | null | $, $$, $$$, $$$$ |
latitude | number | null | Decimal degrees |
longitude | number | null | Decimal degrees |
googleMapsUrl | string | Canonical Place URL |
plusCode | string | null | Google Plus Code |
openingHours | string[] | null | Day-formatted hours |
emails | string[] | null | Emails extracted from website (when includeEmails is true) |
socialLinks | object | null | Facebook, Instagram, LinkedIn, etc. URLs found on website |
cnpj | string | null | CNPJ formatted "XX.XXX.XXX/XXXX-XX" (when includeCnpj is true) |
cnpjData | object | null | BrasilAPI enrichment: razão social, CNAE, capital social, etc. |
whatsappBusiness | boolean | null | Whether phone has WhatsApp (best-effort) |
searchQuery | string | Original search (audit field) |
scrapedAt | string | ISO 8601 timestamp |
Pricing — how much does it cost to find Brazilian B2B leads?
This Actor uses Pay Per Event (PPE) pricing. The price scales with how much enrichment you request:
| Mode | Output | Price |
|---|---|---|
| Basic (no flags) | Google Maps standard fields | $2.10 / 1,000 leads |
| + Email Finder | Above + emails + social links | $4.50 / 1,000 leads |
| Full Brazil enrichment | Above + CNPJ + razão social + CNAE + WhatsApp | $7.50 / 1,000 leads |
- You only pay the enrichment fee when we actually deliver enriched data. If a business has no website, no CNPJ, and no social links, you pay only the base lead rate — never the enrichment premium for an empty result.
- Example: 100 fully enriched leads (CNPJ + email + WhatsApp) costs about $0.75
- Agency workflow: 5,000 fresh enriched B2B leads/week ≈ $37.50/week
- Free tier: New Apify accounts get $5 credit — about 600 fully enriched leads at no cost
Tips and advanced options
- Start small: Run with
maxResults: 5first to verify the enrichment flags do what you expect - Match the language to the location: Use
language: "pt"for Brazilian cities — categories, opening hours, and addresses come back localized - Disable enrichments for speed: Each enrichment flag adds time. For just contact data, leave
enrichCnpjandcheckWhatsappoff - Refine location for better hits: "Vila Mariana, São Paulo" beats just "São Paulo" — more relevant, fewer dupes
- Schedule weekly: Use Apify's scheduler to auto-refresh competitor and prospect lists; pipe to your CRM via integrations
- WhatsApp check is heuristic: It may have false negatives (a number that does have WhatsApp returning false). Treat the
whatsappBusinessfield as a hint, not a guarantee
FAQ, disclaimers, and support
Is this legal? Google Maps and Brazilian commercial websites are publicly accessible. CNPJ is public information by Brazilian law. This Actor extracts only what's visible to any human visitor.
Why are some cnpj fields null? Not every business has a website, and not every website displays the CNPJ visibly. The Actor returns null gracefully; no run is killed by a missing CNPJ.
Why is whatsappBusiness sometimes null? The WhatsApp check is a best-effort heuristic — when wa.me returns an ambiguous page, we return null rather than guess.
My BrasilAPI lookups occasionally return null. BrasilAPI is rate-limited and can return 404 for CNPJs that exist but are not in its index. The Actor handles this gracefully — the rest of the lead is still saved.
Need a custom solution? Open an issue in the Issues tab or contact us.