Google Maps Leads Extractor avatar

Google Maps Leads Extractor

Pricing

from $2.10 / 1,000 lead extracteds

Go to Apify Store
Google Maps Leads Extractor

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

Gerson Cesar

Maintained by Community

Actor 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

  1. Open the Actor on Apify and click Try for free
  2. Enter your search term — e.g. "restaurantes italianos", "clínicas odontológicas"
  3. Enter a location — city, region, or neighborhood
  4. Pick a language for Google Maps UI (en, pt, es, fr, de, it)
  5. 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
  6. Click Run and download results as JSON, CSV, or Excel

Input

FieldRequiredDefaultDescription
searchTermWhat to search (e.g. "restaurantes italianos")
locationWhere to search (e.g. "Pinheiros, São Paulo")
maxResults50Number of leads to extract (1–500)
languageenUI language: en, pt, es, fr, de, it
includeHourstrueExtract opening hours
includeEmailsfalseVisit websites for emails + social links (+3–8s/lead)
includeCnpjfalseScan website for CNPJ (Brazil)
enrichCnpjfalseCall BrasilAPI for full CNPJ details
checkWhatsappfalseHeuristic 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

FieldTypeDescription
namestringBusiness name
addressstring | nullFull street address
phonestring | nullPhone digits with optional + prefix
websitestring | nullBusiness website URL
categorystring | nullGoogle's category
ratingnumber | nullAverage rating 0–5
reviewsCountnumber | nullTotal Google reviews
priceLevelstring | null$, $$, $$$, $$$$
latitudenumber | nullDecimal degrees
longitudenumber | nullDecimal degrees
googleMapsUrlstringCanonical Place URL
plusCodestring | nullGoogle Plus Code
openingHoursstring[] | nullDay-formatted hours
emailsstring[] | nullEmails extracted from website (when includeEmails is true)
socialLinksobject | nullFacebook, Instagram, LinkedIn, etc. URLs found on website
cnpjstring | nullCNPJ formatted "XX.XXX.XXX/XXXX-XX" (when includeCnpj is true)
cnpjDataobject | nullBrasilAPI enrichment: razão social, CNAE, capital social, etc.
whatsappBusinessboolean | nullWhether phone has WhatsApp (best-effort)
searchQuerystringOriginal search (audit field)
scrapedAtstringISO 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:

ModeOutputPrice
Basic (no flags)Google Maps standard fields$2.10 / 1,000 leads
+ Email FinderAbove + emails + social links$4.50 / 1,000 leads
Full Brazil enrichmentAbove + 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: 5 first 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 enrichCnpj and checkWhatsapp off
  • 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 whatsappBusiness field 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.