LinkedIn Company Employees Scraper avatar

LinkedIn Company Employees Scraper

Pricing

from $3.50 / 1,000 employee scrapeds

Go to Apify Store
LinkedIn Company Employees Scraper

LinkedIn Company Employees Scraper

Scrape employees of a LinkedIn company: name, headline, location, profile URL and photo. Public data with no cookies; full list with your own session.

Pricing

from $3.50 / 1,000 employee scrapeds

Rating

0.0

(0)

Developer

Bruno

Bruno

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Give it a LinkedIn company (URL or slug, e.g. https://www.linkedin.com/company/microsoft/ or just microsoft) and get back its employees — name, headline/title, location, profileUrl, photoUrl — plus a company summary (name, industry, size, headquarters, website, followers and the total employee count on LinkedIn). Perfect for B2B lead-gen, recruiting/sourcing and market mapping.

It reads LinkedIn's public company page (the logged-out page Google indexes) with browser-grade HTTP requests (got-scraping: real TLS fingerprint + generated headers) routed through Apify Proxy — residential IPs first with a fresh session per retry, escalating to the Apify Proxy Unblocker group when LinkedIn bot-blocks. No headless browser needed.

Input

{
"companyUrls": ["https://www.linkedin.com/company/microsoft/", "stripe"],
"maxItems": 100,
"enrichProfiles": false,
"publicPageFetches": 4,
"useUnblocker": true,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
  • companyUrls — one or more company URLs or slugs. Required.
  • maxItems — max employees returned per company (the company summary is always returned too).
  • li_at — optional LinkedIn session cookie (yours, never anyone else's). Leave empty for public-only scraping. Supplying it returns the full employee list (see below). Sent only as a request cookie; never logged or stored.
  • enrichProfiles — for each public employee, also open their public profile to fill in headline/location/photo (slower, more requests). Useful in public mode where face-pile cards often lack a headline.
  • publicPageFetches — how many times to re-fetch the company page with fresh proxy sessions to accumulate more publicly-named employees (LinkedIn rotates the guest face-pile). Ignored when li_at is set.
  • useUnblocker — retry via the Apify Unblocker group when bot-blocked (default on).
  • graphqlQueryId — advanced; override LinkedIn's people-search queryId if the authenticated list stops working (only used with li_at).
  • proxyConfiguration — Apify Proxy config; residential strongly recommended.
  • timeoutSecs — per-request timeout (default 45).

Output

One company record per company, then one employee record per person:

{ "type": "company", "companyName": "Microsoft", "companyId": "1035",
"industry": "Software Development", "companySize": "10,001+ employees",
"headquarters": "Redmond, WA", "website": "https://news.microsoft.com/...",
"totalEmployeesOnLinkedIn": "231,754", "employeesReturned": 4,
"employeesAnonymizedPublicly": 2, "authenticated": false, "dataSource": "public-company-page" }
{ "type": "employee", "companyName": "Microsoft",
"name": "Reid Hoffman", "headline": "Co-Founder, LinkedIn, Manas AI & Inflection AI",
"location": null, "profileUrl": "https://www.linkedin.com/in/reidhoffman",
"photoUrl": "https://media.licdn.com/dms/image/...", "dataSource": "public-company-page" }

Public vs. authenticated — read this before you run it

LinkedIn does not let logged-out visitors browse a company's employee list. The /company/<x>/people/ tab redirects straight to a login wall. The public company page shows a small "Employees at X" face-pile, but LinkedIn anonymizes most of it to "LinkedIn Member" (no name, no profile link) for guests. Only employees with a fully public profile (executives, LinkedIn "influencers", public creators) come through named — typically just a handful per company (e.g. Microsoft returns ~4 named public employees), regardless of how many publicPageFetches you run. That is the exact public ceiling — not a bug in this actor, but how LinkedIn gates the data.

To get the full employee list (hundreds/thousands, with headline + location for each), supply your own li_at session cookie. The actor then resolves the company id and pulls employees through LinkedIn's internal people-search API, paginating up to maxItems.

How to get your li_at: log into LinkedIn in your browser → DevTools → Application → Cookies → www.linkedin.com → copy the li_at value. Use only your own cookie. This internal API is undocumented and LinkedIn changes it periodically; if the authenticated list ever returns nothing, paste a fresh voyagerSearchDashClusters queryId into graphqlQueryId.

Honest limitations

  • Public mode returns only publicly-named employees (a handful). Everyone else is anonymized by LinkedIn to "LinkedIn Member" and cannot be returned without login. employeesAnonymizedPublicly reports how many guests are shown as hidden.
  • location is usually empty in public mode (face-pile cards omit it). Turn on enrichProfiles to backfill it from each public profile, or use li_at.
  • The authenticated path uses your own session and LinkedIn's private API, which LinkedIn may change; it is provided as best-effort and requires a valid li_at.
  • LinkedIn is one of the most aggressively defended sites on the web. Use residential proxies + Unblocker.
  • Use responsibly and in line with LinkedIn's terms and applicable law. Only scrape data you are permitted to access, and only with a cookie you own.