Email Lead Generator - Businesses + Verified Emails
Pricing
from $15.00 / 1,000 qualified leads
Email Lead Generator - Businesses + Verified Emails
Give it an industry and a location; it discovers the businesses and returns each with MX-verified emails, phone, address, and a lead score. Discovery-first lead gen - you do not supply domains, unlike an email finder. Pay only per qualified lead with a verified email.
Pricing
from $15.00 / 1,000 qualified leads
Rating
0.0
(0)
Developer
Creator Fusion
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Email Lead Generator — Find Businesses + Verified Emails
Give an industry and a location. Get back a list of real local businesses, each with MX-verified contact emails and a lead score.
This is a discovery-based lead generator, not a domain email finder. You do not need to know any companies or domains up front — the actor discovers the businesses for you from OpenStreetMap, then finds and verifies their emails.
Already have a company or domain and just want its emails? Use a domain email finder (e.g.
b2b-email-finder-pro/contact-email-finder) instead. This actor is for when you only know the type of business and where.
What it does
- Maps your
categoryto OpenStreetMap tags and geocodes yourlocation(Nominatim) to a search area (or accepts a bounding box directly). - Queries the Overpass API for matching businesses — name, website, phone, address — with automatic mirror fallback (free, no API key, no CAPTCHA).
- For each business with a website, fetches the homepage plus
/contactand/about(direct first, your proxy only if blocked), extracts same-domain emails, validates MX records, dedupes, and scores deliverability. - Emits one lead per business.
By default (requireEmail=true) only businesses with at least one MX-verified email are returned and charged.
Input
| Field | Type | Required | Description |
|---|---|---|---|
category | string | yes | Business type, e.g. restaurant, law firm, dentist, plumber, marketing agency. |
location | string | yes | City/region (Portland, Oregon) geocoded to an ~8 km radius, or a bbox south,west,north,east. |
maxResults | integer | no | Max qualified leads to return (default 50). |
requireEmail | boolean | no | Only emit/charge leads with a verified email (default true). |
proxyConfiguration | object | no | Optional Apify Proxy, billed to your account. Off by default. |
Output
One row per lead in the dataset:
{"businessName": "Stumptown Coffee Roasters","category": "cafe","address": "128 SW 3rd Ave Portland OR 97204","phone": "+1-503-295-6144","website": "https://www.stumptowncoffee.com","emails": [{ "email": "info@stumptowncoffee.com", "type": "role", "mxValid": true, "deliverability": 5 }],"leadScore": 90,"source": "osm","scrapedAt": "2026-09-19T00:00:00.000Z"}
If discovery finds no businesses, or none have a verified email, the run still finishes SUCCEEDED with a single summary row { "leadsFound": 0, "note": "..." } and charges nothing.
Run it
MCP (Claude / any MCP client)
Call the actor apricot_blackberry/email-lead-generator with:
{ "category": "coffee shop", "location": "Portland, Oregon", "maxResults": 10 }
API (curl)
curl -X POST "https://api.apify.com/v2/acts/apricot_blackberry~email-lead-generator/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"category":"law firm","location":"Austin, Texas","maxResults":25}'
JavaScript (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('apricot_blackberry/email-lead-generator').call({category: 'dentist',location: 'Denver, Colorado',maxResults: 30,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("apricot_blackberry/email-lead-generator").call(run_input={"category": "plumber","location": "Seattle, Washington","maxResults": 40,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Pricing
Pay-per-event: a small actor-start fee plus a per-lead fee charged only for qualified leads actually emitted. Zero-result runs cost only the start fee. Apify Proxy (if you enable it) is billed directly to your account.
Notes & limits
- Data source is OpenStreetMap (Overpass + Nominatim). Coverage depends on OSM completeness for the area; dense urban categories return the most.
- Emails are discovered from the business's own website (same-domain only) and OSM
contact:emailtags — no pattern guessing.mxValidconfirms the domain can receive mail, not that a specific mailbox exists. - Very large areas are capped; narrow the location or category for best density.