Linkedin Company Employees Scraper
Pricing
$19.99/month + usage
Linkedin Company Employees Scraper
LinkedIn Company Employees Scraper extracts employee profiles from LinkedIn company pages. It gathers names, job titles, profile URLs, locations, and role details. Useful for recruitment research, B2B prospecting, lead generation, and analyzing company workforce structures.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeLabs
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Linkedin Company Employees Scraper
Linkedin Company Employees Scraper is an Apify actor that discovers and extracts public employee profiles from LinkedIn company pages at scale. It solves the challenge of finding and consolidating employee data by automatically collecting profile URLs and enriching them with structured details like names, headlines, locations (with geocoded country codes), and company associations — ideal for marketers, developers, data analysts, and researchers. Use it as a company employees scraper for B2B enrichment, recruitment research, lead generation, and workforce analysis at scale. 🚀
What data / output can you get?
This actor pushes structured JSON records to the Apify dataset for each discovered employee profile.
| Data field | Description | Example value |
|---|---|---|
| company_url | The LinkedIn company URL associated with the profile (filled from detected or input target) | https://www.linkedin.com/company/microsoft |
| profile_url | Canonical LinkedIn profile URL | https://www.linkedin.com/in/janedoe |
| fullname | Full name parsed from the profile page | Jane Doe |
| first_name | First name | Jane |
| last_name | Last name | Doe |
| headline | Profile headline (e.g., current role) | Senior Software Engineer at Microsoft |
| public_identifier | Identifier parsed from profile URL (pattern includes “/in/…”) | /in/janedoe |
| profile_picture_url | Open Graph or detected profile image URL (if available) | https://media.licdn.com/dms/image/... |
| location.country | Country parsed/geocoded from the profile | United States |
| location.city | City parsed/geocoded from the profile | Seattle |
| location.full | Full location string | Seattle, Washington, United States |
| location.country_code | ISO-like country code (best-effort) | US |
| current_company | Detected current company name from profile links | Microsoft |
| companies_detected | List of detected companies with name, slug, and URL | [{"name":"Microsoft","slug":"microsoft","url":"https://www.linkedin.com/company/microsoft/"}] |
| personal_website | First non-LinkedIn outbound link found on the profile (if any) | https://janedoe.dev |
| recommendations_received | List of recommendation snippets with author details | [{"text":"Great collaborator…","author":"John Smith","author_url":"https://www.linkedin.com/in/johnsmith"}] |
| other_contact_details | Extra references (e.g., LinkedIn Learning course links) | {"course_links":["https://www.linkedin.com/learning/..."]} |
| contact_elements | Structured page signals (identity, auth points, learning, platform, language) | {...} |
| is_creator | Flag (static false) | false |
| is_influencer | Flag (static false) | false |
| is_premium | Flag (static false) | false |
| show_follower_count | Flag (static true) | true |
| created_timestamp | UNIX timestamp of extraction | 1712486400 |
| error | Error message for blocked/failed profiles (only when errors occur) | HTTP 999 |
Bonus: The actor also includes rich nested metadata in contact_elements (e.g., platform policy links, learning content details and titles) when available on the page. You can download the dataset from Apify in common formats like JSON or CSV.
Key features
-
🧭 Dual discovery of employees Combines company-page crawling (/people, /about) with Google search (site:linkedin.com/in) to maximize employee URL discovery per target.
-
🛡️ Automatic residential proxy The actor auto-configures and uses Apify RESIDENTIAL proxy for all requests, regardless of user input selection, improving resilience against blocking.
-
📦 Bulk inputs with flexible targets Accepts an array of company URLs, slugs, profile usernames, or keywords via targets, making large-scale runs straightforward.
-
🎯 Per-company limits Control scope with maxEmployees (1–1000) to cap profiles scraped per company.
-
🧾 Structured profile data Extracts names, headlines, locations with geocoded country codes, detected current company, personal website, recommendation snippets, and LinkedIn Learning references.
-
⚡ Lightweight, no-login scraping Uses fast HTTP requests (no browser, no cookies), built with httpx and BeautifulSoup/lxml for efficient HTML parsing.
-
🔁 Robust retry & block handling Detects LinkedIn blocks (e.g., HTTP 999), applies backoff retries for recoverable cases, and records an error field when a profile can’t be extracted.
-
📊 Dataset-ready outputs Pushes consistent JSON objects to the Apify dataset, ready to export or pipe into your tools and workflows.
How to use Linkedin Company Employees Scraper - step by step
-
Sign in to Apify
Create an Apify account or sign in to access the actor. -
Open the actor and add input
Paste your targets into the targets array. You can use:
- LinkedIn company URLs (e.g., https://www.linkedin.com/company/microsoft)
- Company slugs (e.g., microsoft)
- Profile usernames or keywords (e.g., jane-doe, “software engineer”)
-
Set limits
Adjust maxEmployees to define how many profiles to scrape per company (range: 1–1000). -
(Optional) Review proxy settings
There’s a proxyConfiguration input. Note: the actor will automatically use a RESIDENTIAL proxy for all requests, regardless of your selection. -
Start the run
Click Start. The actor will discover profile URLs from company pages and Google, then scrape each profile’s public data. -
Monitor progress
View logs to see discovery counts, retry attempts, and any block detections. -
Export your data
Open the run’s Dataset to download results in your preferred format (e.g., JSON, CSV) or access them via the Apify API.
Pro tip: Schedule runs and pull results programmatically from the dataset API to feed CRMs, analytics dashboards, or enrichment pipelines.
Use cases
| Use case | Description |
|---|---|
| Lead generation lists | Build targeted lists by extracting public profiles tied to specific companies for B2B outreach. |
| Recruitment research | Identify potential candidates and map team structures using current_company and location metadata. |
| Sales intelligence | Discover decision-makers and roles via headline and company-detected fields for account-based motions. |
| Market & HR analytics | Analyze workforce location distribution and company associations across discovered employees. |
| Competitor benchmarking | Compare detected companies and roles to understand organizational makeup and trends. |
| Data enrichment pipeline | Automate profile discovery and append structured public data into internal systems via dataset exports. |
| Academic & social research | Collect public professional data at scale for studies on labor markets and organizational networks. |
Why choose Linkedin Company Employees Scraper?
Precision-focused, automation-ready, and resilient against blocking, this actor delivers consistent, structured employee data without login or browser overhead.
- 🎯 Accurate public data extraction: Extracts names, headlines, locations, and company associations directly from public profile HTML.
- 🌍 Geocoded locations: Best-effort city/country parsing with country_code enrichment.
- 📈 Scales across many targets: Bulk input with per-company limits for predictable workloads.
- 🧩 Developer-friendly outputs: Clean JSON objects and nested structures suitable for pipelines and analysis.
- 🛡️ Safe and resilient: No login required; automatically uses RESIDENTIAL proxy and handles blocks with retries and error signaling.
- 💸 Cost-efficient automation: Lightweight HTTP client and structured dataset outputs reduce overhead versus browser-based alternatives.
In short: a production-ready employee discovery and extraction tool vs. brittle extensions or manual copy-paste.
Is it legal / ethical to use Linkedin Company Employees Scraper?
Yes — when done responsibly. This actor accesses publicly available pages (LinkedIn public company and profile pages, plus Google search results) and does not log in or access private data.
Guidelines for responsible use:
- Collect only publicly visible information.
- Comply with applicable laws and data protection regulations (e.g., GDPR/CCPA).
- Respect LinkedIn’s terms and use the data for legitimate purposes (research, analytics, outreach), not spam.
- Consult your legal team for edge cases or regulated workflows.
Input parameters & output format
Example JSON input
{"targets": ["https://www.linkedin.com/company/microsoft","acme-corp","software engineer"],"maxEmployees": 25,"proxyConfiguration": {"useApifyProxy": false}}
Parameters
- targets (array of strings, required): Bulk input — LinkedIn company URLs or slugs, profile usernames, or keywords. Can be URLs (e.g., "https://www.linkedin.com/company/microsoft") or plain text (e.g., "microsoft", "google", "software engineer"). Default: none.
- maxEmployees (integer, optional): Maximum number of employee profiles to scrape per company. Range: 1–1000. Default: 10.
- proxyConfiguration (object, optional): Default: No proxy (prefill { "useApifyProxy": false }). Note: The actor auto-configures a RESIDENTIAL proxy for all requests regardless of this setting.
Example JSON output
{"company_url": "https://www.linkedin.com/company/microsoft","profile_url": "https://www.linkedin.com/in/janedoe","fullname": "Jane Doe","first_name": "Jane","last_name": "Doe","headline": "Senior Software Engineer at Microsoft","public_identifier": "/in/janedoe","profile_picture_url": "https://media.licdn.com/dms/image/...","location": {"country": "United States","city": "Seattle","full": "Seattle, Washington, United States","country_code": "US"},"is_creator": false,"is_influencer": false,"is_premium": false,"created_timestamp": 1712486400,"show_follower_count": true,"current_company": "Microsoft","companies_detected": [{"name": "Microsoft","slug": "microsoft","url": "https://www.linkedin.com/company/microsoft/"}],"personal_website": "https://janedoe.dev","recommendations_received": [{"text": "Jane is a fantastic collaborator and mentor.","author": "John Smith","author_url": "https://www.linkedin.com/in/johnsmith"}],"other_contact_details": {"course_links": ["https://www.linkedin.com/learning/some-course"]},"contact_elements": {"profile_identity": {"profile_identifier": "https://www.linkedin.com/in/janedoe","profile_picture": "https://media.licdn.com/dms/image/...","profile_name_display": "Jane Doe"},"auth_points": {"email_phone_input_present": false,"password_input_present": false,"login_form_action": ""},"learning_content": {"course_details": [{"title": "Advanced Python Tips","duration": "1h 10m","url": "https://www.linkedin.com/learning/advanced-python","image": "https://media.licdn.com/dms/image/..."}],"course_titles": ["Advanced Python Tips"],"all_courses_link": "https://www.linkedin.com/learning/"},"platform": {"corporate_logo_url": "","copyright": "","policy_links": [],"about_links": [],"privacy_links": [],"user_agreement_links": []},"language": {"selector_present": false,"locales": []}}}
Notes:
- When a profile cannot be extracted (e.g., blocked), the record may include an error field such as "HTTP 999" or "Login required or blocked" alongside profile_url and created_timestamp.
FAQ
Do I need to log in to use this scraper?
No. The actor uses HTTP requests to public pages and does not require LinkedIn login or cookies. It avoids authenticated data and operates on publicly accessible content.
What inputs does the actor accept?
Provide an array of targets. Each target can be a LinkedIn company URL, a company slug, a profile username, or a keyword. The actor will discover employee profiles from company pages and via Google search for relevant public profiles.
How many employees can it scrape per company?
This is controlled by maxEmployees (range 1–1000). The actor will stop after reaching this limit for each target, combining URLs found on company pages and via Google.
What data fields are included in the output?
Core fields include profile_url, fullname, first_name, last_name, headline, public_identifier, profile_picture_url, location (country, city, full, country_code), current_company, companies_detected, personal_website, recommendations_received, other_contact_details, contact_elements, plus flags (is_creator, is_influencer, is_premium), show_follower_count, and created_timestamp. See the Output section for a full example.
Does it extract emails or phone numbers?
No. The actor collects public profile data and metadata available on the page. It does not extract emails or phone numbers.
How does the scraper find employee profiles?
It crawls the target company’s public pages (base, /people/, /about/) and performs Google searches with a site:linkedin.com/in query for names associated with the company. Discovered profile URLs are then scraped for structured details.
What happens if LinkedIn blocks a request?
The actor detects blocking scenarios such as HTTP 999 or authwall pages. It retries recoverable cases with backoff and returns an error field for profiles that remain inaccessible after retries.
Does it use proxies?
Yes. The actor auto-configures and uses a RESIDENTIAL proxy for all requests. This behavior is enforced regardless of the proxyConfiguration input selection.
How do I export the results?
All results are pushed to the run’s Apify dataset. You can download the dataset in formats like JSON or CSV, or access it programmatically via the Apify API.
Closing thoughts
Linkedin Company Employees Scraper is built to discover and extract structured public employee data from LinkedIn company pages at scale. With dual discovery (company pages + Google), automatic residential proxies, and clean JSON outputs, it’s ideal for marketers, recruiters, analysts, and developers who need reliable, automation-ready datasets. Connect it to your workflows via Apify datasets and API, schedule regular runs, and start extracting smarter today. 🌟