# LinkedIn Bulk Email Finder (`jungle_synthesizer/linkedin-bulk-email-finder`) Actor

Find business email addresses for LinkedIn contacts in bulk. Discover contacts by company and role, or enrich a list of LinkedIn profile URLs. Returns name, job title, company, and email.

- **URL**: https://apify.com/jungle\_synthesizer/linkedin-bulk-email-finder.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Business
- **Stats:** 4 total users, 3 monthly users, 75.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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 Bulk Email Finder

Find business email addresses for LinkedIn contacts in bulk. Give it a company and a role, or a list of LinkedIn profile URLs, and it returns names, job titles, companies, and email addresses in clean JSON.

---

### LinkedIn Bulk Email Finder Features

- Works two ways — discover contacts by company and role, or enrich a list of LinkedIn URLs you already have.
- Returns a business email alongside name, job title, company, and company domain.
- Takes a company name or a domain. It figures out the rest.
- No LinkedIn login, no cookies, no browser extension. You give it inputs, it returns rows.
- Bulk by default. Point it at a company or drop in a few hundred profile URLs and walk away.
- Clean, consistent JSON — the same field names on every run, which is more than most contact tools bother with.

---

### Who Uses a LinkedIn Email Finder?

- **Sales & SDR teams** — build a targeted outreach list for a company's sales or engineering org without renting a per-seat data platform.
- **Recruiters** — turn a shortlist of LinkedIn profiles into contactable emails.
- **Founders & BD** — find the right people at a target account and reach them directly.
- **Agencies** — pull contacts for a client's ICP across many companies in one run, then hand back a clean sheet.
- **Market researchers** — map who works where, with contact details attached.

---

### How LinkedIn Bulk Email Finder Works

1. Pick a mode. Discover finds people at a company; enrich takes LinkedIn URLs you already have.
2. For discover, give a company name (or domain) and an optional role filter like "sales" or "software engineer." For enrich, paste LinkedIn profile URLs or slugs.
3. Run it. Each contact comes back with name, title, company, company domain, and a business email where one can be found.

---

### Input

```json
{
  "mode": "discover",
  "company": "Stripe",
  "roleQuery": "software engineer",
  "maxItems": 15
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| mode | string | discover | `discover` — find contacts by company + role. `enrich` — find emails for a list of LinkedIn URLs. |
| company | string | — | Company name (e.g. "Stripe") or domain (e.g. "stripe.com"). Used in discover mode. |
| roleQuery | string | — | Optional keyword to narrow results, e.g. "sales" or "software engineer". Discover mode. |
| linkedinUrls | array | — | LinkedIn profile URLs or slugs. Used in enrich mode. |
| maxItems | integer | 15 | Maximum contacts to return. |

#### Enrich mode example

```json
{
  "mode": "enrich",
  "linkedinUrls": [
    "https://www.linkedin.com/in/reidhoffman",
    "https://www.linkedin.com/in/williamhgates"
  ],
  "maxItems": 50
}
```

***

### LinkedIn Bulk Email Finder Output Fields

```json
{
  "linkedinUrl": "https://www.linkedin.com/in/mai-sha",
  "fullName": "Mai Sha",
  "firstName": "Mai",
  "lastName": "Sha",
  "email": "mai.sha@stripe.com",
  "jobTitle": "Software Engineer",
  "company": "Stripe",
  "companyDomain": "stripe.com",
  "mode": "discover",
  "status": "found"
}
```

| Field | Type | Description |
|-------|------|-------------|
| linkedinUrl | string | The contact's LinkedIn profile URL. |
| fullName | string | Full name. |
| firstName | string | First name. |
| lastName | string | Last name. |
| email | string | Business email address, or `null` if none was found. |
| jobTitle | string | Job title. |
| company | string | Company name. |
| companyDomain | string | The company's email domain. |
| mode | string | The mode used — `discover` or `enrich`. |
| status | string | `found` or `not_found`. |

***

### FAQ

#### How do I find emails for a list of LinkedIn profiles?

LinkedIn Bulk Email Finder does this in enrich mode. Paste your LinkedIn profile URLs or slugs into `linkedinUrls`, run it, and each one comes back with a name, company, and a business email where one is available.

#### How much does LinkedIn Bulk Email Finder cost?

LinkedIn Bulk Email Finder is pay-per-event, starting at $0.50 per 1,000 results plus a small per-run start fee. You pay for what you pull, not a monthly seat.

#### Do I need LinkedIn credentials or a browser extension?

No. LinkedIn Bulk Email Finder needs no login, no cookies, and no extension. You give it a company or a list of URLs; it returns rows.

#### Can I find everyone at a company?

Discover mode finds contacts at a company and narrows by role. Give it "Stripe" and "software engineer" and it returns engineers at Stripe with emails attached, up to your `maxItems`.

#### What happens when an email can't be found?

The row still comes back with the name, title, and company, and `status` set to `not_found`. You see who's there even when an address isn't available.

***

### Need More Features?

Need custom fields, a different filter, or a higher-volume plan? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use LinkedIn Bulk Email Finder?

- **Cheap** — from $0.50 per 1,000 results.
- **Two ways in** — discover people at a company, or enrich a list you already have. Most tools make you pick one and charge for the privilege.
- **Clean output** — structured JSON with the same field names every run, so it drops straight into a CRM or spreadsheet without a cleanup pass.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

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

discover — find contacts by company + role. enrich — find emails for a list of LinkedIn URLs/slugs.

## `company` (type: `string`):

Company name (e.g. 'Stripe') or email domain (e.g. 'stripe.com'). Used in discover mode.

## `roleQuery` (type: `string`):

Optional keyword to narrow SERP results (e.g. 'software engineer', 'sales'). Used in discover mode.

## `linkedinUrls` (type: `array`):

List of LinkedIn profile URLs or slugs for enrich mode.

## `maxItems` (type: `integer`):

Maximum number of contacts to process

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "discover",
  "company": "Stripe",
  "roleQuery": "software engineer",
  "linkedinUrls": [
    "https://www.linkedin.com/in/example-profile"
  ],
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "discover",
    "company": "Stripe",
    "roleQuery": "software engineer",
    "linkedinUrls": [
        "https://www.linkedin.com/in/example-profile"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/linkedin-bulk-email-finder").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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "discover",
    "company": "Stripe",
    "roleQuery": "software engineer",
    "linkedinUrls": ["https://www.linkedin.com/in/example-profile"],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/linkedin-bulk-email-finder").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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "discover",
  "company": "Stripe",
  "roleQuery": "software engineer",
  "linkedinUrls": [
    "https://www.linkedin.com/in/example-profile"
  ],
  "maxItems": 10
}' |
apify call jungle_synthesizer/linkedin-bulk-email-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/linkedin-bulk-email-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Bulk Email Finder",
        "description": "Find business email addresses for LinkedIn contacts in bulk. Discover contacts by company and role, or enrich a list of LinkedIn profile URLs. Returns name, job title, company, and email.",
        "version": "0.1",
        "x-build-id": "IxKql6RXOjiHSV9Ms"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~linkedin-bulk-email-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-linkedin-bulk-email-finder",
                "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/jungle_synthesizer~linkedin-bulk-email-finder/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-linkedin-bulk-email-finder",
                "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/jungle_synthesizer~linkedin-bulk-email-finder/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-linkedin-bulk-email-finder",
                "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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "discover",
                            "enrich"
                        ],
                        "type": "string",
                        "description": "discover — find contacts by company + role. enrich — find emails for a list of LinkedIn URLs/slugs.",
                        "default": "discover"
                    },
                    "company": {
                        "title": "Company Name or Domain",
                        "type": "string",
                        "description": "Company name (e.g. 'Stripe') or email domain (e.g. 'stripe.com'). Used in discover mode."
                    },
                    "roleQuery": {
                        "title": "Role / Keyword Filter",
                        "type": "string",
                        "description": "Optional keyword to narrow SERP results (e.g. 'software engineer', 'sales'). Used in discover mode."
                    },
                    "linkedinUrls": {
                        "title": "LinkedIn URLs or Slugs",
                        "type": "array",
                        "description": "List of LinkedIn profile URLs or slugs for enrich mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Contacts",
                        "type": "integer",
                        "description": "Maximum number of contacts to process",
                        "default": 15
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
