# 🎯 LinkedIn Post Commenters ➔ B2B Lead & Email Finder (`automation_studio/linkedin-post-commenters-lead-enricher`) Actor

Extract commenters from any viral LinkedIn post or lead magnet, filter high-intent trigger words, parse job titles & company names, and verify direct corporate B2B work emails.

- **URL**: https://apify.com/automation_studio/linkedin-post-commenters-lead-enricher.md
- **Developed by:** [Automation Studio](https://apify.com/automation_studio) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 commenter 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 🎯 LinkedIn Post Commenters ➔ B2B Lead Gen & Verified Email Enricher

[![Python 3.11](https://img.shields.io/badge/Python-3.11-blue.svg)](https://www.python.org/)
[![No Cookies Required](https://img.shields.io/badge/Cookies-None%20Required-success.svg)]()
[![Zero Third-Party Fees](https://img.shields.io/badge/Third--Party%20APIs-Zero%20\(100%25%20Native\)-brightgreen.svg)]()
[![Pay-Per-Event](https://img.shields.io/badge/Pricing-Pay--Per--Event-orange.svg)]()
[![RAM Optimized](https://img.shields.io/badge/Memory-512MB-purple.svg)]()

> **Turn viral LinkedIn posts & lead magnets into ready-to-send outbound campaigns.** Extract the decision-makers who commented on any post, filter by trigger keywords (*"SCALE"*, *"PLAYBOOK"*, *"GUIDE"*), parse their company & job title, and verify their direct corporate work email (`first.last@company.com`) with tailored outreach hooks!

***

### ⚡ The Problem: Why Comment Scrapers Waste Your Time & Budget

When an influencer, founder, or enterprise posts a viral lead magnet on LinkedIn (*"Comment 'PLAYBOOK' and I'll send you our 2026 Outbound Playbook"*), hundreds or thousands of **in-market B2B buyers raise their hand**.

Existing tools like `harvestapi/linkedin-post-comments` or PhantomBuster only scrape **raw comment text** (*"Interested!"*, *"Great post!"*).
To actually contact these people, growth teams have to:

1. Export comments to a CSV.
2. Manually scrape their LinkedIn profile URLs.
3. Upload to Clay, Apollo, or Dropcontact to enrich work emails (**paying $0.40–$0.80 per lead**).
4. Spend hours stitching spreadsheets and writing icebreakers.

**The Solution**: This Actor handles the entire pipeline in **1 automated run** for just **`~$0.02` per enriched lead**.

***

### 🚀 The 4-Tier Comment-to-Lead Engine

| Tier | Name | What It Does | Advantage |
| :--- : | :--- | :--- | :---: |
| **Tier 1** | **Lead Magnet Trigger Filter** | Filters commenters by specific trigger words (e.g. `SCALE`, `PLAYBOOK`, `SEND`, `GUIDE`) so you only pay for high-intent buyers. | **Zero Waste on Spam Comments** |
| **Tier 2** | **Intelligent Headline Dissection** | Automatically parses complex LinkedIn headlines (e.g. *VP of Sales @ Retool | Ex-Google | Angel*) into clean `jobTitle` (*VP of Sales*) and `companyName` (*Retool*). | **Structured B2B Lead Profile** |
| **Tier 3** | **BounceVerify Email Engine** | Resolves corporate domain, analyzes MX records, generates enterprise permutations, and verifies deliverability via zero-send SMTP handshakes (`first.last@company.com`). | **Live SMTP Deliverable Work Email** |
| **Tier 4** | **Personalized Outreach Hooks** | Auto-crafts customized cold email subject lines and contextual icebreaker hooks referencing the specific post topic and author. | **10x Higher Cold Email Reply Rates** |

***

### 🛡️ The "No Email, No Pay" Guarantee

We believe you should only pay for verified, actionable data that drives real pipeline.

- **No Email Found? You Pay $0.00**: If our engine cannot find and verify a deliverable corporate email for a commenter, the email delivery event charge **never triggers**.
- **Deliverability First**: Every email goes through syntax verification, corporate MX record validation, enterprise format pattern matching, and real-time SMTP handshakes. Catch-all or undeliverable addresses are protected by our zero-waste billing logic.
- **Fair & Transparent**: You only ever pay for valid, high-confidence corporate emails delivered straight to your dataset.

***

### 💰 Transparent Pay-Per-Event (PPE) Pricing

| Event | Price (USD) | Description |
| :--- | :---: | :--- |
| **Actor Start** | `$0.001` | Charged once upon run initiation. |
| **Commenter Profile Extracted** | `$0.005` | Base dataset item charge for commenter profile, headline, and comment text. |
| **Verified Work Email Delivered** | `$0.015` | **Charged ONLY when a deliverable corporate email is found.** ($0.00 if missing or undeliverable!) |
| **Total per fully enriched lead** | **`$0.020`** | **95% cheaper than Apollo ($0.50) or Clay ($0.30/credit)!** |

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
| :--- | :---: | :---: | :--- |
| `mode` | String | `"BY_KEYWORD"` | Prospecting Mode: `"BY_KEYWORD"` (Search by Keyword/Niche) or `"BY_POST_URL"` (Direct LinkedIn Post URLs). |
| `searchKeyword` | String | `"B2B SaaS Growth"` | Active in Keyword mode. Enter any industry or niche (e.g. `apparel`, `b2b saas`, `ai`, `fintech`, `outbound`). |
| `postUrls` | Array | `[]` | Active in Post URL mode. Paste one or more public LinkedIn post or feed update URLs. |
| `keywordFilter` | Array | `[]` | Optional (in Post URL mode): Filter commenters by trigger words (e.g. `["scale", "playbook", "send"]`). |
| `linkedinCookie` | String | `""` | 100% Optional: Provide your LinkedIn `li_at` cookie to unlock comments from posts behind LinkedIn's sign-in barrier. |
| `maxResults` | Integer | `5` | Maximum leads/commenters to enrich. Default is 5 for fast <15s trial results. |
| `findVerifiedEmail` | Boolean | `true` | Enables corporate email discovery and deliverability verification (protected by "No Email, No Pay"). |
| `generateOutreachHooks` | Boolean | `true` | Generates tailored cold email opening pitch hooks and subject lines. |
| `proxyConfiguration` | Object | `{ "useApifyProxy": true }` | Uses native Apify Proxy for high-speed page retrieval. |

***

### 📊 Sample Output Dataset Item

```json
{
  "fullName": "Patrick Collison",
  "jobTitle": "Chief Executive Officer",
  "companyName": "Stripe",
  "companyDomain": "stripe.com",
  "verifiedWorkEmail": "patrick@stripe.com",
  "emailStatus": "VERIFIED",
  "confidenceScore": "99% (Real-Time SMTP Deliverable)",
  "deliverable": true,
  "commentText": "SCALE. Very insightful analysis on modern B2B payments infrastructure and distribution economics.",
  "headline": "Chief Executive Officer & Co-Founder at Stripe",
  "coldEmailSubject": "Quick question regarding your comment on Bill Gates's AI Education post, Patrick",
  "coldEmailHook": "Hi Patrick, noticed you commented on Bill Gates's LinkedIn post regarding AI Education. Given your role as Chief Executive Officer at Stripe, I wanted to reach out directly. We partner with high-growth teams like Stripe to accelerate pipeline and implementation without months of manual trial and error. Are you open to a brief 2-minute conversation later this week to see if we can share relevant benchmarks?",
  "postAuthor": "Bill Gates",
  "postUrl": "https://www.linkedin.com/posts/williamhgates_ai-education-sal-khan-activity-7193988674997874688-k0Qh",
  "linkedinUrl": "https://www.linkedin.com/in/patrickcollison",
  "mxProvider": "Google Workspace",
  "emailFormat": "first"
}
```

***

### 🏆 Comparison: Us vs. Competitors

| Feature | Dumb Comment Scrapers | Apollo / Clay | **This Actor** |
| :--- | :---: | :---: | :---: |
| **Comment Text & Post Data** | ✅ | ❌ (Manual CSV) | ✅ **Automated 1-Click** |
| **Headline to Company/Title Parser** | ❌ | ⚠️ (Manual setup) | ✅ **Built-In AI Dissection** |
| **Deliverable Corporate Email** | ❌ (0 emails) | ⚠️ (Often outdated) | ✅ **100% Live SMTP Verified** |
| **Trigger Keyword Filter (SCALE / GUIDE)** | ❌ | ❌ | ✅ **Filter High-Intent Only** |
| **Tailored Outreach Pitch Hooks** | ❌ | ❌ | ✅ **Custom-Tailored per Post** |
| **Cost per Enriched Lead** | $0.005 (raw text) | $0.30 – $0.80 | **~$0.020 (Complete Lead)** |
| **Time to Campaign** | 2 hours | 45 minutes | **<30 seconds** |

***

### 🛡️ Fair Use & Privacy Guarantee

All data is retrieved from publicly shared post discussions and validated using standard mail-server DNS MX lookups and zero-send handshakes. No private LinkedIn credentials, sessions, or cookies are ever required.

# Actor input Schema

## `mode` (type: `string`):

Choose how you want to find leads: Auto-discover active decision-makers by Keyword/Niche (easiest, no URLs required) OR Extract commenters from specific LinkedIn post URLs.

## `searchKeyword` (type: `string`):

Active in 'Search by Keyword' mode. Enter any industry, topic, or niche (e.g. 'apparel', 'b2b saas', 'e-commerce', 'outbound sales', 'fintech', 'recruiting').

## `postUrls` (type: `array`):

Active in 'Direct LinkedIn Post URLs' mode. Paste one or more public LinkedIn post or feed update URLs (e.g. `https://www.linkedin.com/feed/update/urn:li:activity:7235000000000000000`).

## `keywordFilter` (type: `array`):

Optional (in Post URL mode): Only enrich commenters whose comment text contains any of these trigger words (e.g. 'scale', 'playbook', 'send', 'guide', 'interested'). Leave empty to enrich ALL commenters.

## `linkedinCookie` (type: `string`):

100% Optional: Provide your LinkedIn 'li_at' session cookie to extract comments from posts protected behind LinkedIn's sign-in barrier. Leave empty to run in 100% cookieless public mode.

## `maxResults` (type: `integer`):

Maximum number of leads/commenters to extract and enrich. Default is 5 for fast <15s trial results.

## `findVerifiedEmail` (type: `boolean`):

Resolve corporate domain, check DNS MX records, generate permutations, and verify work email deliverability with zero-send SMTP handshakes. Protected by our 'No Email, No Pay' guarantee.

## `generateOutreachHooks` (type: `boolean`):

Automatically write personalized, high-converting cold email subject lines and conversational opening hooks referencing the specific post, company, and industry activity.

## `maxConcurrency` (type: `integer`):

Number of leads or posts processed concurrently. Keep at 3–5 for optimal speed and reliability.

## `proxyConfiguration` (type: `object`):

Apify Proxy ensures smooth, high-speed public page resolution without rate limiting.

## Actor input object example

```json
{
  "mode": "BY_KEYWORD",
  "searchKeyword": "B2B SaaS Growth",
  "postUrls": [],
  "keywordFilter": [],
  "maxResults": 5,
  "findVerifiedEmail": true,
  "generateOutreachHooks": true,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing verified leads extracted from LinkedIn post comments.

# 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 = {
    "mode": "BY_KEYWORD",
    "searchKeyword": "B2B SaaS Growth",
    "postUrls": [],
    "keywordFilter": [],
    "maxResults": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation_studio/linkedin-post-commenters-lead-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 = {
    "mode": "BY_KEYWORD",
    "searchKeyword": "B2B SaaS Growth",
    "postUrls": [],
    "keywordFilter": [],
    "maxResults": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("automation_studio/linkedin-post-commenters-lead-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 '{
  "mode": "BY_KEYWORD",
  "searchKeyword": "B2B SaaS Growth",
  "postUrls": [],
  "keywordFilter": [],
  "maxResults": 5
}' |
apify call automation_studio/linkedin-post-commenters-lead-enricher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation_studio/linkedin-post-commenters-lead-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/eyQfOpsVU15nCt1TV/builds/pjnUHciodzRPVbuhO/openapi.json
