LinkedIn Company Employees Scraper & Email Finder - No Login avatar

LinkedIn Company Employees Scraper & Email Finder - No Login

Pricing

Pay per event

Go to Apify Store
LinkedIn Company Employees Scraper & Email Finder - No Login

LinkedIn Company Employees Scraper & Email Finder - No Login

Scrape LinkedIn company employees with emails, job titles, and profiles. No login or cookies required. Export to CSV, JSON, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

2

Bookmarked

110

Total users

59

Monthly active users

2 days ago

Last modified

Share

LinkedIn Company Employees Scraper API

The fastest way to get structured employee data from any company on LinkedIn — no login, no cookies, no ban risk.


How It Works

graph LR
A[Company URL or Name] --> B[Google SERP Discovery]
B --> C[Profile Extraction]
C --> D[Data Normalization]
D --> E[Structured JSON Output]
E --> F[Your CRM / Pipeline]
style A fill:#e1f5fe
style E fill:#c8e6c9
style F fill:#fff9c4

You provide a company LinkedIn URL. The scraper discovers employees through Google search (not LinkedIn's API), extracts profile data, normalizes it, and returns clean JSON ready for your pipeline.


Architecture

flowchart TD
INPUT["Input: Company URLs + Filters"] --> QUEUE["Request Queue"]
QUEUE --> SERP["Google SERP Crawler"]
SERP --> PARSE["Profile Parser"]
PARSE --> DEDUP["Deduplication Engine"]
DEDUP --> OUTPUT["Dataset: JSON / CSV / Excel"]
SERP -.-> PROXY["Apify GOOGLE_SERP Proxy"]
SERP -.-> RETRY["Auto-Retry + Backoff"]
style INPUT fill:#e3f2fd
style OUTPUT fill:#e8f5e9
style PROXY fill:#fff3e0
style RETRY fill:#fff3e0

For AI Agents & Developers

This API is designed to be called programmatically by AI agents, automation workflows, and developer pipelines.

Quick Integration (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('george.the.developer/linkedin-company-employees-scraper').call({
companies: ['https://www.linkedin.com/company/openai'],
searchQuery: 'engineer',
maxEmployees: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
// items = [{ fullName, headline, profileUrl, location, ... }]

Quick Integration (Python)

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('george.the.developer/linkedin-company-employees-scraper').call(run_input={
'companies': ['https://www.linkedin.com/company/openai'],
'searchQuery': 'engineer',
'maxEmployees': 50,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(f"{item['fullName']} - {item['headline']}")

API Endpoint (Direct HTTP)

curl -X POST "https://api.apify.com/v2/acts/george.the.developer~linkedin-company-employees-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["https://www.linkedin.com/company/openai"], "maxEmployees": 50}'

Input / Output Schema

Input

graph TD
subgraph Required
A["companies: string[]<br/>LinkedIn URLs or company names"]
end
subgraph Optional Filters
B["searchQuery: string<br/>Job title filter"]
C["location: string<br/>Geographic filter"]
D["seniorityFilter: string[]<br/>senior, director, vp, cxo..."]
E["maxEmployees: number<br/>Limit per company (1-1000)"]
end
style A fill:#e8f5e9
style B fill:#f3e5f5
style C fill:#f3e5f5
style D fill:#f3e5f5
style E fill:#f3e5f5
{
"companies": ["https://www.linkedin.com/company/openai"],
"searchQuery": "engineer",
"location": "San Francisco",
"seniorityFilter": ["senior", "manager", "director"],
"maxEmployees": 100,
"maxConcurrency": 3
}
ParameterTypeRequiredDefaultDescription
companiesArrayYesLinkedIn company URLs or plain company names
searchQueryStringNo""Job title or keyword filter
locationStringNo""Location filter
maxEmployeesIntegerNo100Max employees per company (1–1000)
seniorityFilterArrayNo[]Filter: owner, partner, cxo, vp, director, manager, senior, entry
maxConcurrencyIntegerNo3Concurrent requests (1–10)

Output

{
"publicIdentifier": "thegdb",
"profileUrl": "https://www.linkedin.com/in/thegdb/",
"fullName": "Greg Brockman",
"headline": "OpenAI",
"location": "San Francisco",
"company": "openai",
"scrapedAt": "2026-03-22T09:45:09.102Z"
}
FieldTypeDescription
publicIdentifierstringLinkedIn profile slug
profileUrlstringFull LinkedIn profile URL
fullNamestringEmployee full name
headlinestringCurrent role / company
locationstringGeographic location
companystringNormalized company identifier
scrapedAtstringISO 8601 timestamp

Use Cases

mindmap
root((LinkedIn<br/>Employee<br/>Scraper))
Sales
Lead lists by title
Decision-maker discovery
CRM enrichment
Recruiting
Talent mapping
Competitor hiring
Candidate sourcing
Research
Org chart analysis
Headcount tracking
Industry composition
Automation
AI agent data layer
n8n / Make workflows
Scheduled monitoring
  • Sales teams — Find decision-makers at target accounts filtered by title and seniority
  • Recruiters — Map talent at competitors by role, location, and level
  • Investors — Quick team assessment for due diligence
  • AI agents — Reliable structured data source for autonomous prospecting workflows

Pricing

graph LR
START["Actor Start<br/>$0.005"] --> EXTRACT["Per Employee<br/>$0.004"]
EXTRACT --> TOTAL["~$4 per 1,000<br/>employees"]
style START fill:#fff9c4
style EXTRACT fill:#c8e6c9
style TOTAL fill:#e1f5fe
EventCost
Actor start$0.005 per run
Employee extracted$0.004 per employee

~$4 per 1,000 employees. Pay only for successfully extracted records.


Integrations

graph TD
SCRAPER[LinkedIn Scraper] --> API[Apify API]
SCRAPER --> WEBHOOK[Webhooks]
SCRAPER --> ZAPIER[Zapier]
SCRAPER --> MAKE[Make.com]
SCRAPER --> SHEETS[Google Sheets]
SCRAPER --> SLACK[Slack]
SCRAPER --> AGENTS[AI Agents<br/>Claude / GPT / Cursor]
style SCRAPER fill:#e3f2fd
style AGENTS fill:#f3e5f5
  • Apify API — Trigger runs and fetch results programmatically
  • Webhooks — Get notified when a run completes
  • Zapier / Make — Automate data pipelines to your CRM
  • Google Sheets — Export directly to spreadsheets
  • AI Agents — Call via tool_use / function_calling from any LLM framework

Why This Scraper

FeatureThis ScraperDIY Script
Login requiredNoYes
Ban riskZeroHigh
Proxy managementAutomaticManual
Anti-bot handlingBuilt-inDIY
Resume on failureYesNo
Success rate97.8%Variable
MaintenanceManagedYou

FAQ

Do I need a LinkedIn account? No. Uses Google search, not LinkedIn's API. Zero ban risk.

Can I scrape multiple companies? Yes. Pass an array of URLs or names.

What if a run is interrupted? Built-in state tracking skips already-processed profiles on rerun.

Can AI agents use this? Yes. Designed for programmatic use — structured JSON output, clear schema, API-first.


Support

Questions? Find me on X/Twitter @ai_in_it or open an issue on GitHub.