Local Business Lead Finder
Pricing
from $12.00 / 1,000 results
Local Business Lead Finder
Find local businesses worldwide, then verify them: MX emails, live vs parked websites, E.164 phones, 0-100 score. Pay per delivered lead on Apify.
Pricing
from $12.00 / 1,000 results
Rating
0.0
(0)
Developer
Lomo Dev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Local Business Lead Finder do?
Turn any city + niche into a verified list of businesses — phone that formats, website that actually loads, email whose domain can receive mail — ready for outbound, agencies, and investor market maps.
This Actor is a Google Maps lead API alternative that does not fight Google. It reads OpenStreetMap (worldwide, no login), visits each business website for public emails and socials, then auto-verifies every row before you pay for it.
Austin dentists. Miami HVAC. London gyms. Same run. Dead domains never make the export.
Export CSV, Excel, JSON, or HTML. Schedule it. Call it from n8n, Make, Clay, or your own API.
How lead verification is automated
Raw lists get refunds. This Actor runs a four-check pipeline on every row before it hits your dataset. You are charged only for leads that survive.
| Check | What the Actor does | Why a buyer cares |
|---|---|---|
| Syntax + disposable-domain block + MX lookup + domain-matches-website | Stops the majority of instant bounces before Instantly / Smartlead ever sees them | |
| Website | HTTP probe, HTTPS, title, parking / for-sale / coming-soon detection | You do not pitch a business that shut down last year |
| Phone | Digit rules, NANP / E.164, UK/AU/DE/FR trunk prefixes | SDRs do not waste dials on 555 junk or 4-digit stubs |
| Score | Composite 0–100 → verified / likely / unverified / dead | Sort hottest first. Filter onlyVerified or minScore: 70 |
What “verified” means here (honest):
emailMx: true→ the domain can receive mail. It is not a mailbox-exists guarantee (SMTP ping looks like spam and is blocked by most hosts).phoneE164→ the number is a real-world format for that country. It is not a “this line rings” carrier lookup.websiteStatus: live→ the site returned a real page, not a parked / expired / for-sale shell.
That is the same bar agencies use to sell a list at 5–10× a raw Maps dump. Carrier-level phone lookup (Twilio) and mailbox-level email (NeverBounce / ZeroBounce) are optional paid add-ons later — not required to ship a list someone will buy.
Toggles that control quality
| Input | Default | Effect |
|---|---|---|
| Verify emails, websites, and phones | on | Runs the pipeline above |
| Drop dead leads | on | Parked / unreachable rows never leave the dataset (and are not billed) |
| Only verified leads | off | Keep verificationStatus = verified only |
| Minimum verification score | 0 | e.g. 70 ≈ verified-only, 45 ≈ likely + verified |
Turn Visit websites on (default) so email + parking checks have a real HTML page to read. Verification still MX-checks and probes sites if enrichment was skipped.
Why use Local Business Lead Finder?
Most “Maps scrapers” give you a name and a pin. Your SDRs still have to open 200 tabs to find an email, then bounce half of them. This Actor closes that gap.
You get outreach-ready, scored rows — not raw HTML.
- Any city on earth — US, UK, EU, AU, CA, and beyond
- 40+ niches: dentists, HVAC, lawyers, gyms, hotels, salons, clinics, and more
- Public phones from OSM +
tel:links, normalized to E.164 - Public emails from homepage and contact pages, MX-checked
- Instagram, Facebook, LinkedIn, X, YouTube, TikTok when they are linked
- Deduped, scored, filterable (
only with phone/only with email/only verified) - Runs on Apify: schedules, webhooks, API, integrations, monitoring
Who buys this data
| Buyer | What they do with it |
|---|---|
| Marketing / SEO agencies | Resell weekly verified local lists |
| SDR / outbound teams | Dial and email a fresh niche in a new metro without bounce spikes |
| Insurance, solar, home services | Call lists by trade that still exist |
| Recruiters | Employers in a city with a live site |
| Founders / operators | Count live competitors before opening a location |
If you already sell “leads,” this is your factory. Verification is the reason a client does not churn.
What data can Local Business Lead Finder extract?
| Field | Type | Why it matters |
|---|---|---|
| name | text | Business to contact |
| nicheLabel | text | Human-readable niche |
| phone | text | Original phone string |
| phoneE164 | text | Dialer-ready +15124747575 |
| text | First public inbox found | |
| emails | array | All public inboxes on the site |
| emailMx | boolean | Domain has MX records |
| emailDomainMatch | boolean | Inbox is on the same domain as the website |
| website | link | Landing page for personalization |
| websiteStatus | text | live / parking / dead / unknown |
| verificationScore | number | 0–100 composite |
| verificationStatus | text | verified / likely / unverified / dead |
| verificationNotes | array | Why the score landed there |
| address, city, state, postcode | text | Routing and territory |
| facebook, instagram, linkedin, twitter | link | Social / creative intel |
| lat, lon | number | Maps and distance |
| hasPhone, hasWebsite, hasEmail | boolean | Fast filters in Sheets |
| osmId | text | Stable id for refreshes |
You can download the dataset as JSON, CSV, Excel, or HTML. Open the Verified view in the Output tab to sort by score.
How to scrape (and verify) local business leads
- Click Try for free
- Set City / location —
Austin, TX, USAorManchester, UK - Pick a Niche — Dentist, HVAC, Lawyer, Gym…
- Set Max leads (start with 50)
- Leave Visit websites for emails & socials on
- Leave Verify and Drop dead leads on
- Hit Start and wait for the green run
- Open Output → Verified and export CSV
That’s it. No cookies, no Google account, no selector guessing.
Typical first runs
dentist+Austin, TX, USA+ 50 leadshvac+Phoenix, AZ, USA+ only with phonelawyer+London, UK+ only verifiedgym+Miami, FL, USA+ min score 70
How much will it cost to scrape local businesses?
Pricing is pay-per-event on Apify — the customer’s Apify account is billed. You do not need Stripe, invoices, or a separate checkout.
| Event | What it is | Price |
|---|---|---|
Verified lead (lead) | One row that survived verification and was written to the dataset | $0.012 |
Dead / parked / filtered rows are not billed. Platform compute is covered by the event price (not charged on top).
| Run | You pay Apify | What you get |
|---|---|---|
| 50 leads (one city sample) | ~$0.60 | Outreach-ready CSV |
| 200 leads | ~$2.40 | A week of SDR dialing |
| 500 leads (metro list) | ~$6.00 | Agency-resellable sheet |
Set a max total charge on the run if you want a hard cap. The Actor stops delivering when that cap is hit.
Turn Only verified or Min score 70 on so you never pay for a row you would delete.
The Apify free / trial credits are enough to demo a city. Larger plans unlock weekly schedules.
Author payout: Apify keeps 20% of event revenue and subtracts compute from your 80%. Default RAM is 1 GB so compute stays tiny next to the $0.012 lead fee.
Input
See the Input tab for the full form. The fields that matter:
- City / location — include region and country
- Niche — dropdown of 40+ OSM-mapped categories
- Max leads — 1 to 1,000
- Search radius — default 12 km; use 25–40 for large metros
- Visit websites — on by default; this is how emails appear
- Verify / Drop dead leads / Only verified / Min score — quality gates
- Custom OSM tags — optional power user, e.g.
amenity=clinic - Proxy — optional, only for website visits
Output
Every run writes one dataset row per business, highest score first. Example:
[{"name": "Barton Hills Dental","nicheLabel": "Dentist","phone": "+1 512-555-0142","phoneE164": "+15125550142","email": "hello@exampledental.com","emailMx": true,"emailDomainMatch": true,"website": "https://exampledental.com","websiteStatus": "live","verificationScore": 96,"verificationStatus": "verified","address": "2410 Barton Hills Dr","city": "Austin","state": "TX","instagram": "https://www.instagram.com/exampledental","hasPhone": true,"hasEmail": true}]
Download JSON, CSV, Excel, or HTML from the Output tab, or pull it via the Dataset API.
How to use the leads API
After a run:
GET https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv
Or start a run from n8n / Make / Clay with:
{"location": "Austin, TX, USA","category": "dentist","maxResults": 50,"enrichContacts": true,"verifyLeads": true,"dropDeadLeads": true,"onlyVerified": false,"minScore": 0}
Schedule it weekly. Same city, fresh phones. Diff on osmId. Pipe the dataset webhook into HubSpot / Clay / a Google Sheet. That is daily distribution: one Actor schedule, every morning, verified rows only.
Tips
- Coverage follows OpenStreetMap. Dense US/EU downtowns are excellent. Sparse rural areas return fewer rows — increase radius or pick a larger town.
- Emails come from public websites, not from a magic inbox database. No website → no email. Filter with “only with website” when you need inboxes.
- MX ≠ inbox exists. A domain with MX can still have a typo local-part. Domain-match emails (
hello@theirdomain.com) are the hottest. - Start without a proxy. Add Apify Proxy only if website enrichment gets blocked.
- Deduped by name + address. Safe to re-run a city next month and diff on
osmId. - Custom tags let you chase niches not in the dropdown (
shop=hearing_aids,amenity=clinic).
FAQ, disclaimers, and support
Is this a Google Maps scraper?
No. It does not open Google Maps. It uses OpenStreetMap plus the businesses’ own public websites. That is why it is stable, worldwide, and cheaper than cookie-heavy Maps Actors.
Will every row have an email?
No — only when the business publishes one. Use Only leads with an email or Only verified if you want a shorter, hotter list.
Does verification call the phone or send a test email?
No. Phone is format / E.164. Email is syntax + MX. Website is an HTTP GET. Nothing is placed in a mailbox and no carrier is billed.
Can I use this for cold email?
Only with a legitimate interest and in line with CAN-SPAM, GDPR, and local rules. This Actor collects public business contact details, not private personal inboxes.
Our Actors extract what businesses have chosen to publish on OpenStreetMap and on their public websites (name, address, phone, website, public email, public social links). They do not log into accounts, bypass paywalls, or scrape private user profiles. Results may still contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not use this data unless you have a legitimate reason. If you are unsure, consult your lawyers.
Something missing in my city?
OpenStreetMap coverage varies. Try a larger radius, a broader niche, or custom tags. If a run fails, open the Issues tab on this Actor with the city and niche you used.
Need it programmatically?
Use the API tab in the Console. Auth with your Apify token, pass the JSON input above, and poll the dataset.
Built for people who sell lists, book calls, or decide where to open next — not for people who want another HTML dump.