# LinkedIn Profile Scraper + Verified Email · No Cookies (`data-slayer/linkedin-profile-scraper`) Actor

Scrape LinkedIn profiles and get verified work emails in one call.

- **URL**: https://apify.com/data-slayer/linkedin-profile-scraper.md
- **Developed by:** [Data Slayer](https://apify.com/data-slayer) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 361 total users, 76 monthly users, 99.6% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $10.00 / 1,000 enriched leads

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### LinkedIn Profile Scraper with Verified Work Email

Paste LinkedIn profile URLs. Get back full LinkedIn profile data, with optional verified work email lookup.

**Pay per event** — profile enrichment and verified email are billed separately (see Pricing). No monthly subscription. No per-seat fees.

From **$10/1K enriched profiles** on Gold plan (from **$15/1K** on Free). Verified emails from **$19/1K** when found on Gold (from **$29/1K** on Free).


#### How it works

1. Paste one or more LinkedIn profile URLs (standard or Sales Navigator).
2. Click Run.
3. Download results as JSON, CSV, or Excel.

Every result includes the person's full profile data. Enable **Find Verified Work Email** in the input when you want a verified work email as well (adds time per profile; billed only when returned). Profile-only runs are fastest. No cookies, no login, no Chrome extension. Your LinkedIn account is never touched.

### 📺 Video Tutorial

https://www.youtube.com/watch?v=o-X_OCQ_ZI0

---

#### Sample output

```json
{
  "full_name": "Kyle Poyar",
  "first_name": "Kyle",
  "last_name": "Poyar",
  "email": "kyle@growthunhinged.com",
  "Millionverifier result": "ok",
  "Millionverifier quality": "good",
  "job_title": "Founder & Creator",
  "profile_headline": "Growth Unhinged | Real-life growth insights, playbooks, and case studies",
  "current_company_name": "Growth Unhinged",
  "company_industry": "Technology, Information and Internet",
  "company_website": "https://www.growthunhinged.com/",
  "location": "Greater Boston, United States",
  "country": "United States",
  "profile_link": "https://linkedin.com/in/kyle-poyar",
  "connections": 21144,
  "followers": 106113,
  "is_premium": true,
  "is_creator": true,
  "experience": [
    {
      "job_title": "Founder & Creator",
      "company_name": "Growth Unhinged",
      "company_industry": "Technology, Information and Internet",
      "job_started_on": "2021",
      "job_still_working": true
    }
  ],
  "education": [
    {
      "university_name": "Brown University",
      "fields_of_study": ["A.B., Economics, Environmental Studies"]
    }
  ],
  "skills": ["Analysis", "Marketing Strategy", "Pricing Strategy", "Management Consulting"]
}
````

The full output includes: complete work history with company headcount, industry, and website for each role; full education with grades and descriptions; up to 20 skills; certifications; languages; volunteering; featured content; publications; websites; and recommendations.

#### Pricing

This actor uses **pay-per-event** pricing. Apify Store plan discounts apply to both events below.

##### 1. Enriched LinkedIn profile

Charged for each profile written to your dataset (whether or not email lookup is enabled).

| Plan | Price per 1,000 profiles |
|---|---|
| Free | **$15.00** |
| Bronze | **$13.33** |
| Silver | **$11.67** |
| Gold, Platinum, Diamond | **$10.00** |

##### 2. Verified work email (optional)

Charged only when **Find Verified Work Email** is enabled and a valid or catch-all verified email is returned. Not charged for invalid, unknown, or disposable results — and not charged when no email is found.

| Plan | Price per 1,000 verified emails |
|---|---|
| Free | **$29.00** |
| Bronze | **$25.67** |
| Silver | **$22.33** |
| Gold, Platinum, Diamond | **$19.00** |

##### Combined total (email lookup on, email found)

| Plan | Profile + email per 1,000 |
|---|---|
| Free | **$44.00** |
| Bronze | **$39.00** |
| Silver | **$34.00** |
| Gold, Platinum, Diamond | **$29.00** |

Disable **Find Verified Work Email** in the run input to pay only the profile rate.

Pay only for what you use. Test free with Apify's free-tier credits.

#### Why verified email matters

Most LinkedIn email tools guess an email pattern (firstname@company.com) and call it a day. This actor runs a full pipeline: finds the real work email using the person's name and company, then verifies it through SMTP validation. The output includes both the email and its verification status, so you know which emails will actually land in an inbox before you send.

#### Use cases

**Sales & outreach** — Enrich your prospect list with fresh LinkedIn data and verified emails. Drop the output straight into your outreach tool.

**Recruiting** — Pull full candidate profiles with work emails at scale. No more guessing contact info.

**CRM enrichment** — Feed profile URLs from your CRM, get back enriched records with job titles, company details, and emails. Trigger via API from Make, Zapier, Clay, or your own scripts.

**Market research** — Collect structured career data for competitive intelligence, labor market analysis, or audience profiling.

#### Input

| Parameter | Type | Required | Description |
|---|---|---|---|
| `linkedin_url` | String or Array | Yes | One or more LinkedIn profile URLs (standard or Sales Navigator) |

One field. Paste your URLs and run.

#### Integrations

This actor works with the full Apify ecosystem — API access, scheduling, webhooks, Make, Zapier, Google Sheets, and MCP Server (use it as a tool inside Claude, Cursor, or any MCP-compatible AI agent).

#### Other LinkedIn actors by Data Slayer

| Actor | What it does |
|---|---|
| [LinkedIn Post Analytics Scraper](https://apify.com/data-slayer/linkedin-post-analytics-scraper) | Deep engagement analytics from any LinkedIn post |
| [LinkedIn Company Scraper](https://apify.com/data-slayer/linkedin-company-scraper) | Full company profiles with 900+ data points |
| [LinkedIn Profile Posts Scraper](https://apify.com/data-slayer/linkedin-profile-posts-scraper) | All recent posts from any LinkedIn profile |
| [LinkedIn Company Posts Scraper](https://apify.com/data-slayer/linkedin-company-posts-scraper) | All recent posts from any company page |

#### FAQ

**Do I need LinkedIn cookies or login?**
No. Just paste profile URLs. Your LinkedIn account is never involved or at risk.

**Does it work with Sales Navigator URLs?**
Yes. Mix standard URLs and Sales Navigator links in the same run.

**How is the email found and verified?**
The actor identifies the person's current company, finds their work email using name + company domain, then runs SMTP verification. Only verified emails appear in the output.

**What if no email is found for a profile?**
You still get the full profile data. Some profiles don't have enough information to find a work email — the result will include all profile fields with the email field empty.

**How many profiles can I scrape?**
No limit. Pass hundreds or thousands of URLs in a single run.

# Actor input Schema

## `linkedin_urls` (type: `array`):

One profile URL per row (standard or Sales Navigator). Paste hundreds or thousands of URLs here. Duplicates are removed automatically.

## `linkedin_url` (type: `string`):

Optional. Used only if "LinkedIn profile URL(s)" is empty — for older integrations that pass one URL here.

## `extract_email` (type: `boolean`):

When enabled, finds and verifies a work email after each profile is fetched (slower). Leave off for profile-only enrichment. Enable for production email lookup.

## Actor input object example

```json
{
  "linkedin_urls": [
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/satyanadella",
    "https://www.linkedin.com/in/jeffweiner08",
    "https://www.linkedin.com/in/sundarpichai",
    "https://www.linkedin.com/in/sherylsandberg"
  ],
  "linkedin_url": "",
  "extract_email": false
}
```

# Actor output Schema

## `results` (type: `string`):

LinkedIn profiles enriched with verified work emails, stored in the default dataset

# 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 = {
    "linkedin_urls": [
        "https://www.linkedin.com/in/williamhgates",
        "https://www.linkedin.com/in/satyanadella",
        "https://www.linkedin.com/in/jeffweiner08",
        "https://www.linkedin.com/in/sundarpichai",
        "https://www.linkedin.com/in/sherylsandberg"
    ],
    "extract_email": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/linkedin-profile-scraper").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 = {
    "linkedin_urls": [
        "https://www.linkedin.com/in/williamhgates",
        "https://www.linkedin.com/in/satyanadella",
        "https://www.linkedin.com/in/jeffweiner08",
        "https://www.linkedin.com/in/sundarpichai",
        "https://www.linkedin.com/in/sherylsandberg",
    ],
    "extract_email": False,
}

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/linkedin-profile-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "linkedin_urls": [
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/satyanadella",
    "https://www.linkedin.com/in/jeffweiner08",
    "https://www.linkedin.com/in/sundarpichai",
    "https://www.linkedin.com/in/sherylsandberg"
  ],
  "extract_email": false
}' |
apify call data-slayer/linkedin-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=data-slayer/linkedin-profile-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Profile Scraper + Verified Email · No Cookies",
        "description": "Scrape LinkedIn profiles and get verified work emails in one call.",
        "version": "1.0",
        "x-build-id": "hzfTJsz2GixMTSqDn"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/data-slayer~linkedin-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-data-slayer-linkedin-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/data-slayer~linkedin-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-data-slayer-linkedin-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/data-slayer~linkedin-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-data-slayer-linkedin-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "linkedin_urls": {
                        "title": "LinkedIn profile URL(s)",
                        "type": "array",
                        "description": "One profile URL per row (standard or Sales Navigator). Paste hundreds or thousands of URLs here. Duplicates are removed automatically.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "https://www.linkedin.com/in/williamhgates",
                            "https://www.linkedin.com/in/satyanadella",
                            "https://www.linkedin.com/in/jeffweiner08",
                            "https://www.linkedin.com/in/sundarpichai",
                            "https://www.linkedin.com/in/sherylsandberg"
                        ]
                    },
                    "linkedin_url": {
                        "title": "Single profile URL (legacy)",
                        "type": "string",
                        "description": "Optional. Used only if \"LinkedIn profile URL(s)\" is empty — for older integrations that pass one URL here.",
                        "default": ""
                    },
                    "extract_email": {
                        "title": "Find Verified Work Email",
                        "type": "boolean",
                        "description": "When enabled, finds and verifies a work email after each profile is fetched (slower). Leave off for profile-only enrichment. Enable for production email lookup.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
