B2B Local Business Leads & Email Contact Enricher avatar

B2B Local Business Leads & Email Contact Enricher

Pricing

Pay per usage

Go to Apify Store
B2B Local Business Leads & Email Contact Enricher

B2B Local Business Leads & Email Contact Enricher

Scrape local B2B business leads with enriched contact data, verified public emails, phone numbers, addresses, and social media profiles (LinkedIn, Facebook, Instagram, Twitter/X, YouTube).

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Thomas Shelby

Thomas Shelby

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

B2B Local Business Leads & Email Contact Enricher 🎯📧

Scale your outbound sales pipeline with fresh, verified B2B local business leads. This Actor extracts local business directories by industry and location, then automatically crawls each business's website using pure HTTP to extract public contact emails, phone numbers, addresses, and social media profiles (LinkedIn, Facebook, Instagram, Twitter/X, YouTube).

No slow, heavy headless browsers. No stale databases. Pure speed, low compute cost, and high delivery rates.


⚡ Why Use This Lead Enricher?

FeatureStale Databases (Apollo, ZoomInfo)Slow Browser ScrapersB2B Local Business Enricher
Data FreshnessMonths/years oldReal-timeReal-time from live company websites
Cost per 1k Leads$200 – $500$15 – $30$2.00 / 1,000 enriched leads
Execution SpeedAPI snapshotHeavy / Slow (Chromium)Fast pure HTTP concurrent requests
Email QualityOften obsolete / bouncesPartialCleaned & filtered (no dummy/asset false positives)
Social ProfilesIncompleteIncompleteLinkedIn, Facebook, Instagram, X, YouTube

🌟 Key Features

  • Hyper-Targeted Local Discovery: Search any business category, trade, or service across any city, state, or country (e.g., digital marketing agency in Austin, TX, plumbers in Miami, FL, accounting firms in London, UK).
  • Deep Website Contact Enrichment: Visits company homepages and automatically explores /contact and /about subpages to discover public contact emails.
  • Smart Primary Email Selection: Ranks candidate emails prioritizing functional business mailboxes (info@, contact@, hello@, sales@, office@).
  • Advanced False-Positive Filtering: Automatically excludes image assets (logo@2x.png), Sentry telemetry (@sentry.io), Wix infrastructure emails, and dummy placeholders.
  • Full Social Footprint: Captures normalized profile links for LinkedIn (company & personal), Facebook, Instagram, Twitter/X, and YouTube.
  • Ultra-Lightweight & Concurrent: Pure HTTP architecture with configurable concurrency (asyncio.gather + Semaphore). Runs in as little as 256 MB of RAM.
  • Fault-Tolerant Partial Lead Retention: If a specific business website times out or fails SSL handshake, the base business lead (name, phone, address, website) is retained rather than dropped.
  • Built-in Dry-Run Mode: Test your integration workflows and downstream automations with realistic mock leads without incurring external network latency.

💰 Pricing: Pay-Per-Event (PPE)

Pay only for results:

  • $2.00 per 1,000 fully enriched B2B leads ($0.002 per lead)
  • Minimum compute usage (256 MB memory allocation) means near-zero platform compute charges.

📥 Input Parameters

ParameterTypeDefaultDescription
queryString"digital marketing agency"Business category, trade, or industry keyword (e.g. plumbers, commercial cleaning, roofing contractors).
locationString"Austin, TX"Target geographic city and state or country (e.g. Miami, FL, Denver, CO, Chicago, IL).
maxItemsInteger50Maximum number of business leads to collect and enrich (1 – 1,000).
enrichEmailsBooleantrueVisit company websites to extract public contact emails.
enrichSocialsBooleantrueExtract social media profile URLs (LinkedIn, Facebook, Instagram, Twitter/X, YouTube).
dryRunBooleanfalseExecute in mock mode for instant pipeline testing without making outbound requests.
proxyConfigurationObjectNoneOptional Apify proxy configuration or custom proxy settings.

Example Input (INPUT.json)

{
"query": "commercial cleaning services",
"location": "Dallas, TX",
"maxItems": 50,
"enrichEmails": true,
"enrichSocials": true,
"dryRun": false
}

📤 Sample Output

Each item pushed to the default Apify Dataset is structured as follows:

[
{
"name": "Apex Commercial Cleaners",
"category": "Commercial Cleaning Services",
"address": "450 Main St, Suite 200",
"city": "Dallas",
"state": "TX",
"country": "United States",
"phone": "(214) 555-0182",
"website": "https://www.apexcleanersdallas.com",
"emails": [
"contact@apexcleanersdallas.com",
"sales@apexcleanersdallas.com"
],
"primary_email": "contact@apexcleanersdallas.com",
"socials": {
"linkedin": "https://www.linkedin.com/company/apexcleanersdallas",
"facebook": "https://www.facebook.com/apexcleanersdallas",
"instagram": "https://www.instagram.com/apexcleanersdallas",
"twitter": "https://x.com/apexcleanersdallas",
"youtube": "https://www.youtube.com/@apexcleanersdallas"
},
"rating": 4.8,
"review_count": 84,
"enriched": true,
"scraped_at": "2026-10-27T02:44:37.935955+00:00"
}
]

🚀 How to Run

1. On Apify Platform

  1. Navigate to the B2B Local Business Leads & Email Contact Enricher Actor page.
  2. Enter your target Business Query and Location.
  3. Choose your desired Max Items and ensure Enrich Emails and Enrich Socials are enabled.
  4. Click Start and export your leads to CSV, JSON, or Excel.

2. Via Apify API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run_input = {
"query": "hvac contractors",
"location": "Phoenix, AZ",
"maxItems": 100,
"enrichEmails": True,
"enrichSocials": True,
}
run = client.actor("YOUR_USERNAME/b2b-local-business-enricher").call(run_input=run_input)
# Fetch leads from default dataset
leads = client.dataset(run["defaultDatasetId"]).list_items().items
for lead in leads:
print(f"{lead['name']} | {lead['primary_email']} | {lead['phone']}")

3. Via Apify API (JavaScript / Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });
const run = await client.actor('YOUR_USERNAME/b2b-local-business-enricher').call({
query: 'digital marketing agency',
location: 'Austin, TX',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Fetched ${items.length} enriched leads.`);

4. Local CLI Mode

Run locally on your machine or in an automated CI/CD pipeline:

# Dry run output to stdout
uv run python -m src.main --dry-run --max-items 10
# Save leads directly to a JSON file
uv run python -m src.main --query "plumbers" --location "Miami, FL" --max-items 25 --output leads.json
# Disable social enrichment for faster runs
uv run python -m src.main --query "lawyers" --location "Chicago, IL" --no-enrich-socials --output lawyers.json

🛡️ Data Privacy & Ethical Outreach

This Actor only discovers and extracts publicly published business contact details directly provided on official company websites for business inquiries. It does not scrape password-protected accounts or private non-business communications. Ensure that your cold outreach complies with applicable communications regulations (CAN-SPAM, GDPR, CASL).