# B2B Website Decision Maker, LinkedIn & Email Enricher (`amitabh_312/b2b-website-decision-maker-email-enricher`) Actor

Turn any list of B2B websites, domains, or Google Maps Scraper datasets into verified Decision Makers (CEO/Owner/Founder/VP), direct emails, LinkedIn URLs, phones & installed Ad Pixels (Meta/Google).

- **URL**: https://apify.com/amitabh_312/b2b-website-decision-maker-email-enricher.md
- **Developed by:** [Amitabh Mohan](https://apify.com/amitabh_312) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 base lead extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## B2B Website Decision Maker, LinkedIn & Email Enricher

Turn any list of **B2B company domains, website URLs, or Google Maps Scraper datasets** into outreach-ready executive leads with **Verified Decision Makers (`Owner`, `Founder`, `CEO`, `VP`, `Purchasing Manager`, `Medical Director`)**, **LinkedIn Profile URLs**, **DNS MX-Verified Emails (with B2B Corporate Pattern Permutation)**, **Direct Phone Numbers**, and **Installed Ad Pixels (`Meta Pixel`, `Google Ads / GTM`, `TikTok Pixel`, `Klaviyo`, `HubSpot`, `GoHighLevel`, `Shopify`)**.

***

### ⚡ Why Chain `compass/crawler-google-places` → This Enricher (Instead of Compass's Built-In Add-On)?

| Feature / Cost Dimension | `compass/crawler-google-places` Native Add-On | **This Actor (`b2b-website-decision-maker-email-enricher`)** |
| :--- | :--- | :--- |
| **Apify Free-Tier Price** | ❌ **$100.00 / 1,000 leads** + **$100.00 / 1,000 emails** (Blocked on Free plans) | ✅ **$0.01–$0.035 / lead** on both Free & Paid plans (Test 25+ leads free) |
| **Paid-Tier Billing Model** | ⚠️ Stacks 4 add-ons & bills **per person** (up to 3x cost per place) | ✅ **1 Primary Decision-Maker row per business** (No duplicate staff bloat) |
| **How It Finds Owners & Doctors** | ❌ Static B2B database lookup (Misses ~80% of local clinics, med spas & contractors) | ✅ **Live 6-Page Website Crawl (`/about`, `/team`, JSON-LD) + LinkedIn X-Ray + 3-Stage Email Permutator** |
| **Ad Pixels & Tech Stack (`Ad_Pixels`)** | ❌ **None** | ✅ **Included Free:** Detects `Meta Pixel`, `Google Ads / GTM`, `TikTok Pixel`, `Klaviyo`, `GoHighLevel`, `Shopify`, `Mindbody` |
| **Speed** | 🐢 Adds 30–90 seconds per place | ⚡ **10x Concurrent Async Crawl** (~8–15 seconds per batch) |

***

### Why Clay.com Operators, Agencies & Google Maps Users Plug In This Enricher

Standard website scrapers only grab generic `info@` or `support@` emails printed in a website footer and never tell you **who actually owns or runs the company**.

This Actor runs a **3-Stage B2B Intelligence Waterfall** on every domain:

1. **Stage 1 — 6-Page Concurrent Website Crawl (`/`, `/about`, `/team`, `/leadership`, `/contact`):** Extracts JSON-LD `founder`/`employee` schemas, team bios, phone numbers, contact forms, Instagram links, and detects installed marketing pixels (`Meta Pixel`, `Google Ads`, `Klaviyo`, `HubSpot`, `GoHighLevel`, `Shopify`) at zero extra cost.
2. **Stage 2 — LinkedIn X-Ray Disambiguation:** Queries LinkedIn profiles (`site:linkedin.com/in/`) with brand-alias and city/state disambiguation to lock in the exact Owner, CEO, Founder, Clinical Director, or Purchasing/Operations Executive.
3. **Stage 3 — Corporate Email Permutator + MX/API Verification:** Generates canonical executive patterns (`first@`, `first.last@`, `flast@`), prioritizes patterns matching observed colleague emails on the domain, and verifies deliverability via DNS MX and optional MillionVerifier/Reoon/ZeroBounce checks.

***

### Three Ways to Use This Actor

1. **Paste a List of Domains or URLs (`urls`):** Drop in 10 to 2,500 bare domains (`tyrtactical.com`) or full URLs.
2. **1-Click Google Maps Dataset Chaining (`datasetId`):** Run Apify's Google Maps Scraper (`compass/crawler-google-places`), copy its output **Dataset ID**, and paste it into `datasetId`. This Actor automatically reads the Google Maps dataset, extracts each business's website, name, city, and phone, and enriches the Owner Name, LinkedIn URL, Verified Email, and Ad Pixels!
3. **Clay.com / Make / n8n Webhook (`leads`):** Pass a JSON array of objects directly from your automation workflow.

***

### Sample Output

| Company_Name | Decision_Maker | Job_Title | Verified_Email | Email_Type | LinkedIn_Profile | Ad_Pixels |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| TYR Tactical | Gavin Beck | Founder and CEO | patrick@tyrtactical.com | Custom Corporate Domain | https://www.linkedin.com/in/gavin-beck-... | Google Ads / GTM |
| BDS Tactical | Mark Johnson | VP of Operations | mark@bdstacticalgear.com | Direct Executive Inbox | https://www.linkedin.com/in/mark-johnson-... | Meta Pixel, Shopify |
| CoreFunction Clinic | Andrew Danielson | Lead Practitioner / Owner | drew@corefunctionaustin.com | Direct Executive Inbox | https://www.linkedin.com/in/andrew-danielson-... | Meta Pixel |

***

### Outcome-Based Pay-Per-Event (PPE) Pricing

1. **`actor-start` ($0.050):** One-time run initialization.
2. **`lead-extracted` ($0.010 / domain):** Domain crawled with Company Name, Ad Pixels/Tech Stack, Socials, and Contact Form extracted.
3. **`phone-line-classified` (+$0.005 / domain):** Triggered only when a verified business phone number is attached.
4. **`decision-maker-found` (+$0.010 / domain):** Triggered only when a verified human Decision Maker or LinkedIn profile URL is found.
5. **`verified-email-enriched` (+$0.010 / domain):** Triggered only when a DNS MX-verified email address is attached.

***

### Explore Our Specialized B2B Lead Generation Suite on Apify

- **[Aesthetics, Med Spa & Beauty Salon Leads Scraper (B2B)](https://apify.com/amitabh_312)** — Direct owner cell phones, emails & Instagram handles across GlossGenius, Fresha, Vagaro & Booksy.
- **[Med Spa, Physio & Wellness Clinic Leads Scraper (B2B)](https://apify.com/amitabh_312)** — Multi-staff allied health, physiotherapy, chiropractic & med-spa rosters (Jane App).
- **[Skool Community Founder, Email & MRR Leads Scraper](https://apify.com/amitabh_312)** — High-MRR Skool community founders filtered by monthly subscription revenue (`Members × Price`).
- **[Podcast Host Email & B2B Sponsorship Leads Scraper](https://apify.com/amitabh_312)** — Active podcast hosts, verified booking emails, and episode cadence from Apple Podcasts + RSS.

***

### ⚡ Free 25-Lead Trial & 1-Click Automation (Clay.com, n8n, Make & Google Maps)

1. **Zero-Config 25-Lead Free Trial:** Every input field comes pre-filled with high-yield defaults. Click the green **Start** button right now to get a live 25-lead sample in under 25 seconds.
2. **Clay.com / n8n / Make Webhook Integration:** Call `https://api.apify.com/v2/acts/amitabh_312~b2b-website-decision-maker-email-enricher/run-sync-get-dataset-items?token=<APIFY_TOKEN>` to stream `Decision_Maker`, `Verified_Email`, `Phone`, and `Ad_Pixels_And_Tech` straight into Smartlead, Instantly, HubSpot, or Google Sheets.
3. **Google Maps 2-Step Chaining:** Run `compass/crawler-google-places` to collect local domains, then pass its `datasetId` into **`b2b-website-decision-maker-email-enricher`** to unlock Owner/CEO names, LinkedIn URLs, and DNS MX-verified corporate emails.

***

### 🔗 Explore Our Complete 10-Actor B2B Lead Generation Fleet

| Actor Slug (`name`) | Primary B2B Vertical & Deliverable |
| :--- | :--- |
| **[`dental-medical-practice-leads-scraper`](https://apify.com/amitabh_312/dental-medical-practice-leads-scraper)** | **Dental Clinic, Dentist & Medical Practice Leads Scraper** — Extract private Dental Practices (DDS/DMD), Orthodontists, Med Spas & Medical Clinics across 64+ US/CA metros.... |
| **[`fitness-gym-pilates-studio-leads-scraper`](https://apify.com/amitabh_312/fitness-gym-pilates-studio-leads-scraper)** | **Fitness, Gym, Pilates & Yoga Studio Leads Scraper** — Extract verified Pilates, Yoga, CrossFit, Martial Arts & Boutique Gym leads across 64+ US/CA metros. Pulls Stu... |
| **[`aesthetics-beauty-salon-leads-scraper`](https://apify.com/amitabh_312/aesthetics-beauty-salon-leads-scraper)** | **Aesthetics, Med Spa & Beauty Salon Leads Scraper (B2B)** — Extract verified Aesthetics, Med Spa, Skincare, Lash & Beauty Salon leads. Pulls studio owner names, direct ce... |
| **[`local-contractor-home-services-leads-scraper`](https://apify.com/amitabh_312/local-contractor-home-services-leads-scraper)** | **Roofing, HVAC, Solar & Contractor Leads Scraper (B2B)** — Extract verified Roofing, HVAC, Solar, Plumbing & Remodeling Contractor leads across 64+ US/CA metros. Pulls O... |
| **[`us-manufacturer-procurement-leads-scraper`](https://apify.com/amitabh_312/us-manufacturer-procurement-leads-scraper)** | **US Manufacturer, CNC & Industrial Supplier Leads Scraper** — Extract verified US & Canadian Manufacturers, CNC Machine Shops, Custom Packaging & OEM Suppliers. Pulls VP Op... |
| **[`medspa-wellness-clinic-leads-scraper`](https://apify.com/amitabh_312/medspa-wellness-clinic-leads-scraper)** | **Med Spa, Physio & Wellness Clinic Leads Scraper (B2B)** — Generate B2B leads for Med Spas, Physiotherapy, Chiropractic & Wellness Clinics. Extracts clinical directors, ... |
| **[`podcast-host-email-leads-scraper`](https://apify.com/amitabh_312/podcast-host-email-leads-scraper)** | **Podcast Host Email Finder & B2B Sponsorship Scraper** — Find verified podcast host & producer booking emails, personal emails, episode counts, publishing frequency & ... |
| **[`shopify-ecommerce-brand-founder-leads-scraper`](https://apify.com/amitabh_312/shopify-ecommerce-brand-founder-leads-scraper)** | **Shopify Store Leads Scraper: D2C Founder Emails & Tech** — Discover active Shopify & D2C ecommerce brands by niche. Extracts Founder/CEO names, verified corporate emails... |
| **[`skool-community-founder-mrr-leads-scraper`](https://apify.com/amitabh_312/skool-community-founder-mrr-leads-scraper)** | **Skool Community Scraper: Founder Emails & MRR Leads** — Extract active Skool communities sorted by Estimated Monthly Recurring Revenue (MRR). Pulls Founder names, ver... |
| **[`b2b-website-decision-maker-email-enricher`](https://apify.com/amitabh_312/b2b-website-decision-maker-email-enricher)** | **Google Maps & Website Decision Maker Email Enricher** — Turn raw Google Maps, Yelp or Clay URLs/domains into verified Owner/CEO names, LinkedIn profiles, DNS MX-verif... |

# Actor input Schema

## `urls` (type: `array`):

Enter B2B domains or URLs (e.g., 'tyrtactical.com', 'https://www.bdstacticalgear.com'). Optional: pass 'url|Company Name|City, ST|Phone' for faster geo-disambiguation.

## `datasetId` (type: `string`):

Optional: Paste the Dataset ID from any Google Maps Scraper (compass/crawler-google-places), Yelp, or YellowPages run on Apify. Automatically maps website, title, city, state, and phone.

## `leads` (type: `array`):

Optional: Pass an array of JSON objects containing 'website' (or 'domain'/'url') and optional 'title'/'Company', 'city', 'state', 'phone'.

## `maxLeads` (type: `integer`):

Maximum number of unique domains to process in this run (Free Apify accounts are capped at 25 sample leads).

## `requireDecisionMaker` (type: `boolean`):

Only output rows where a verified human Owner, Founder, Executive, or Buyer name is identified.

## `requireEmail` (type: `boolean`):

Only output rows where a DNS MX-verified email address is discovered.

## `requirePhone` (type: `boolean`):

Only output rows with a working business phone number.

## `deduplicateAcrossRuns` (type: `boolean`):

When enabled, saves delivered leads to a persistent Named Key-Value Store (sift-lead-vault) in your Apify account so repeat runs automatically skip previously delivered leads.

## `clientLedger` (type: `string`):

Identifier for your suppression list (e.g., "default", "client-alpha", or "q4-outbound"). Use different names to keep separate suppression vaults per client.

## Actor input object example

```json
{
  "urls": [
    "https://onyxcoffeelab.com",
    "https://www.castlehillfitness.com",
    "https://www.austindentalcare.com"
  ],
  "leads": [],
  "maxLeads": 25,
  "requireDecisionMaker": false,
  "requireEmail": false,
  "requirePhone": false,
  "deduplicateAcrossRuns": true,
  "clientLedger": "default"
}
```

# Actor output Schema

## `leads` (type: `string`):

Default dataset containing all verified B2B leads and contact fields.

## `runSummary` (type: `string`):

JSON summary of leads delivered and Pay-Per-Event (PPE) charges.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://onyxcoffeelab.com",
        "https://www.castlehillfitness.com",
        "https://www.austindentalcare.com"
    ],
    "maxLeads": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("amitabh_312/b2b-website-decision-maker-email-enricher").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [
        "https://onyxcoffeelab.com",
        "https://www.castlehillfitness.com",
        "https://www.austindentalcare.com",
    ],
    "maxLeads": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("amitabh_312/b2b-website-decision-maker-email-enricher").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://onyxcoffeelab.com",
    "https://www.castlehillfitness.com",
    "https://www.austindentalcare.com"
  ],
  "maxLeads": 25
}' |
apify call amitabh_312/b2b-website-decision-maker-email-enricher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,amitabh_312/b2b-website-decision-maker-email-enricher"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/LMN0mjASHvPrNSsTJ/builds/Ms6FWo4UVx8qNu9Mq/openapi.json
