Local Business Email Finder: Verified, No Website Needed avatar

Local Business Email Finder: Verified, No Website Needed

Pricing

Pay per event

Go to Apify Store
Local Business Email Finder: Verified, No Website Needed

Local Business Email Finder: Verified, No Website Needed

Get verified emails for local businesses for outreach, including ones with no website of their own. Each email is MX-checked and comes with its source URL and a confidence score. Pay only for verified emails.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Detroit Web Agent - Open Data

Detroit Web Agent - Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

No-Website Business Email Finder

Use this to find verified emails for local businesses for cold outreach, including businesses with no website.

Turn "barbers in Detroit, MI" (or your own list of business names) into verified emails, each with the page it came from. No monthly subscription, no seat limits, no credits that expire: you pay only for emails that verify.

Many small local businesses have no website, only a social profile or a booking page, so ordinary email extractors find nothing. This Actor checks the places they actually publish an address and shows where it found each one. A pay-as-you-go Apollo alternative for local businesses.

Use cases

  • Web design and SEO outreach: salons, barbers, auto shops and trades with no website but a real inbox.
  • Booking and POS software sales: owners who book by phone or social message.
  • Your own lead list: paste names, get back the ones with a verified email.
  • CRM enrichment: verified email, source link and confidence score for local accounts.
  • Automations: schedule it from n8n, Make or Zapier.

What data you get

One row per business:

  • name, category, phone, address, city, state, OpenStreetMap link
  • hasOwnWebsite (true/false) and the website, if one was found
  • email, plus emailVerified, confidenceScore (0 to 1), emailType (named or role address), emailIsFreeMail
  • emailSourceType and emailSourceUrl: the exact public page or search listing where the address appeared
  • emailReasons (why the address is attributed to this business) and mxHost (the mail server that accepts mail for the domain)
  • quote and quoteSourceUrl: one line from the business's own public text, for a personal first line
  • Facebook, Instagram and other social links when they are public
  • pagesFetched, pagesSkippedByRobots, notes, checkedAt

How it works

  1. Find businesses. Give a business type and a city (OpenStreetMap, open data), or paste your own list. Optional: with your own Google Places API key, the Actor also looks up the website each business lists on its Google profile. Many "no website on the map" businesses do have one, and it is the best place to find a real email.
  2. Read allowed public pages. The business's own website and contact page, its public booking page (for example Square, Setmore, Booksy) and directory profiles. Every page is checked against the site's robots.txt first. Pages that need a login, or that robots.txt disallows (Facebook, Instagram, Yelp and others), are never fetched.
  3. Search listings. Public search results for the business name and city. Only the text the search engine shows is used for blocked sites.
  4. Attribute. An address counts only if it sits on the business's own site or booking page, or next to the business's exact name in a listing. Each source gets a base confidence, raised when the address echoes the business name or sits next to its phone number or city.
  5. Filter. Syntax check, typo repair (for example name@gmail.com.Watch), and removal of disposable domains, placeholder and system addresses (noreply@, privacy@) and website-vendor addresses (site builders, booking platforms).
  6. Verify. The email domain must have a working MX record and the confidence must reach your threshold (default 0.6). Only then is the email marked verified and charged.

Input

FieldWhat it does
category + locationBusiness type and city, for example barber + Detroit, MI.
businessesOr your own list: "Name, City, State" per line, or objects with name, city, state, phone, website, facebook.
maxBusinessesHow many businesses to check (default 50).
onlyWithoutWebsiteKeep only businesses whose map entry lists no website.
onlyWithEmailOutput only rows with a verified email.
minConfidence0.5 to 0.95 (default 0.6). Higher means fewer, safer emails.
allowRoleEmailsKeep info@ / booking@ style inboxes (default on).
googlePlacesApiKeyOptional, recommended. Your Google Places API (New) key: finds the website a business lists on Google. One call per business without a known site.
searchEngineduckduckgo (no key), serper (your Serper.dev key, Google results) or none.

Example input:

{
"category": "barber",
"location": "Detroit, MI",
"maxBusinesses": 30,
"searchEngine": "duckduckgo"
}

Output example

Sample output row (shape of a real row; the address is shown as an example):

{
"name": "Joe's Auto Repair",
"category": "car_repair",
"phone": "+1 248-555-0100",
"city": "Ferndale",
"state": "MI",
"hasOwnWebsite": true,
"website": "https://joesauto.example/",
"email": "service@joesauto.example",
"emailVerified": true,
"confidenceScore": 0.95,
"emailType": "personal-or-named",
"emailSourceType": "own-site",
"emailSourceUrl": "https://joesauto.example/contact",
"emailReasons": ["on the business website", "same domain as website"],
"mxHost": "mx.joesauto.example",
"quote": "Honest auto repair in Ferndale, Michigan since 1987.",
"quoteSourceUrl": "https://joesauto.example/",
"facebook": "https://www.facebook.com/joesauto",
"checkedAt": "2026-10-26T22:10:00.000Z"
}

Rows without a verified email are still returned (with phone, address and socials) and are not charged. Turn on onlyWithEmail to hide them.

Pricing

  • Verified email: $0.02 per business that gets a verified email.
  • No email found: free. You are never charged for misses.
  • Run start: $0.00005 per run (Apify platform start event).
  • With googlePlacesApiKey, Google bills your own key for one Places lookup per business without a known website.
  • With searchEngine = serper, Serper bills your own Serper account for its searches (up to 3 per business). DuckDuckGo mode has no extra cost.

You can cap spend in Apify with the run's maximum charge setting. When the cap is reached the Actor stops cleanly.

Apollo alternative: how the pricing model compares

Facts below are from Apollo's public pricing page and terms (apollo.io/pricing, checked October 26, 2026). Prices can change, so check the page yourself.

Apollo (public plans)This Actor
Entry priceBasic plan $49 / month, Professional $99 / month (monthly billing)No plan. $0.02 per verified email
SeatsPaid per seat; all seats on an account are on the same planNo seats. Anyone with the Apify account can run it
Unused creditsReset each billing cycle, do not roll overNothing to expire
Cost floor per emailTerms cap paid email credits at amount paid / $0.025, so at least $0.025 per email credit$0.02 per verified email; misses are free
Built forB2B contact database (companies and people)Small local businesses, including ones with no website

Apollo is a large sales platform with a contact database, sequences and a dialer; this Actor does one job. It is the better fit when you need a few hundred verified local emails a month and do not want a subscription.

Benchmark

Measured on October 26-27, 2026, with two real runs of this Actor on Apify: seven trades (plumber, HVAC, electrician, roofer, landscaping, cleaning, auto repair) in Wayne, Oakland and Macomb counties, Michigan. Search engine DuckDuckGo; the second run also used a Google Places key.

MeasureResult
Unique businesses checked83
Businesses with a verified email21 (25%)
Unique verified email addresses20
Verified emails with confidence 0.9 or higher18 of 21
Where the emails came fromOpenStreetMap listing 10, own website 6, booking page 2, search snippet of own site 2, directory 1
Businesses with no website found44, of which 3 got a verified email (7%)
Pages skipped because robots.txt disallowed them86

What this means for you: expect roughly one verified email per four local trade businesses, mostly from businesses that publish an address somewhere public. Businesses with no website at all are the hardest case; most of them publish no email anywhere public, and this Actor will not invent one. Results vary by trade and city (roofers did best here, plumbers worst). Runs are slow by design (polite delays, robots.txt checks): about 40 to 75 businesses per hour.

FAQ

What does "verified" mean here? The address passed syntax and junk filters, its domain has a working MX record, and it was found on the business's own site or booking page, or next to the business's exact name in a public listing, with a confidence at or above your threshold. It does not mean we sent a test email (no SMTP probing), so a mailbox can still be full or abandoned.

Do you scrape Facebook or Instagram? No. Their robots.txt disallows it and pages need a login. The Actor only reads what public search listings show about those pages, and reads websites only where robots.txt allows.

Why are some rows free with no email? Many small businesses publish no email anywhere public. You get the row (phone, address, socials) and pay nothing for it.

Can I use my own list? Yes, paste names in businesses. Adding the city and state makes attribution safer.

Which search engine should I pick? DuckDuckGo needs no key but is rate-limited, so big runs are slower and find fewer emails. Serper (your key) uses Google results and usually finds more.

Limitations

  • Coverage is partial. Many local businesses publish no email at all; expect a minority of rows to get one (see the benchmark).
  • Free-mail addresses are common. Small shops often use Gmail or Yahoo. These are attributed only when they appear next to the exact business name, and their confidence is lower.
  • No mailbox test. MX checks prove the domain accepts mail, not that a specific inbox is read.
  • Search-dependent. DuckDuckGo may rate-limit large runs; the Actor slows down and notes it in the row and run summary.
  • OpenStreetMap gaps. Discovery uses OpenStreetMap, which misses some businesses; add yours with businesses.
  • US-focused tuning. Name matching and phone checks are tuned for US listings.

The Actor reads only public pages that robots.txt allows and never logs in. Emails are business contact addresses that the business published. You are responsible for how you contact them: follow CAN-SPAM, GDPR and local rules, identify yourself and honour opt-outs. Business data from OpenStreetMap is (c) OpenStreetMap contributors, ODbL.

Example input

A small run that finishes quickly (this is also the prefilled input in the Apify Console). Values come from the input schema:

{
"category": "barber",
"location": "Ferndale, MI",
"maxBusinesses": 20,
"onlyWithoutWebsite": false,
"onlyWithEmail": false,
"minConfidence": 0.6,
"allowRoleEmails": true,
"searchEngine": "duckduckgo"
}

Output sample

Each result is one dataset item (JSON, CSV, Excel or via API). Shape taken from the actor's dataset schema; field names and meanings below, not live data:

FieldMeaning
nameBusiness name
emailVerified email
confidenceScoreConfidence score (0-1)
emailSourceTypeEmail source type
phonePhone
cityCity
hasOwnWebsiteHas own website
websiteOwn website
facebookFacebook
quoteQuote from their public page
emailSourceUrlEmail source URL
checkedAtChecked at

Alternatives to Local Business Email Finder

Other ways to get similar data, so you can choose what fits:

  • Hunter.io: domain-based email finder
  • Apollo.io: B2B contact database
  • Snov.io: email finder and outreach tool

This actor's edge is pay-per-result pricing, no login and ready-to-use structured output. Compare on a small test run before you commit.

Changelog

  • 1.1 (2026-10-28): listing refresh (title, description, README sections, console prefills). No change to output fields.
  • Earlier: initial release.