Linkedin Employees Scraper avatar

Linkedin Employees Scraper

Pricing

Pay per event

Go to Apify Store
Linkedin Employees Scraper

Linkedin Employees Scraper

Effortlessly gather LinkedIn URLs and names of employees in bulk. Ideal for HR and recruitment, this tool quickly provides essential contact information, simplifying talent search and networking opportunities.

Pricing

Pay per event

Rating

1.1

(22)

Developer

Caprolok

Caprolok

Maintained by Community

Actor stats

147

Bookmarked

3.9K

Total users

36

Monthly active users

15 hours ago

Last modified

Share

LinkedIn Employees Scraper

LinkedIn Employees Scraper

Apify Actor Try on Apify MCP-ready Pricing: Pay-Per-Event

Extract employees, past employees, and alumni from any LinkedIn company or school URL. Get clean, structured profiles — name, title, location, education, experience, profile link, and more — ready for CRMs, recruiting workflows, and AI agents.


What it does

Paste one or more LinkedIn company or school URLs. The actor returns a structured list of people associated with those pages. Optionally filter by job title or country.

No LinkedIn login, cookies, or browser setup required.

When to use it

  • Recruiters building targeted candidate lists
  • Sales teams finding decision-makers at target accounts
  • Researchers mapping organizations or alumni networks
  • AI agents that need a typed dataset of LinkedIn profiles

Highlights

  • Fast — large result sets in about a minute for typical runs
  • Multi-language — works across major languages for names, titles, education, location, and follower counts
  • Tenure labels — each person is tagged current, past, or unknown so you can split alumni from current staff in your own tools
  • Extra coverage — a secondary people directory back-fills missing titles/locations and surfaces people LinkedIn may have missed (employees mode only)
  • Clean output — schema-validated records for CRMs, spreadsheets, and agents

How to use it

  1. Open the actor on Apify.
  2. Paste one or more company or school URLs.
  3. (Optional) Choose a mode, job titles, and/or country.
  4. Click Start. Download results as JSON, CSV, or Excel from the Storage tab.

Supported URL formats

  • https://www.linkedin.com/company/microsoft/
  • https://www.linkedin.com/school/harvard-university/
  • ✅ Scheme-less or without www (e.g. linkedin.com/company/microsoft) — these are normalized automatically
  • ❌ Numeric company IDs (e.g. /company/154XXX/) — use the public slug URL instead

Inputs

FieldTypeRequiredDefaultDescription
companyUrlsstring[]yesLinkedIn company or school URLs.
maxResultsPerCompanyintegeryes20Maximum people returned per URL.
designationstring[]no[]Only include people whose title matches one of these roles. Leave empty for no title filter.
onlyVerifiedbooleannotrueOnly return people whose profile clearly matches the company/school (including brand variants). Turn off to include lower-confidence matches.
mode"auto" | "employees" | "alumni"no"auto"Usually leave on Auto. Auto uses employees for company URLs and alumni for school URLs. Every result still includes a tenure label so you can filter further yourself.
alumniDeepScaninteger (0–250)no25In alumni mode, spend extra effort finding more long-tail profiles. Higher = more coverage and cost. 0 turns this off.
countrystring (ISO-2)noPrefer people based in this country.

Sample input

{
"companyUrls": [
"https://www.linkedin.com/company/microsoft/",
"https://www.linkedin.com/school/harvard-university/"
],
"designation": ["CEO", "CTO", "Engineering Manager"],
"maxResultsPerCompany": 200,
"mode": "auto",
"country": "US"
}

Outputs

FieldTypeDescription
thumbnailstring (URL)Profile picture when available.
namestringFull name.
first_name / last_namestringFirst and last name.
companystringCompany associated with the profile.
designationstringJob title. - when unknown.
experience / education / locationstringProfile snippets. - when unknown.
followersstringFollower / connection count when available.
linkstring (URL)LinkedIn profile URL.
verifiedstring when the profile looks like a match for the company you requested; otherwise.
tenure"current" | "past" | "unknown"Whether they appear to be current staff, alumni/past, or unclear. Use this in your own filters if you need current-only or past-only lists.
sourcestringlinkedin, directory, or linkedin+directory — where the record came from.

Sample output

[
{
"thumbnail": "https://media.licdn.com/...jpg",
"name": "Amy Doe",
"first_name": "Amy",
"last_name": "Doe",
"company": "Microsoft",
"designation": "Chief Product Officer",
"education": "Stanford University",
"experience": "Microsoft, Google",
"location": "San Francisco, California",
"followers": "5,200",
"link": "https://www.linkedin.com/in/amy-doe-...",
"verified": "✅",
"tenure": "current",
"source": "linkedin"
}
]

Pricing & limits

Pay-per-event:

EventPriceWhen
data_request$0.02Per real person written to your dataset. Free-plan sample / upgrade-hint rows are not billed.
platform_usage$0.001Small top-up that tracks the run’s actual Apify platform cost.

You can cap spend per run with Apify’s actorMaxPaidDatasetItems setting.

  • Free Apify plan: a short sample of real results per company; further rows show an upgrade hint. Free users only use monthly free credit.
  • Paid plans: full results up to maxResultsPerCompany.

Programmatic usage

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('caprolok/linkedin-employees-scraper').call({
companyUrls: ['https://www.linkedin.com/company/microsoft'],
maxResultsPerCompany: 50,
mode: 'employees',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("caprolok/linkedin-employees-scraper").call(run_input={
"companyUrls": ["https://www.linkedin.com/school/harvard-university"],
"maxResultsPerCompany": 100,
"mode": "alumni",
"alumniDeepScan": 25,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items

cURL:

curl -X POST "https://api.apify.com/v2/acts/caprolok~linkedin-employees-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"companyUrls":["https://www.linkedin.com/company/microsoft"],"maxResultsPerCompany":20}'

MCP (Model Context Protocol)

Use this actor from AI agents via the Apify MCP server (stdio or https://mcp.apify.com with your Apify token). Input and output schemas are published with the actor so agents can call it with typed arguments.

Integrations

Works with Make, Zapier, Airbyte, Slack, Google Sheets, GitHub, cloud storage, webhooks, and anything that can call the Apify API.

Troubleshooting

SymptomWhat to try
Company not foundUse a public /company/<slug> or /school/<slug> URL (not a numeric ID).
Zero resultsRelax country / designation, or try again later.
Many verified rowsTurn on Only verified matches, or narrow with job titles.
Alumni results look thinRaise maxResultsPerCompany and/or alumniDeepScan.

Questions or bugs: use the actor Issues tab.

LinkedIn Company URL RetrieverBuild lists of company URLs.
LinkedIn People URL RetrieverResolve names to profile URLs.