LinkedIn Company Employees Scraper & Employee Finder avatar

LinkedIn Company Employees Scraper & Employee Finder

Pricing

$2.00 / 1,000 employee results

Go to Apify Store
LinkedIn Company Employees Scraper & Employee Finder

LinkedIn Company Employees Scraper & Employee Finder

LinkedIn company employees scraper and employee finder. Find founders, HR, sales, marketing, recruiting, and technical decision-makers by company URL. No LinkedIn login in public-index mode. Pay $2/1,000 quality-approved results with exact profile URLs and company evidence.

Pricing

$2.00 / 1,000 employee results

Rating

5.0

(1)

Developer

Cracks API

Cracks API

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

8

Monthly active users

5 days ago

Last modified

Share

LinkedIn Company Employees Scraper

Find employees by company and build targeted B2B lead lists from LinkedIn company URLs. Discover founders, HR leaders, sales and marketing heads, recruiters, engineers, and other company decision-makers.

Use public-index mode with no LinkedIn login or cookies, or authenticated mode for deeper company people searches with your own session. Pay only $2 per 1,000 quality-approved employee results. Skipped, duplicate, and insufficient candidates are not charged.

Every approved result includes a real name, job title, company evidence, an exact LinkedIn profile URL, and a quality score. Export to JSON, CSV, Excel, Google Sheets, a CRM, n8n, Make, Python, JavaScript, or any API workflow.

Unofficial. This is an independent Actor and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. “LinkedIn” is a trademark of LinkedIn Corporation.

What you can do

  • Find employees from one or many LinkedIn company URLs
  • Find founders, HR, sales, marketing, recruiting, product, and technical leaders
  • Identify company decision-makers by exact title or broader keyword
  • Build LinkedIn lead-generation and account-mapping lists
  • Search without a LinkedIn login in public-index mode
  • Run deeper searches using your own LinkedIn session in authenticated mode
  • Exclude interns, former employees, or unrelated roles
  • Deduplicate people across companies, roles, and result pages
  • Export structured employee data instead of raw HTML
  • Pay only for employee records that pass the quality gate
  • Receive an uncharged diagnostic when no usable result is available

Access modes

Use publicIndex to find publicly indexed LinkedIn profiles without providing cookies or signing in to LinkedIn. The Actor resolves the official company name from the supplied company page, then searches public web indexes for exact /in/ profile URLs with matching company and role evidence.

This mode is ideal for quick company research, prospect lists, and profile URL discovery. Coverage depends on what public search engines have indexed, so it is not a complete company roster or full-profile enrichment service.

Use authenticated for deeper LinkedIn company people search with your own li_at and JSESSIONID cookies. Cookie inputs are marked as secrets and are never written to the dataset.

LinkedIn may change its internal endpoints, restrict automated access, or require re-authentication. Use conservative page limits and only an account you are authorized to use.

Quick start

The fastest no-login test uses one company and one role:

{
"accessMode": "publicIndex",
"companyUrls": [
"https://www.linkedin.com/company/microsoft/"
],
"roles": [
"Software Engineer"
],
"searchMode": "title",
"strictCompanyMatch": true,
"maxPagesPerRole": 1,
"maxResultsPerCompany": 10
}

To find all discoverable employees, leave roles empty:

{
"accessMode": "publicIndex",
"companyUrls": [
"https://www.linkedin.com/company/apifytech/"
],
"roles": [],
"strictCompanyMatch": true,
"maxPagesPerRole": 1,
"maxResultsPerCompany": 25
}

Data extracted

Each approved employee record can include:

  • fullName, firstName, and lastName
  • headline and normalized jobTitle
  • Indexed summary when available
  • Evidence-backed currentPositions
  • location when discoverable
  • Exact profileUrl and publicIdentifier
  • Profile URN, image URL, and connection degree when exposed
  • Target companyName, companyUrl, and company ID
  • matchedRole and searchMode
  • source, sourcePage, and sourceEvidence
  • qualityScore, status, and ISO scrape timestamp

A result is billable only when it has an exact profile URL, a real multi-part name, a meaningful headline and job title, confirmed company evidence, confirmed requested-role evidence when a role is supplied, and a quality score of at least 90. Thin candidates are skipped instead of being sold as employee records.

Missing fields are returned as null. The Actor does not invent unavailable data.

Find company decision-makers

Search for Founder, CEO, Head of Sales, VP Marketing, HR Head, Recruiter, or any other buyer persona at target accounts.

LinkedIn lead generation

Create a focused list of company employees and send their profile URLs to an enrichment, outreach, CRM, or research workflow.

Recruiting and candidate sourcing

Find engineers, product managers, designers, finance professionals, HR specialists, and other roles within selected companies.

Account mapping

Map visible stakeholders across customers, prospects, partners, and competitors. Search several role families in one run and receive a deduplicated list.

Market and competitor research

Compare visible team composition, study hiring patterns, find regional staff, or build a company employee roster for analysis.

Input reference

FieldDescription
dryRunPreview the search plan without charging for employee results
accessModepublicIndex for no-login discovery or authenticated for LinkedIn search
companyUrlsOne or more LinkedIn company page URLs
rolesTitles, departments, functions, or keywords; leave empty for all discoverable employees
excludeKeywordsSkip results containing unwanted terms
liAtSecret LinkedIn li_at cookie for authenticated mode
jsessionIdSecret LinkedIn JSESSIONID cookie for authenticated mode
searchModetitle for precise title matching or keyword for broader discovery
geoUrnOptional LinkedIn location Geo URN
maxPagesPerRoleMaximum pages for each company and role combination
maxResultsPerCompanyMaximum unique employees saved per company; 0 removes this added limit
delayMsDelay between requests in milliseconds
includeProfileImagesInclude profile images when available
strictCompanyMatchRequire target-company evidence in public-index results
proxyConfigurationOptional Apify proxy configuration

Ready-made integrations

Actor ID used in every example:

generous_fog/linkedin-company-employees-scraper

Keep your Apify API token in an environment variable or credential manager. Never publish it in source code.

cURL

This synchronous endpoint runs the Actor and returns dataset items directly. It is best for smaller jobs that finish within the API wait window.

curl -X POST \
"https://api.apify.com/v2/acts/generous_fog~linkedin-company-employees-scraper/run-sync-get-dataset-items?clean=true&format=json" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accessMode": "publicIndex",
"companyUrls": ["https://www.linkedin.com/company/microsoft/"],
"roles": ["Head of Sales", "HR Director"],
"searchMode": "title",
"strictCompanyMatch": true,
"maxPagesPerRole": 1,
"maxResultsPerCompany": 20
}'

Apify API

Start a run asynchronously when you need to process larger jobs:

POST https://api.apify.com/v2/acts/generous_fog~linkedin-company-employees-scraper/runs
Authorization: Bearer YOUR_APIFY_TOKEN
Content-Type: application/json

Request body:

{
"accessMode": "publicIndex",
"companyUrls": [
"https://www.linkedin.com/company/microsoft/"
],
"roles": [
"Founder",
"Head of Marketing"
],
"searchMode": "title",
"strictCompanyMatch": true,
"maxPagesPerRole": 2,
"maxResultsPerCompany": 50
}

The response contains defaultDatasetId. Read the results with:

GET https://api.apify.com/v2/datasets/DEFAULT_DATASET_ID/items?clean=true&format=json
Authorization: Bearer YOUR_APIFY_TOKEN

JavaScript or TypeScript

Install the official client:

$npm install apify-client

Run the Actor and fetch its results:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
accessMode: 'publicIndex',
companyUrls: ['https://www.linkedin.com/company/microsoft/'],
roles: ['Founder', 'Head of Sales'],
searchMode: 'title',
strictCompanyMatch: true,
maxPagesPerRole: 1,
maxResultsPerCompany: 25,
};
const run = await client
.actor('generous_fog/linkedin-company-employees-scraper')
.call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

Install the official client:

$pip install apify-client

Run the Actor and iterate through its results:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
"accessMode": "publicIndex",
"companyUrls": ["https://www.linkedin.com/company/microsoft/"],
"roles": ["Recruiter", "Engineering Manager"],
"searchMode": "title",
"strictCompanyMatch": True,
"maxPagesPerRole": 1,
"maxResultsPerCompany": 25,
}
run = client.actor(
"generous_fog/linkedin-company-employees-scraper"
).call(run_input=run_input)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(items)

n8n HTTP Request

Create an HTTP Request node with these settings:

  1. Method: POST
  2. URL:
https://api.apify.com/v2/acts/generous_fog~linkedin-company-employees-scraper/run-sync-get-dataset-items?clean=true&format=json
  1. Authentication: Generic credential or Header Auth
  2. Header name: Authorization
  3. Header value: Bearer YOUR_APIFY_TOKEN
  4. Enable Send Body, select JSON, and paste:
{
"accessMode": "publicIndex",
"companyUrls": [
"https://www.linkedin.com/company/microsoft/"
],
"roles": [
"Head of Sales",
"Marketing Director"
],
"searchMode": "title",
"strictCompanyMatch": true,
"maxPagesPerRole": 1,
"maxResultsPerCompany": 25
}

The node output is the employee array. Connect it to Google Sheets, Airtable, HubSpot, a database, or your outreach workflow.

You can also use the official Apify n8n node: Run Actor, followed by Get Dataset Items using the returned defaultDatasetId.

Make.com

Add HTTP > Make a request and configure:

  1. URL:
https://api.apify.com/v2/acts/generous_fog~linkedin-company-employees-scraper/run-sync-get-dataset-items?clean=true&format=json
  1. Method: POST
  2. Header: Authorization: Bearer YOUR_APIFY_TOKEN
  3. Body type: Raw
  4. Content type: application/json
  5. Use the same JSON body from the n8n example.
  6. Turn on response parsing, then map each employee to your next Make module.

For jobs that may exceed the synchronous wait window, start the Actor with the asynchronous API endpoint and retrieve defaultDatasetId after the run succeeds.

MCP and AI agents

Connect an MCP-compatible AI client to Apify using OAuth:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com/?tools=fetch-actor-details,generous_fog/linkedin-company-employees-scraper"
}
}
}

Then give your agent a prompt such as:

Run generous_fog/linkedin-company-employees-scraper in publicIndex mode.
Find Founder and Head of Sales employees at
https://www.linkedin.com/company/microsoft/.
Use title matching, strict company matching, one page per role,
and return at most 20 approved employees.

If your MCP client uses general Actor discovery tools, connect it to https://mcp.apify.com, ask it to fetch the Actor details first, call the Actor, and then read the returned dataset items.

Authenticated-mode example

{
"accessMode": "authenticated",
"companyUrls": [
"https://www.linkedin.com/company/microsoft/"
],
"roles": [
"Founder",
"Head of Sales",
"Recruiter"
],
"excludeKeywords": [
"Former",
"Ex-"
],
"searchMode": "title",
"geoUrn": "102713980",
"maxPagesPerRole": 5,
"maxResultsPerCompany": 100,
"delayMs": 4000,
"liAt": "YOUR_SECRET_LI_AT_COOKIE",
"jsessionId": "YOUR_SECRET_JSESSIONID_COOKIE"
}

Verified output example

A live public-index run for EMIAC Technologies returned 3 quality-approved employee records in 4 seconds. This is one of the actual records returned:

{
"recordType": "employee",
"fullName": "Shivam Bhateja",
"firstName": "Shivam",
"lastName": "Bhateja",
"headline": "Entrepreneur | Co-Founder & CGO at EMIAC ...",
"jobTitle": "Entrepreneur | Co-Founder & CGO",
"currentPositions": [
{
"title": "Entrepreneur | Co-Founder & CGO",
"companyName": "EMIAC Technologies",
"evidence": "public-index-title"
}
],
"profileUrl": "https://www.linkedin.com/in/shivam-bhateja",
"publicIdentifier": "shivam-bhateja",
"companyName": "EMIAC Technologies",
"companyUrl": "https://www.linkedin.com/company/emiactech/",
"searchMode": "all-employees",
"source": "public-web-index",
"sourcePage": 1,
"sourceEvidence": {
"companyMatched": true,
"roleMatched": true
},
"status": "success",
"qualityScore": 98,
"qualityReasons": []
}

The Actor returns only public evidence. Missing fields stay null; unavailable values are not invented.

Pricing

The Actor charges $0.002 per quality-approved employee result, equal to $2 per 1,000 approved results. Dry runs, skipped thin candidates, and insufficient_data diagnostics are not charged. Apify platform usage may be billed separately according to your plan.

Tips for better results

  1. Start with one company, one role, and one page.
  2. Use exact titles such as Head of Sales instead of broad words such as business.
  3. Use keyword mode when role titles vary between companies.
  4. Keep strict company matching enabled in public-index mode.
  5. Use authenticated mode when public-index coverage is too limited.
  6. Increase delayMs and use a stable proxy for larger authenticated jobs.
  7. Use maxResultsPerCompany as a volume and spend safety limit.

Limitations and responsible use

  • Public-index mode only returns profiles discoverable through public search. It is not a complete employee database.
  • Authenticated results depend on the permissions and visibility of the supplied LinkedIn account.
  • Search indexes can contain stale employment information. Validate important records before using them.
  • LinkedIn may rate-limit requests, change internal APIs, or require re-authentication.
  • Do not use the Actor for spam, harassment, discrimination, surveillance, or unlawful profiling.
  • Follow LinkedIn's terms and applicable privacy, employment, data-protection, and marketing laws, including GDPR and CCPA where relevant.

FAQ

Does this LinkedIn company employees scraper require a login?

No. Public-index mode requires no LinkedIn login or cookies. Authenticated mode is optional and uses your own session cookies for deeper searches.

Can I find employees by company URL?

Yes. Add one or more LinkedIn company URLs. The Actor resolves the company name and returns matching employee profiles with company evidence.

Can this LinkedIn employee finder locate decision-makers?

Yes. Use roles such as Founder, CEO, HR Head, Head of Sales, Marketing Director, Engineering Manager, or Recruiter.

Can I use the output for LinkedIn lead generation?

Yes, provided your use complies with applicable laws and platform terms. The structured profile URLs and job-title evidence can feed research, enrichment, CRM, and outreach workflows.

Can it search multiple companies and roles?

Yes. Results are deduplicated across companies, roles, and pages.

How do I export the employee list?

Open the default dataset and export JSON, CSV, Excel, XML, or connect it to another application through the Apify API, n8n, Make, Python, JavaScript, or MCP.

Are secret cookies included in the output?

No. Cookie fields are secret inputs and are never written to the dataset.

Build a LinkedIn lead workflow with Cracks API

  1. LinkedIn Company Search Scraper - discover target companies by keyword, location, industry, and size.
  2. Company Employees Scraper - find decision-makers and employees at those companies.
  3. LinkedIn Profile Scraper & Public Email Finder - enrich selected people with public profile and email evidence.

Related Actors: