Linkedin Company Employees Scraper Pro
Pricing
from $2.99 / 1,000 results
Linkedin Company Employees Scraper Pro
๐ฅ LinkedIn Company Employees Scraper Pro extracts employee names, titles, locations, profile URLs, departments & seniority from LinkedIn company pages. ๐ Ideal for recruiting, sales prospecting & HR analytics. ๐ฆ Export CSV/JSON. โก Fast, accurate, scalable.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
15
Monthly active users
5 days ago
Last modified
Categories
Share
Linkedin Company Employees Scraper Pro By School & Followers
A LinkedIn company employees scraper that discovers a company's public employee profiles, extracts identity, location, company and education data for each one, then keeps only the employees who match an alumni school filter and a minimum LinkedIn follower count you set. Built for recruiters, sales teams and B2B lead-generation workflows that need a warm-outreach angle (shared alma mater) and a visibility signal (follower count), not just a raw employee list.
What it does
Give it one or more LinkedIn company URLs/slugs, profile usernames, or plain keywords. For each company target the actor:
- Reads the company's own
/,/people/, and/about/pages for embedded employee profile links. - Runs a
site:linkedin.com/in/ "<company>"Google search to discover additional public employee profiles. - Scrapes every discovered public
/in/โฆprofile page โ no LinkedIn login or cookie required โ for name, headline, location, current company, education, and follower count. - If you set Alumni schools filter and/or Minimum follower count, drops any successfully-scraped profile that doesn't match before it's added to the dataset. Blocked/error profiles are never dropped by these filters โ they're still recorded as an error row so you always have full accounting of what was attempted.
Company-mode targets get both the company-page scrape and the Google search; a bare keyword or username target (no recognizable company URL) uses the Google search alone, exactly like the base scraper.
Why the alumni + follower filter
Buyers of a "LinkedIn company employees scraper" are usually building an outreach or lead list, and two signals repeatedly separate a cold list from a warm one:
- Shared education โ reaching out to someone who studied at the same school as you (or your client) is one of the highest-response-rate cold-outreach openers.
- LinkedIn follower count โ a real, page-sourced follower number (not a guess) tells you who's an active, visible voice at the company worth prioritizing first.
This actor surfaces both, computed for free from data the underlying profile-page fetch already downloads (see How the new data is extracted, below) โ no extra HTTP requests per profile, so it runs at the same speed and block-rate as a plain company-employees scrape.
Input
| Field | Type | Default | Description |
|---|---|---|---|
targets (required) | array of strings | ["https://www.linkedin.com/company/microsoft"] | LinkedIn company URLs/slugs, profile usernames, or keywords. Bulk input supported. |
sort_order | string enum | relevance | relevance / recent / connections โ kept for compatibility with the base scraper. |
max_comments | integer | 0 | Kept for compatibility; LinkedIn public pages do not expose comments. |
proxyConfiguration | proxy object | no proxy | Apify Proxy configuration. |
maxEmployees | integer | 20 | Max employee profiles scraped per company (1โ1000). |
alumniSchools | array of strings | [] | Only keep employees whose LinkedIn education lists at least one of these schools, e.g. ["Stanford University", "MIT"]. Case-insensitive, partial match ("Stanford" matches "Stanford University"). Empty = keep everyone. |
minFollowerCount | integer | 0 | Only keep employees with at least this many LinkedIn followers. 0 = keep everyone. |
Example input
{"targets": ["https://www.linkedin.com/company/microsoft"],"maxEmployees": 25,"alumniSchools": ["University of Washington"],"minFollowerCount": 500}
Output
Every successfully-scraped, filter-matching profile is pushed as one dataset row with these fields:
| Field | Type | Notes |
|---|---|---|
company_url | string | Resolved company URL, or "" for keyword targets |
profile_url | string | Final (redirect-resolved) profile URL |
fullname / first_name / last_name | string | |
headline | string | |
public_identifier | string | e.g. /in/johndoe |
profile_picture_url | string | |
location | object | { country, city, full, country_code } |
is_creator / is_influencer / is_premium | boolean | Not detected signals on the public page (always false) |
created_timestamp | integer | Unix time the row was scraped |
show_follower_count | boolean | Always true โ see follower_count for the real number |
current_company | string | |
companies_detected | array | Every /company/ link found on the page |
personal_website | string | First non-LinkedIn link found on the page |
recommendations_received | array | [{text, author, author_url}], when public |
other_contact_details | object | { course_links: [...] } |
contact_elements | object | Page-chrome/UI detection detail (not employee contact data) |
education | array | New. [{institution, institution_url, start_year, end_year}], [] when LinkedIn shows none for that profile |
follower_count | integer | New. Real LinkedIn follower count, 0 when the page doesn't expose the counter |
A blocked or failed profile is pushed instead as a 3-key error row: {"profile_url", "error", "created_timestamp"} โ never silently dropped, and never affected by the alumniSchools/minFollowerCount filters.
How the new data is extracted
Every public LinkedIn profile page ships one <script type="application/ld+json"> tag containing a schema.org Person node. The base scraper already downloads this tag on every profile fetch but never opens it. This variant reads two fields out of that same node, with zero additional HTTP requests:
alumniOfโeducation(school name, school URL, start/end year)interactionStatistic.userInteractionCountโfollower_count
Both are then used, after the fetch, to decide whether the row passes your alumniSchools/minFollowerCount filters โ filtering never triggers an extra request either.
Use cases
- Recruiting / warm outreach โ find candidates at a target company who share your (or your client's) alma mater.
- Sales prospecting โ prioritize outreach to LinkedIn-visible employees (higher follower count) at a target account first.
- Alumni network mapping โ see how many people from a specific school work at a given company.
- Talent-pool research โ combine company-employee discovery with an education filter without manually opening every profile.
Notes and limitations
- All requests hit public LinkedIn profile pages with no login/cookie โ same mechanism as the base scraper. LinkedIn's own HTTP 999 rate-limit block still applies and is retried per the base's existing logic.
sort_orderandmax_commentsare accepted for input compatibility but have no effect (LinkedIn's public pages don't support server-side sort or expose comments) โ same as the base actor.proxyConfigurationis a real input field; the underlying fetch logic always uses a residential proxy internally regardless of your selection (inherited base behavior).educationandfollower_countreflect only what LinkedIn's own public profile page discloses โ some profiles show neither.
Related keywords
LinkedIn company employees scraper, LinkedIn employee data extractor, LinkedIn alumni filter, LinkedIn follower count scraper, LinkedIn public profile scraper, LinkedIn school filter, LinkedIn education scraper, B2B lead generation, LinkedIn employee discovery, LinkedIn profile data export, LinkedIn scraper no login, company employee list scraper.