# 👔 LinkedIn Profile & Work Email Scraper (No Cookies) (`automation_studio/linkedin-profile-email-scraper-no-cookies`) Actor

Scrape rich LinkedIn profiles and discover real-time SMTP verified corporate emails with zero cookies or account login. 100% ban-free, catch-all protected, and ready for cold outreach without Apollo or Clay subscriptions.

- **URL**: https://apify.com/automation\_studio/linkedin-profile-email-scraper-no-cookies.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 $9.00 / 1,000 enriched lead & verified emails

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 Profile & Verified Work Email Scraper (No Cookies)

[![Apify](https://img.shields.io/badge/Apify-Actor-orange.svg)](https://apify.com)
[![Ban Free](https://img.shields.io/badge/LinkedIn-100%25%20Ban--Free-brightgreen.svg)]()
[![No Cookies](https://img.shields.io/badge/Auth-Zero%20Cookies%20Required-blue.svg)]()
[![SMTP Verified](https://img.shields.io/badge/Deliverability-99%25%20SMTP%20Handshake-purple.svg)]()

> **The Ultimate Ban-Free Lead Generation Engine**: Scrape complete LinkedIn professional profiles and discover **100% real-time SMTP-verified corporate work emails** with **zero cookies, zero session secrets, and zero account login risk**.

***

### ⚡ Why This Actor Beats Traditional LinkedIn Scrapers

| Feature | Typical LinkedIn Scrapers | Apollo / Clay Subscriptions | 👔 This Actor |
| :--- | :--- | :--- | :--- |
| **LinkedIn Cookies Required** | ⚠️ YES (High ban risk) | ❌ NO | 🛡️ **NO (100% Ban-Free)** |
| **Account Ban Risk** | 🚨 Critical (Burns accounts) | 🟢 Safe | 🛡️ **Zero (No Login Needed)** |
| **Real-Time SMTP Deliverability** | ❌ None (Profile only) | ⚠️ Cached / Outdated | ⚡ **Live Multi-Hop Handshake** |
| **Catch-All & Gateway Defense** | ❌ Fails on Proofpoint / M365 | ⚠️ Marked as "risky" | 🎯 **Pattern & MX Intelligence** |
| **Multi-Domain Permutation Loop** | ❌ Fails on variant domains | ❌ Rigid domain matching | 🔄 **Smart Domain Resolution** |
| **Personalized Cold Outreach Hook** | ❌ Not included | 💰 Extra add-on credit | ✨ **Included per lead** |
| **Monthly Subscription** | 💸 $49 – $150 / month | 💸 $99 – $300 / month | 💎 **Pay only for compute used** |

***

### 🚀 Key Capabilities

#### 1. 🛡️ 100% Cookieless & Ban-Proof Architecture

Stop putting your personal or company LinkedIn accounts at risk. Traditional scrapers require you to paste your `li_at` cookie, leading to immediate LinkedIn checkpoint bans and restricted accounts. This actor uses cookieless public profiling technology to extract complete, structured profile information without ever logging in.

#### 2. 📧 Live Multi-Domain SMTP Handshake Engine

Most tools guess one email pattern and fail if the company operates alternate corporate domains (e.g., `diffeyewear.com` vs. `diff-eyewear.com`, or `vanderstorm-ventures.com` vs. `vanderstormventures.com`). Our engine:

- Dynamically resolves all active corporate domains using DNS MX verification.
- Generates statistical corporate email permutations (`first.last`, `flast`, `first_last`, `first`, etc.).
- Performs a live multi-hop SMTP handshake to guarantee the mailbox is active and deliverable before writing to your dataset.

#### 3. 🎯 Enterprise Gateway & Catch-All Protection

Don't ruin your domain sender reputation by blasting emails to invalid mailboxes on catch-all domains:

- Accurately detects **Proofpoint Enterprise, Mimecast, Microsoft 365 EOP, and Google Workspace** mail gateways.
- Provides confidence scores (`99% Real-Time SMTP Deliverable`, `65% Gateway Protected`, etc.) so your sales development reps (SDRs) know exactly which leads to prioritize.

#### 4. ✍️ Instant Cold Outreach Copy Generation

Every extracted record includes:

- **Personalized Cold Email Subject Line** tailored to the prospect's company and role.
- **Conversational Icebreaker Hook** referencing their exact title and outbound goals.
- Plug directly into Instantly, Smartlead, Lemlist, HubSpot, or Salesforce.

***

### 📥 Input Configuration

| Parameter | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| `searchMode` | String | Yes | `single` (one URL) or `bulk` (multiple URLs). Default: `single`. |
| `profileUrl` | String | In single mode | Target LinkedIn profile URL (e.g. `https://www.linkedin.com/in/satyanadella`). |
| `bulkProfileUrls` | Array | In bulk mode | List of LinkedIn profile URLs. |
| `bulkLeadsText` | String | In bulk mode | Raw text block containing LinkedIn URLs (one per line). |
| `findVerifiedEmail` | Boolean | Optional | Enable real-time corporate work email discovery (Default: `true`). |
| `fallbackCompanyDomain` | String | Optional | Force a specific corporate domain (e.g., `tesla.com`). |
| `generateOutreachHooks` | Boolean | Optional | Generate personalized subject lines and icebreakers (Default: `true`). |
| `maxConcurrency` | Integer | Optional | Number of profiles to process in parallel (1 to 20, Default: `5`). |

#### Example Input (Single Mode)

```json
{
  "searchMode": "single",
  "profileUrl": "https://www.linkedin.com/in/satyanadella",
  "findVerifiedEmail": true,
  "generateOutreachHooks": true
}
```

#### Example Input (Bulk Mode)

```json
{
  "searchMode": "bulk",
  "bulkProfileUrls": [
    "https://www.linkedin.com/in/satyanadella",
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/tim-cook"
  ],
  "findVerifiedEmail": true,
  "generateOutreachHooks": true,
  "maxConcurrency": 5
}
```

***

### 📤 Output Dataset Format

The Actor exports a clean, standardized dataset ready for 1-click download in **JSON, CSV, Excel, or direct API integration**.

#### Sample Output Record

```json
{
  "fullName": "Nicole Loeffler",
  "firstName": "Nicole",
  "lastName": "Loeffler",
  "jobTitle": "Senior Product Development Manager | Product Operations",
  "companyName": "DIFF Eyewear",
  "companyDomain": "diffeyewear.com",
  "verifiedEmail": "nicole.loeffler@diffeyewear.com",
  "emailStatus": "VERIFIED",
  "confidenceScore": "99% (Real-Time SMTP Deliverable)",
  "deliverable": true,
  "headline": "Senior Product Development Manager | Product Operations at DIFF Eyewear",
  "location": "Ladera Ranch, California, United States",
  "profilePicUrl": "https://media.licdn.com/dms/image/...",
  "linkedinUrl": "https://www.linkedin.com/in/naloeffler",
  "mxProvider": "Google Workspace",
  "emailFormat": "first.last",
  "verificationMethod": "DISTRIBUTED_SMTP_HANDSHAKE",
  "coldEmailSubject": "Nicole - thoughts on DIFF Eyewear's sales pipeline?",
  "coldEmailHook": "Hi Nicole, came across your role as Senior Product Development Manager at DIFF Eyewear. We help high-growth B2B teams scale direct outbound deliverability without burning through expensive credits. Open to a brief 2-minute overview this week?"
}
```

***

### 💼 Ideal Use Cases

- **B2B Outbound Sales & SDR Teams**: Generate fresh, deliverable contact lists every morning without risking your sales reps' LinkedIn accounts.
- **Recruiters & Talent Acquisition**: Source hard-to-reach executives and reach them directly at their primary business inbox.
- **Agencies & Lead Gen Consultancies**: Resell high-deliverability lead lists to clients with zero monthly SaaS bloat.
- **Competitor Intelligence & Account-Based Marketing (ABM)**: Target decision-makers across entire strategic enterprise accounts in bulk.

***

### ❓ Frequently Asked Questions (FAQ)

##### Do I need to provide my LinkedIn username or password?

**Never.** This Actor is 100% cookieless and login-free. You never need to supply credentials or cookies.

##### How accurate are the verified work emails?

Every email marked with `VERIFIED` and `99% (Real-Time SMTP Deliverable)` has undergone a live SMTP mailbox handshake against the recipient's corporate mail server. This guarantees bounce rates stay strictly under 1-2%.

##### How does it handle companies with hyphenated or variant domains?

Our engine uses intelligent multi-domain resolution. It detects and tests both compressed domains (`diffeyewear.com`) and hyphenated variants (`diff-eyewear.com`), cross-referencing active MX records to locate the true mailbox host.

##### Can I export directly to HubSpot or Salesforce?

Yes! Use Apify's built-in webhooks, Zapier, or Make integrations to route new leads into your CRM immediately after the scrape finishes.

# Actor input Schema

## `searchMode` (type: `string`):

Choose between single profile lookup or bulk batch extraction.

## `profileUrl` (type: `string`):

Public LinkedIn profile URL or handle (e.g., https://www.linkedin.com/in/satyanadella or 'satyanadella'). Required in Single Mode.

## `fallbackCompanyDomain` (type: `string`):

Optional: Manually specify the company website domain (e.g. microsoft.com, hubspot.com) to skip automatic domain discovery.

## `bulkProfileUrls` (type: `array`):

List of LinkedIn profile URLs to scrape and enrich.

## `bulkLeadsText` (type: `string`):

Paste one LinkedIn URL per line, or CSV format: LinkedInURL,CompanyDomain

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

Run real-time multi-hop SMTP handshake and SEC EDGAR verification to find the deliverable corporate work email.

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

Generate personalized conversation openers and cold email subject lines based on profile headline and role.

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

Number of profiles processed concurrently in bulk mode. Recommended: 3 to 8.

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

Apify Proxy ensures smooth, high-volume public profile scraping without IP rate limits.

## Actor input object example

```json
{
  "searchMode": "single",
  "profileUrl": "https://www.linkedin.com/in/satyanadella",
  "bulkProfileUrls": [
    "https://www.linkedin.com/in/satyanadella",
    "https://www.linkedin.com/in/yamini-rangan"
  ],
  "bulkLeadsText": "https://www.linkedin.com/in/satyanadella\nhttps://www.linkedin.com/in/yamini-rangan",
  "findVerifiedEmail": true,
  "generateOutreachHooks": true,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

Dataset containing scraped LinkedIn profile details, verified executive emails, deliverability statuses, company info, and outreach hooks

## `summary` (type: `string`):

Markdown summary report of scraped profiles, verified email hit rates, and deliverability stats

# 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 = {
    "searchMode": "single",
    "profileUrl": "https://www.linkedin.com/in/satyanadella",
    "bulkProfileUrls": [
        "https://www.linkedin.com/in/satyanadella",
        "https://www.linkedin.com/in/yamini-rangan"
    ],
    "bulkLeadsText": `https://www.linkedin.com/in/satyanadella
https://www.linkedin.com/in/yamini-rangan`
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation_studio/linkedin-profile-email-scraper-no-cookies").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 = {
    "searchMode": "single",
    "profileUrl": "https://www.linkedin.com/in/satyanadella",
    "bulkProfileUrls": [
        "https://www.linkedin.com/in/satyanadella",
        "https://www.linkedin.com/in/yamini-rangan",
    ],
    "bulkLeadsText": """https://www.linkedin.com/in/satyanadella
https://www.linkedin.com/in/yamini-rangan""",
}

# Run the Actor and wait for it to finish
run = client.actor("automation_studio/linkedin-profile-email-scraper-no-cookies").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 '{
  "searchMode": "single",
  "profileUrl": "https://www.linkedin.com/in/satyanadella",
  "bulkProfileUrls": [
    "https://www.linkedin.com/in/satyanadella",
    "https://www.linkedin.com/in/yamini-rangan"
  ],
  "bulkLeadsText": "https://www.linkedin.com/in/satyanadella\\nhttps://www.linkedin.com/in/yamini-rangan"
}' |
apify call automation_studio/linkedin-profile-email-scraper-no-cookies --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation_studio/linkedin-profile-email-scraper-no-cookies"
        }
    }
}
```

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/OJM763agfhAW1qjgi/builds/M7kDCAmaismpws9rw/openapi.json
