# LinkedIn Leads Generator - Emails with Profile Details (`scrapido/linkedin-leads-generator`) Actor

🎯 LinkedIn Leads Generator runs keyword searches and returns profiles exposing a public email, complete with supporting profile details. 📇 Per-keyword caps keep runs controlled. 💼 Structured LinkedIn leads for direct CRM import.

- **URL**: https://apify.com/scrapido/linkedin-leads-generator.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Leads Generator

**LinkedIn Leads Generator** is an Apify actor that helps you scrape LinkedIn leads with contact emails, usernames, and profile links—solving the biggest problem in prospecting: manual research at scale. It’s built for marketers, recruiters, and data teams who need a **LinkedIn lead generator** (and contact scraper) that turns keyword research into an exportable list fast and consistently.

***

### What is LinkedIn Leads Generator? 🔍

**LinkedIn Leads Generator** is an automated web scraping tool on Apify that extracts LinkedIn profile leads and enriches them with contact information. Using your **keywords** and an optional **target country**, the actor collects structured lead records that include a profile **username**, a direct **profile link**, and any extracted **email addresses**. It’s ideal for marketers running **B2B lead generation**, recruiters doing **LinkedIn prospecting**, and sales teams building outreach lists through **email outreach**. If you’re comparing **lead scraping tools** or looking for a **LinkedIn email finder**, this actor helps you generate pipeline-ready contacts in minutes—without spending hours manually researching every prospect.

***

### What Data Does a LinkedIn Leads Generator Collect? 📊

LinkedIn Leads Generator focuses on turning your targeting inputs into actionable contact data. It captures contact emails (when available), identity and navigation details for each profile, and the keyword context that surfaced the result.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Discovery | `keyword` | The search term that surfaced this LinkedIn profile |
| Identity | `username` | The LinkedIn handle extracted from the profile URL |
| Navigation | `userLink` | Direct link to the LinkedIn profile |
| Contact | `emails` | List of extracted email addresses associated with the profile |

***

### What Do Results from a LinkedIn Leads Generator Look Like? 👀

Each result is a structured JSON record saved to your Apify dataset. Here’s a real-shaped example:

```json
{
  "keyword": "marketing manager",
  "username": "jordan.lee",
  "userLink": "https://www.linkedin.com/in/jordan-lee-7a9b2c1/",
  "emails": [
    "jordan.lee@brightspringmedia.com",
    "jlee@brightspringmedia.com"
  ]
}
```

Results are stored in your **Apify dataset** and can be exported from the dataset UI (JSON / CSV via Apify Console).

***

#### Core Features: LinkedIn Leads Generator ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-driven targeting** | Use `keywords` to generate lists for **LinkedIn prospecting** and **target audience targeting** |
| ✅ **Country filter** | Narrow results by the selected `country` to improve **lead qualification** |
| ✅ **Email-only mode** | Turn on `scrapeLeadsWithEmail` to return profiles that have a public email address |
| ✅ **Configurable lead cap per keyword** | Use `maxLeadsPerKeyword` to control run volume for **pipeline generation** |
| ✅ **Free tier cap (100 emails/run)** | Free users are capped at 100 emails total per run, so you can test quickly |
| ✅ **Proxy support for reliability** | Built-in proxy support helps keep large scraping runs more stable |
| ✅ **Resilient scraping behavior** | Includes resilience mechanisms like retries and fallbacks during scraping |
| ✅ **Structured dataset output** | Dataset fields are consistent and ready for CRM import, outreach tools, and **contact enrichment** |
| ✅ **Simple workflow** | Set inputs in Apify, run, then export the dataset for **sales outreach automation** |

***

### Getting Started with LinkedIn Leads Generator 🚀

1. **Open Apify Store** — Go to https://apify.com/store and search **LinkedIn Leads Generator**
2. **Click Try for Free** — Sign in or create an Apify account
3. **Open the Input Tab** — Configure your lead generation settings
4. **Add Keywords** — Enter search terms that match your ideal audience
5. **Select a Target Country** — Use `country` to focus your results
6. **(Optional) Enable Email-Only Mode** — Turn on `scrapeLeadsWithEmail` if you want contacts with emails only
7. **Cap Results per Keyword** — Adjust `maxLeadsPerKeyword` to control output volume
8. **Run and Monitor** — Watch logs during execution, then open the **dataset** tab to export

***

### Ways to Use LinkedIn Leads Generator 💡

- 🎯 **B2B lead generation** — Build segmented lists for **sales outreach automation**
- ✉️ **Email outreach** — Generate contact sources for cold emailing and personalized campaigns
- 🤝 **Social selling** — Support outreach with profile links and extracted emails
- 🧠 **Contact enrichment** — Feed verified emails into a CRM workflow and improve match rates
- 📊 **Lead qualification** — Use keyword + country targeting to speed up screening
- ⚙️ **Account-based marketing** — Target decision-maker search styles with consistent dataset exports

***

#### Input Parameters — LinkedIn Leads Generator

Use the actor’s input form or provide an `input.json`.

```json
{
  "keywords": ["software engineer", "marketing manager"],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | Array | ✅ Yes | — | List of keywords used to search for LinkedIn profiles |
| `country` | String | No | `United States` | Target country for the leads you want to generate |
| `maxLeadsPerKeyword` | Integer | No | `20` | Maximum number of leads to collect for each keyword (free tier is capped at 100 emails total per run) |
| `scrapeLeadsWithEmail` | Boolean | No | `false` | If enabled, only returns profiles that have a public email address |

***

#### Output Parameters — LinkedIn Leads Generator

The actor saves results into an Apify dataset with the following structure and order.

```json
[
  {
    "keyword": "marketing manager",
    "username": "jordan.lee",
    "userLink": "https://www.linkedin.com/in/jordan-lee-7a9b2c1/",
    "emails": [
      "jordan.lee@brightspringmedia.com",
      "jlee@brightspringmedia.com"
    ]
  }
]
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | Search term that surfaced this LinkedIn lead |
| `username` | Username | text | LinkedIn username/handle extracted from the profile link |
| `userLink` | Profile URL | link | Direct URL to the LinkedIn profile |
| `emails` | Email Addresses | array | Array of extracted email addresses for the lead |

***

### Why Choose This LinkedIn Leads Generator? 🏆

If you’re looking for a reliable **LinkedIn leads generator** for **B2B lead generation** or outreach workflows, this actor gives you structured results you can export and use immediately. It’s built around keyword and country targeting, supports an email-only mode via `scrapeLeadsWithEmail`, and saves results in an Apify dataset ready for analysis and CRM integration. Pricing follows a pay-per-result model, and new users get free tier credits to help you validate your results quickly. For support and trust, contact: <scrapidocontact@gmail.com>.

***

### How Many Results Can You Scrape? 📈

Your output is governed by `maxLeadsPerKeyword` plus the actor’s overall free-tier cap. Free users are capped at **100 emails total per run**, while paid users have no hard limit enforced in the actor logic. Actual lead counts depend on how many LinkedIn profiles match your keywords and have public email availability. Export results from the dataset anytime.

***

### Legal Guidelines for Scraping LinkedIn ⚖️

LinkedIn Leads Generator collects information only from **publicly available sources**. It does no scraping from private profiles or password-protected pages. Public web data scraping is widely used for research and legitimate business purposes, but you must still follow LinkedIn’s Terms of Service and applicable privacy and anti-spam laws (including GDPR/CCPA where relevant). For data removal requests, contact <scrapidocontact@gmail.com>.

***

### FAQ — LinkedIn Leads Generator ❓

#### How does the LinkedIn Leads Generator identify data?

The actor uses the keywords you provide in `keywords` (and optionally the selected `country`) to generate lead candidates, then extracts the fields stored in the dataset: `keyword`, `username`, `userLink`, and `emails` (when available).

#### What LinkedIn profile types can I scrape?

It targets publicly accessible LinkedIn profile pages and extracts profile identity plus any available public email addresses. Profiles without public email information may be excluded when you enable `scrapeLeadsWithEmail`.

#### How did the LinkedIn Leads Generator perform in our tests?

Because email availability varies by niche and profile, results vary run to run. The most consistent way to increase usable outreach leads is to combine focused keywords with the `scrapeLeadsWithEmail` setting so you only receive profiles that have a public email address.

#### Why scrape LinkedIn for contacts?

LinkedIn contains a large pool of professionals that can be valuable for **LinkedIn prospecting**, **decision maker search**, and **pipeline generation**. Scraping automates repetitive manual research so you can scale **lead scraping tools** workflows into your regular marketing or sales cadence.

#### How much does the LinkedIn Leads Generator cost?

Pricing is pay-per-result. The actor enforces a free-tier cap at **100 emails total per run** for free users, while paid users have no hard limit enforced by the actor logic.

#### How does the LinkedIn Leads Generator help my business?

It helps you build a clean, exportable leads dataset segmented by `keyword` and enriched with `userLink` and `emails`. This makes it easier to import into CRMs, run **email outreach** campaigns, and support **contact enrichment** and analytics.

#### What challenges should I expect when using the LinkedIn Leads Generator?

Not every profile includes a public email address, so overall email yield depends on your keyword mix and the types of professionals you target. If you need higher response rates, enable `scrapeLeadsWithEmail` and iterate on your `keywords` list.

#### How do I choose a high-performing LinkedIn Leads Generator?

Choose the configuration that matches your goal: use targeted `keywords`, filter with the `country` you care about, and enable `scrapeLeadsWithEmail` when you need emails only. The dataset output fields are designed to plug directly into downstream CRM or outreach processes.

***

### Conclusion 🏁

**LinkedIn Leads Generator** is a fast way to turn targeted keywords into a structured dataset of LinkedIn leads—complete with `userLink` and `emails` (when available). Ideal for **B2B lead generation**, recruiter sourcing, and data-driven outreach—start free on Apify and scale from there.

***

### 🆘 Support & Feedback

Have a question or feature request for **LinkedIn Leads Generator**?

Send an email to <scrapidocontact@gmail.com>.

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for LinkedIn profiles (e.g., 'software engineer', 'marketing manager').

## `country` (type: `string`):

Select the target country for leads.

## `maxLeadsPerKeyword` (type: `integer`):

Maximum number of leads to collect for each keyword. Free users are capped at 100 emails total per run.

## `scrapeLeadsWithEmail` (type: `boolean`):

If enabled, only returns profiles that have a public email address.

## `audienceType` (type: `string`):

Only used when 'Only Leads with Email' is enabled. Business Emails runs contextual discovery patterns tuned for company contact info ("email us at", "contact@", HR/partnerships, ...) instead of guessing consumer webmail addresses. Consumer Emails searches gmail.com, hotmail.com, outlook.com and yahoo.com directly.

## Actor input object example

```json
{
  "keywords": [
    "software engineer",
    "marketing manager"
  ],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false,
  "audienceType": "Consumer Emails"
}
```

# Actor output Schema

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

No description

# 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 = {
    "keywords": [
        "software engineer",
        "marketing manager"
    ],
    "country": "United States",
    "maxLeadsPerKeyword": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/linkedin-leads-generator").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 = {
    "keywords": [
        "software engineer",
        "marketing manager",
    ],
    "country": "United States",
    "maxLeadsPerKeyword": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/linkedin-leads-generator").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 '{
  "keywords": [
    "software engineer",
    "marketing manager"
  ],
  "country": "United States",
  "maxLeadsPerKeyword": 20
}' |
apify call scrapido/linkedin-leads-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapido/linkedin-leads-generator"
        }
    }
}

```

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/qxRYzrtd5M9az9MSm/builds/CBPoiDAsLNwRfWZ3l/openapi.json
