Linkedin Employees Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
147
Bookmarked
3.9K
Total users
36
Monthly active users
15 hours ago
Last modified
Categories
Share

LinkedIn Employees Scraper
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, orunknownso 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
- Open the actor on Apify.
- Paste one or more company or school URLs.
- (Optional) Choose a mode, job titles, and/or country.
- 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
companyUrls | string[] | yes | — | LinkedIn company or school URLs. |
maxResultsPerCompany | integer | yes | 20 | Maximum people returned per URL. |
designation | string[] | no | [] | Only include people whose title matches one of these roles. Leave empty for no title filter. |
onlyVerified | boolean | no | true | Only 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. |
alumniDeepScan | integer (0–250) | no | 25 | In alumni mode, spend extra effort finding more long-tail profiles. Higher = more coverage and cost. 0 turns this off. |
country | string (ISO-2) | no | — | Prefer 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
| Field | Type | Description |
|---|---|---|
thumbnail | string (URL) | Profile picture when available. |
name | string | Full name. |
first_name / last_name | string | First and last name. |
company | string | Company associated with the profile. |
designation | string | Job title. - when unknown. |
experience / education / location | string | Profile snippets. - when unknown. |
followers | string | Follower / connection count when available. |
link | string (URL) | LinkedIn profile URL. |
verified | string | ✅ 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. |
source | string | linkedin, 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:
| Event | Price | When |
|---|---|---|
data_request | $0.02 | Per real person written to your dataset. Free-plan sample / upgrade-hint rows are not billed. |
platform_usage | $0.001 | Small 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 ApifyClientclient = 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
| Symptom | What to try |
|---|---|
| Company not found | Use a public /company/<slug> or /school/<slug> URL (not a numeric ID). |
| Zero results | Relax country / designation, or try again later. |
Many ❌ verified rows | Turn on Only verified matches, or narrow with job titles. |
| Alumni results look thin | Raise maxResultsPerCompany and/or alumniDeepScan. |
Questions or bugs: use the actor Issues tab.
Related actors
| LinkedIn Company URL Retriever | Build lists of company URLs. |
| LinkedIn People URL Retriever | Resolve names to profile URLs. |