VOOZH about

URL: https://apify.com/commonelements/local-business-leads

โ‡ฑ Local Business Leads โ€” Verified Emails & Contacts ยท Apify


๐Ÿ‘ Local Business Leads โ€” Verified Emails & Contacts avatar

Local Business Leads โ€” Verified Emails & Contacts

Pricing

$4.00 / 1,000 dataset item scrapeds

Go to Apify Store

Local Business Leads โ€” Verified Emails & Contacts

Local lead generation that crawls SMB websites and returns verified business emails, phones and socials. Bring a niche + city (optional Maps discovery) or your own site list. Honest email verification: never marks an email 'deliverable' when it's catch-all or unknown. Outreach-ready leads.

Pricing

$4.00 / 1,000 dataset item scrapeds

Rating

0.0

(0)

Developer

๐Ÿ‘ Harry Schoeller

Harry Schoeller

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Local lead generation that actually stays working. Give this Actor a niche + city (or your own list of business websites) and it returns outreach-ready leads: a verified business email, the contact name, phone, and social profiles for each company โ€” one clean row per business.

It is a focused business email finder and local lead generation engine built around one durable idea: a plumber's, dentist's, or law firm's own website has no anti-bot defense, so crawling it for contact details is cheap, fast, and reliable for years. Every email then runs through honest, in-process email verification (syntax + MX + disposable/role/catch-all + score) โ€” so you get verified emails, not a raw dump.

Keywords: business leads, email finder, local lead generation, verified emails, B2B leads, contact scraper, lead enrichment, small business email list, sales prospecting.


Why this Actor (the honesty wedge)

Most local-leads scrapers dump raw Google Maps rows and leave you to guess which emails are real. This Actor does the opposite:

  • Verified, not guessed. Each email gets a status (deliverable / risky / undeliverable / unknown) and a transparent 0โ€“100 score with reasons. An email is labeled deliverable only when every reliable signal is green. Catch-all domains and SMTP-blocked checks are honestly marked risky or unknown โ€” never laundered into deliverable.
  • Real contacts, never fabricated. Every email, phone and social URL is extracted verbatim from the business's own site (mailto: links, JSON-LD, Cloudflare-obfuscated addresses, visible text). Nothing is hallucinated.
  • Role mailboxes kept, not dropped. For small businesses, info@ / office@ is frequently the only reachable address. We keep it and label it (primaryEmailType: "role", downgraded to risky) so you decide. Honest beats empty.

Three ways to feed it (all converge on the same reliable core)

You can use any one โ€” or combine them.

1. Bring your own websites (default, zero extra cost)

{
"websites":["acme-plumbing.com","https://brightsmiledental.com"]
}

Bare domains or full URLs both work.

2. Chain off an existing dataset (Maps scraper output, a CRM export, etc.)

{
"sourceDatasetId":"<DATASET_ID>",
"websiteField":"website",
"passThroughFields":["categoryName","totalScore","address"]
}

This lets the Actor sit downstream of any Google Maps scraper and upstream of email-verifier or a CRM importer.

3. Discover by category + location (optional Google Maps discovery)

{
"categorySearch":{"category":"dentist","location":"Austin, TX","maxPlaces":50},
"enableMapsDiscovery":true
}

When enableMapsDiscovery is on, the Actor calls a maintained Google Maps scraper (mapsActorId, default compass/crawler-google-places) via Actor.call, then enriches + verifies its results.

โš ๏ธ Cost disclosure: Maps discovery runs a separate upstream Actor that bills your Apify account independently at its own rate. This Actor depends only on that scraper's dataset shape (name, address, phone, website) โ€” never on Google Maps internals โ€” so if a provider degrades you can swap mapsActorId in one line, and a Maps outage simply degrades to "bring your own list" instead of breaking the product.


Output: one outreach-ready row per business

{
"businessName": "Bright Smile Dental",
"category": "dentist",
"website": "https://brightsmile.com",
"domain": "brightsmile.com",
"address": "123 Main St, Austin, TX",
"location": "Austin, TX",
"primaryEmail": "dr.lee@brightsmile.com",
"primaryEmailStatus": "deliverable", // deliverable | risky | undeliverable | unknown
"primaryEmailScore": 92, // 0โ€“100, honest
"primaryEmailType": "personal", // personal | role | unknown
"contactName": "Dr. Susan Lee", // best-effort, null if not found
"phone": "+1-512-555-0100",
"emails": [
{ "email": "dr.lee@brightsmile.com", "status": "deliverable", "score": 92,
"isRole": false, "isCatchAll": false, "isDisposable": false,
"isFreeProvider": false, "source": "mailto", "reasons": ["valid_syntax", "mx_found:..."] }
],
"phones": ["+1-512-555-0100"],
"socials": { "facebook": "https://facebook.com/...", "instagram": null,
"linkedin": null, "twitter": null, "youtube": null, "tiktok": null },
"leadQuality": "high", // high | medium | low
"emailFound": true,
"verifiedDeliverable": true,
"websiteReachable": true,
"pagesCrawled": 3,
"discoverySource": "websites_input", // maps_call | websites_input | source_dataset
"crawledAt": "2026-06-20T18:00:00Z",
"passThrough": { "totalScore": 4.6 }
}

leadQuality rubric (deterministic)

  • high โ€” personal email that is deliverable/risky and a phone is present.
  • medium โ€” a role email that is deliverable/risky, OR a personal email that is unknown, OR a usable personal email with no phone.
  • low โ€” email undeliverable, or no email found (still emitted with emailFound:false unless requireDeliverable is on).

A run-level OUTPUT summary records { totalBusinesses, withEmail, deliverable, risky, unknown, undeliverable, sitesUnreachable, discoverySource, disclaimer }.


How it works

  1. Discover โ†’ resolve websites from websites[], a sourceDatasetId, and/or optional Maps discovery; dedup by domain so each business is crawled once.
  2. Crawl โ†’ a fast HTTP (Cheerio) crawl of each site: the homepage plus only the same-domain pages whose path/anchor text signals contact intent (/contact, /about, /team, impressum, โ€ฆ), capped by maxPagesPerSite. A polite, focused crawl โ€” not a full site walk. Set renderJs: true only for the rare JS-only site.
  3. Extract โ†’ emails (mailto: โ€บ JSON-LD โ€บ Cloudflare cfemail โ€บ visible-text regex), phones (tel: โ€บ JSON-LD โ€บ strict regex), socials (profile URLs, tracking pixels filtered out), and a best-effort contact name.
  4. Dedup & rank โ†’ per business: rank emails by source confidence and personal-over-role; globally: flag emails shared across businesses.
  5. Verify (in-process) โ†’ syntax โ†’ MX/DNS โ†’ catch-all โ†’ optional best-effort SMTP โ†’ honest score. Same engine and honesty contract as the Email Verifier Actor, copied in-process so verification adds no second run.

Chaining with Email Verifier

This Actor verifies emails itself, so a single run gives you verified leads. For a deeper re-scoring pass, its output chains zero-glue into the Email Verifier Actor:

  • Set the verifier's sourceDatasetId to this Actor's default dataset ID,
  • emailField: "primaryEmail",
  • passThroughFields: ["businessName", "website", "phone"].

The shared passThroughFields convention means Maps scraper โ†’ Local Business Leads โ†’ Email Verifier forms a clean pipeline where each link is independently reliable.


Pricing (pay-per-event)

EventWhenPrice
Lead enriched & verifiedOnce per unique business after dedup (site crawled + contacts extracted + emails verified)$0.003 (= $3 / 1,000 leads)
Best-effort SMTP probeOnly when smtpCheck = best_effort and a probe is actually attempted$0.002

Charging stops gracefully at your PPE budget cap (budgetStopped: true) โ€” it never overcharges and never crashes. When enableMapsDiscovery is on, the upstream Maps Actor bills you separately.


Key inputs

InputDefaultNotes
websitesโ€“Business sites or bare domains.
categorySearch + enableMapsDiscoveryoffOptional Maps discovery (upstream Actor billed separately).
mapsActorIdcompass/crawler-google-placesSwappable upstream provider.
sourceDatasetId / websiteFieldโ€“ / websiteChain off another dataset.
passThroughFields[]Carry source fields onto each lead.
maxPagesPerSite5Focused crawl budget per business.
renderJsfalsePlaywright for JS-only sites (slower).
smtpCheckoffbest_effort may downgrade / mark unknown โ€” never promotes.
detectCatchAlltrueCatch-all domains capped at risky.
treatRoleAsRiskytrueRole mailboxes kept + flagged.
requireDeliverablefalseEmit only leads with a deliverable/risky email.
maxLeads00 = unlimited.
proxyConfigurationApify proxyDatacenter proxy is fine for SMB sites.

Honest limitations

  • We extract only what a site publishes. A business that hides its email behind a JS contact form may yield no email (emailFound: false) โ€” we say so rather than invent one.
  • SMTP from datacenter IPs is unreliable (port 25 is often blocked). best_effort SMTP can only downgrade confidence or return unknown; it will never mark an email deliverable.
  • Catch-all domains accept every address, so per-mailbox deliverability is unknowable โ€” those are honestly capped at risky.

You might also like

Google Maps Local Leads Scraper

natural_lease/google-maps-local-leads-scraper

Collect thousands of local business leads from Google Maps in USA by niche and city, with phones, websites, emails and social links โ€” perfect for agencies and sales teams.

Google Maps Scraper - Business Leads, Emails & Phone Numbers

inexhaustible_glass/smart-lead-finder-email-extractor

Extract business leads from Google Maps with emails, phones, websites, ratings, reviews & addresses. Search by category+city, business name, or landmark. Visits websites for emails. Perfect for local SEO, lead gen & cold outreach.

29

Google Maps Leads & Email Finder API

shahabuddin38/Google-Maps-Lead-Finder-API-with-SEO-Audit

Extract local business leads from Google Maps with emails, phones, websites, ratings, reviews, addresses, and social links. Perfect for cold outreach, local SEO prospecting, agency lead generation, and sales research. Export clean lead data in JSON or CSV format.

16

Verified B2B Email & Phone Scraper| Lead Generation Tool

hi_world/Leadscraper

AI-powered B2B lead scraper that searches the web for real business websites and extracts emails, phones, socials, and contact names. Supports any keyword and location, crawls domains directly, and returns clean, verified leads up to your chosen limit.

๐Ÿ“ Google Maps Email Scraper - Leads & Verified Phones

renzomacar/google-maps-leads-with-emails

Turn any niche + city into ready-to-use leads โ€” one clean row per business with name, phone, website, verified emails, socials and tech stack, all from Google Maps. No API key, no duplicates, no cleanup. For agencies selling to local businesses. Pay only per lead delivered.

3

Google Maps Local Business Leads Scraper

coregent/google-maps-local-business-leads-scraper

Scrape local business leads from Google Maps by keyword and location. Export clean, flat, CSV-friendly business data for outreach, SEO, web design sales, competitor research, and local lead generation.

7

๐Ÿ“ Google Maps Email Scraper - Business Leads

berkaydev/google-maps-email-scraper-business-leads

Scrape Google Maps for business leads with contact emails. Get name, phone, website, rating and email for any city or niche. No code, export to CSV/JSON

Local Business-Lead Scraper

abch_bramha/local-business-lead-scraper

Extract verified business leads from Google Maps by city and business type. Ideal for agencies, marketers, and sales teams looking for targeted outreach lists.

๐Ÿ‘ User avatar

Abhishek Choudhary

2

Google Maps Lead Extractor

slothtechlabs/google-maps-lead-extractor

Extract email-verified business leads from Google Maps โ€” emails, phones, socials, and addresses. No email? No charge. Just enter a keyword and get CRM-ready leads in minutes. Built-in email & social extraction, auto deduplication, and closed business filtering. Only $0.008/lead.

164

Google Maps Scraper โ€” Business Leads & Email Extraction

lanky_quantifier/google-maps-scraper

Extract business names, addresses, phone numbers, reviews, emails, and social links from Google Maps. Scrape by keyword search or direct URLs. Automatically visits business websites to extract email addresses. Perfect for local lead generation.

27