All-in one Linkedin Scraper avatar

All-in one Linkedin Scraper

Pricing

from $0.85 / 1,000 job listings

Go to Apify Store
All-in one Linkedin Scraper

All-in one Linkedin Scraper

LinkedIn scraper — NO COOKIES NEEDED. 7 scraping modes:Profiles, Companies,Jobs,Posts,Search,Search_profile, Profile Complete. Zero risk to your LinkedIn account. Multi-source search engine for maximum reliability. Pay per result from $1/1K. Apify subscription discounts. MCP-compatible for AI agents

Pricing

from $0.85 / 1,000 job listings

Rating

0.0

(0)

Developer

Japi Cricket

Japi Cricket

Maintained by Community

Actor stats

0

Bookmarked

140

Total users

67

Monthly active users

2.1 days

Issues response

4 hours ago

Last modified

Share

What does All-in-One LinkedIn Scraper do?

All-in-One LinkedIn Scraper extracts structured data from LinkedIn across 8 scraping modes — profiles, companies, jobs, posts, people search, search & scrape by name, plus a premium Profile Complete tier that bundles profile + posts + engagement into a single result. No cookies needed. No login required. Zero risk to your LinkedIn account.

Most LinkedIn scrapers require your li_at session cookie, putting your account at risk of permanent ban. This scraper works 100% without authentication — it uses public LinkedIn pages and guest APIs only. Replaces 5+ separate LinkedIn scrapers with one all-in-one actor.

Getting Started

  1. Click "Try for free" at the top of this page
  2. Choose a scraping mode (Profiles, Companies, Jobs, Posts, Search, Search Profiles, Profile Complete, or Company Employees)
  3. Paste LinkedIn URLs or enter a search query
  4. Click Start — results appear in the Dataset tab within seconds
  5. Download as JSON, CSV, or Excel — or connect via API, n8n, Make, or Zapier

No cookies needed. No login required. Just paste and scrape.

Easiest Way to Start: Paste a URL

Just paste any LinkedIn URL into the "LinkedIn URLs" field and hit Start. The scraper auto-detects the mode:

URL PatternAuto-Detected Mode
linkedin.com/in/williamhgatesProfiles
linkedin.com/company/microsoftCompanies
linkedin.com/posts/microsoft_...Posts

For Jobs and Search modes, enter a keyword in the "Search Query" field instead.

8 Scraping Modes

ModeDescriptionBest For
ProfilesFull public profile data: experience, education, about, postsLead enrichment, recruiting
CompaniesCompany pages: industry, size, HQ, website, specialties, followersMarket research, B2B targeting
JobsJob search with filters: type, experience, location, salaryJob market analysis, recruiting
PostsPosts with engagement, hashtags, video detection, content typeContent analysis, social listening
SearchFind LinkedIn profiles by keywords and location (3 engines in parallel: Brave + Yahoo + Google)Prospecting, lead discovery
Search ProfilesSearch by person name → find ALL matching profiles → fully scrape each one (14+ fields)Finding all people with a given name
Profile CompleteProfile + all posts + engagement data in one resultFull person intelligence
Company EmployeesFind people who work at a company via SERP discoveryB2B lead lists, org mapping

Standard vs Enhanced Mode

Every mode works out of the box without any cookie or login. For 4 modes, you can optionally provide your LinkedIn li_at cookie to unlock significantly richer data — at the same price per result.

All 8 modes work using search engine results (Brave, Yahoo, Google) and public LinkedIn pages. This is the default, zero-risk option:

  • Profiles: Name, headline, location, photo, current company/title
  • Companies: Full company page (industry, size, HQ, website, specialties, followers)
  • Jobs: Full job details (title, salary, description, applicants) — no cookie needed
  • Posts: Full post content with engagement metrics, hashtags, video detection
  • Search: Profile discovery via 3-engine parallel SERP
  • Search Profiles: Search by name + basic enrichment per profile
  • Profile Complete: Profile + posts (basic fields)
  • Company Employees: ~10-20 employees discovered via search engines

Paste your li_at cookie to unlock LinkedIn's internal API. Same price per result — you just get more data.

ModeStandard (no cookie)Enhanced (with cookie)Improvement
Profiles6 fields (name, headline, location, company, title, photo)20+ fields (+experience, education, skills, certifications, languages, about, industry)5x more fields
Profile CompleteBasic profile + postsFull profile + about section + structured posts with engagement5x more fields
Search ProfilesSERP discovery + basic enrichmentVoyager search (structured results) + full enrichment with experience/educationBetter discovery + richer data
Company Employees~10-20 employees from search engines100+ employees via LinkedIn's internal search, paginated10x more results
CompaniesFull dataNo change
JobsFull dataNo change
PostsFull dataNo change
SearchFull dataNo change
  1. Open linkedin.com in Chrome and log in
  2. Press F12 (or right-click → Inspect) to open Developer Tools
  3. Click the Application tab (top bar)
  4. In the left sidebar, expand Cookies → click linkedin.com
  5. Find the row named li_at — copy the Value column
  6. Paste it into the "LinkedIn Cookie" field in this scraper's input

Your cookie is sent directly to LinkedIn's API — it never touches our servers. The cookie typically lasts 1-3 months before expiring.

Is My Account Safe?

  • The scraper uses human-like delays (randomized with Box-Muller distribution) between requests
  • Session rotation prevents pattern detection
  • Requests look identical to normal browser activity (Chrome TLS fingerprint via Impit)
  • We've processed thousands of profiles without any account issues
  • If you're concerned, use a secondary LinkedIn account

When to Use Which Mode

Your GoalRecommended ModeCookie Needed?
Quick lead list with names + titlesStandard (no cookie)No
Full profile with experience + skills for recruitingEnhancedYes
Job market researchStandardNo
Find all employees at a target companyEnhancedYes (for 100+)
Monitor someone's LinkedIn postsStandardNo
Deep person intelligence reportEnhanced (Profile Complete)Yes

Pricing — Pay Per Result, No Monthly Fee

Standard Modes

ModePrice / resultPrice / 1,000FieldsBest For
Jobs$0.0015$1.5016 fieldsJob market research, recruiting pipelines
Posts$0.0015$1.5014 fieldsContent monitoring, social listening
Companies$0.002$2.0015 fieldsB2B market research, competitor tracking
Search$0.002$2.009 fieldsLead discovery, prospecting
Profiles$0.0025$2.5014 fieldsLead enrichment, recruiting
Search Profiles$0.004$4.0014+ fieldsName search + full enrichment

Premium Tier

ModePrice / resultPrice / 1,000What's IncludedBest For
Profile Complete$0.004$4.00Profile + up to 10 posts with engagement (likes, comments, shares) + total engagement scoreFull person intelligence, influencer analysis

Why Profile Complete? Buying Profile + Posts separately costs $4/1K and requires two runs + manual matching. Profile Complete gives you everything in one result for $4/1K — one run, one output, zero hassle.

Apify Subscription Discounts

Higher Apify subscription plans get automatic discounts on all modes:

Apify PlanDiscount TierDiscount
Free / StarterStandard
ScaleBronze5% off
BusinessSilver10% off
EnterpriseGold15% off

Cost examples:

  • 100 job listings: $0.15
  • 500 LinkedIn profiles: $1.25
  • 200 company pages: $0.40
  • 100 complete person profiles with posts: $0.40

You only pay for results delivered. Platform compute costs are included.

Why This LinkedIn Scraper?

  • No cookies needed — all 8 modes work without login. Optional cookie unlocks 5x richer data (experience, education, skills) and 10x more company employees
  • 8 modes in one actor — profiles, companies, jobs, posts, search, search profiles, profile complete, company employees — one integration to maintain
  • Cheapest on Apify — see comparison below
  • HTTP-only architecture — Impit with Chrome TLS fingerprint impersonation (no bloated browser)
  • 256 MB memory — runs on minimal resources, keeping your compute costs low
  • Residential proxy rotation — automatic retry with IP rotation on blocks
  • Human-like behavior — randomized delays with Box-Muller distribution jitter
  • MCP-compatible — works with AI agents (Claude, GPT, Cursor) out of the box

How We Compare

FeatureThis ScraperDev FusionHarvestAPIApiMaestroBebity
Profiles / 1K$2.50$10.00$4.00$5.00$29/mo flat
Jobs / 1K$1.50$1.00$5.00$29.99/mo flat
Posts / 1K$1.50$2.00$5.00
Companies / 1K$2.00$8.00$5.00$29/mo flat
Search / 1K$2.00$4.00$5.00
Cookies requiredNoNoNoNoUnclear
Modes in one actor811 (15+ separate actors)1 (10+ separate actors)2
Email discoveryFree (+ optional Hunter.io)Built-in+$6/1K add-onBuilt-inNo
Memory256 MB256 MB256 MB128–256 MB4096 MB
Success rate94%+99.9%99.9%99.9%82%

Key advantages:

  • One actor, 8 modes — competitors split into 10–15 separate actors, each requiring its own integration. We give you everything in one.
  • Lowest price per result — profiles at $2.50/1K (vs $5–$10/1K elsewhere), jobs at $1.50/1K
  • Free email discovery — most competitors charge $6–$10/1K extra for email enrichment
  • Lightweight — 256 MB HTTP-only means lower compute costs vs browser-based scrapers (Bebity uses 4096 MB)

MCP Integration for AI Agents

This scraper works with AI agents via the Model Context Protocol (MCP). Connect it to Claude Desktop, Cursor, GPT, or any MCP-compatible client.

Setup:

  1. Go to mcp.apify.com
  2. Add "All-in-One LinkedIn Scraper" to your MCP server
  3. Ask your AI: "Find 20 software engineers in San Francisco on LinkedIn"

Example prompts for your AI agent:

  • "Scrape the LinkedIn profile of Bill Gates"
  • "Search LinkedIn for product managers in New York"
  • "Get the latest job postings for data scientist in London"
  • "Get the complete profile with posts for Satya Nadella"

Works with Claude Desktop, Cursor, GPT via MCP, and any other MCP-compatible AI client.

Integrations

n8n

  1. Add the Apify node in your n8n workflow
  2. Select "All-in-One LinkedIn Scraper" as the actor
  3. Configure the mode and input parameters
  4. Connect the output to your CRM, Google Sheets, or database

Make.com (Integromat)

  1. Add the Apify module to your scenario
  2. Select "Run Actor" and choose this scraper
  3. Map the JSON output fields to your downstream modules
  4. Use for automated lead enrichment, job monitoring, or CRM syncing

Zapier

  1. Create a new Zap with Apify as the trigger or action
  2. Select "Run Actor" and configure with this scraper's actor ID
  3. Map output fields to Google Sheets, HubSpot, Salesforce, or Slack
  4. Trigger on schedule or from a webhook

REST API & SDKs

Use the Apify API, JavaScript SDK, or Python SDK for programmatic access. See the Python example below.


Mode 1: Profiles

Scrape public LinkedIn profile data including experience, education, skills, connections, and recent posts.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"profiles"
urlsstring[]YesLinkedIn profile URLslinkedin.com/in/username format
maxResultsintegerNoMaximum profiles to return1–1000, default: 25
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "profiles",
"urls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satlokomern"
],
"maxResults": 25
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "profiles""profiles"
namestringFull name"Bill Gates"
headlinestringProfile headline"Co-chair, Gates Foundation"
locationstringLocation from profile"Seattle, Washington"
image_urlstringProfile photo URL"https://media.licdn.com/..."
urlstringLinkedIn profile URL"https://www.linkedin.com/in/williamhgates"
current_titlestringCurrent job title"Co-chair"
current_companystringCurrent employer"Gates Foundation"
connectionsintegerNumber of connections500
experiencearrayFull work history with dates[{title, company, dates, location}]
educationarrayEducation with degrees[{school, degree, dates}]
skillsarrayProfessional skills["Strategy", "Leadership", ...]
certificationsarrayProfessional certifications[{name, issuer, dates}]
languagesarrayLanguages spoken[{name, proficiency}]
emailstringDiscovered email address"bill@gatesfoundation.org"
email_sourcestringHow email was found"company-website" or "guessed"
scraped_atstringISO timestamp"2026-03-19T00:00:00.000Z"

With cookie (optional): When you provide an li_at cookie, the scraper uses LinkedIn's Voyager API to fetch full experience, education, skills, certifications, and languages via GraphQL section queries. Without a cookie, these fields are extracted from search engine results (more limited).

Email Discovery: Enabled by default. Uses a 5-layer pipeline: JSON-LD extraction, company website scraping (14 paths), search engine email search, MX-validated pattern guessing (11 patterns including underscore, reversed, hyphenated, and initials), and optional Hunter.io verification (premium).

Hunter.io Integration (Premium): Provide your own hunterApiKey for verified email delivery. Hunter.io verifies guessed email patterns ($0.01/verification) and uses its Email Finder database for higher accuracy. Without it, emails are verified via free MX record checks only.

Output Example

{
"mode": "profiles",
"name": "Dr. William Soliman",
"headline": "Help Raise the Bar in Life Sciences | Founder, CEO @ ACMA",
"location": "New York",
"image_url": "https://media.licdn.com/dms/image/...",
"url": "https://www.linkedin.com/in/drwilliamsoliman",
"current_title": "Founder, CEO",
"current_company": "Accreditation Council for Medical Affairs (ACMA)",
"connections": 500,
"email": "william.soliman@acma-health.com",
"email_source": "guessed",
"experience": [
{
"title": "Founder, CEO",
"company": "Accreditation Council for Medical Affairs (ACMA) · Self-employed",
"dates": "Feb 2015 - Present · 11 yrs 2 mos",
"location": "Greater New York City Area"
},
{
"title": "Founder/CIO",
"company": "White Manna Capital Partners · Self-employed",
"dates": "Jul 2025 - Present · 9 mos",
"location": null
}
],
"education": [
{
"school": "Columbia University",
"degree": "PhD",
"dates": null
},
{
"school": "Columbia University",
"degree": "Master's Degree",
"dates": null
}
],
"skills": ["Biotechnology Industry", "Pharmaceuticals", "Medical Science", "New Business Development", "Entrepreneurship"],
"certifications": [],
"languages": [],
"scraped_at": "2026-03-19T13:10:14.167Z"
}

Real test result from Build 0.1.179 — 20 experience positions, 5 education entries, 24 skills extracted via GraphQL section queries.

Input Parameters (Profiles Mode)

ParameterTypeRequiredDescription
modestringYes"profiles"
urlsstring[]YesLinkedIn profile URLs
cookiestringNoli_at cookie for Voyager API (enables experience/education/skills)
discoverEmailsbooleanNoFind email addresses (default: true)
hunterApiKeystringNoHunter.io API key for premium email verification
maxResultsintegerNoMax profiles (default: 25)
{
"mode": "profiles",
"urls": ["https://www.linkedin.com/in/drwilliamsoliman"],
"cookie": "your_li_at_cookie_here",
"discoverEmails": true,
"hunterApiKey": "optional_hunter_key"
}

Use Cases

  • Lead enrichment: Enrich CRM contacts with LinkedIn profile data (headline, company, location)
  • Recruiting: Screen candidates by experience, education, and current role
  • Sales prospecting: Identify decision-makers and their current titles
  • Competitor intelligence: Track key people at competitor companies

How to Run

Apify Console:

  1. Go to All-in-One LinkedIn Scraper on Apify
  2. Select Profiles mode
  3. Paste LinkedIn profile URLs
  4. Click Start

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "profiles",
"urls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
],
"maxResults": 25
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}{item['headline']}{item['location']}")

Mode 2: Companies

Scrape public LinkedIn company pages including industry, size, headquarters, website, specialties, and recent posts.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"companies"
urlsstring[]YesLinkedIn company URLslinkedin.com/company/name format
maxResultsintegerNoMaximum companies to return1–1000, default: 25
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "companies",
"urls": [
"https://www.linkedin.com/company/microsoft",
"https://www.linkedin.com/company/google"
],
"maxResults": 25
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "companies""companies"
namestringCompany name"Microsoft"
descriptionstringCompany description"Every company has a mission..."
urlstringLinkedIn company URL"https://www.linkedin.com/company/microsoft"
websitestringCompany website"https://www.microsoft.com"
logostringCompany logo URL"https://media.licdn.com/..."
industrystringIndustry"Software Development"
company_sizestringEmployee range"10,001+ employees"
employee_countstringEmployee count string"10,001+ employees"
headquartersstringHQ location"Redmond, Washington"
company_typestringCompany type"Public Company"
foundedstringYear founded"1975"
specialtiesstringSpecialties list"Cloud, AI, Enterprise Software"
followersintegerLinkedIn followers27657016
recent_postsarrayLast 3 posts[{text, url, date}]
scraped_atstringISO timestamp"2026-02-27T00:00:00.000Z"

Output Example

{
"mode": "companies",
"name": "Microsoft",
"description": "Every company has a mission. What's ours? To empower every person and every organization on the planet to achieve more.",
"url": "https://www.linkedin.com/company/microsoft",
"website": "https://www.microsoft.com",
"logo": "https://media.licdn.com/dms/image/...",
"industry": "Software Development",
"company_size": "10,001+ employees",
"employee_count": "10,001+ employees",
"headquarters": "Redmond, Washington",
"company_type": "Public Company",
"founded": "1975",
"specialties": "Business Software, Developer Tools, Cloud Computing, AI",
"followers": 27657016,
"recent_posts": [
{
"text": "We're excited to announce...",
"url": "https://www.linkedin.com/posts/microsoft_...",
"date": "2026-02-25"
}
],
"scraped_at": "2026-02-27T00:43:22.000Z"
}

Use Cases

  • Market research: Analyze companies by industry, size, and location
  • B2B targeting: Build company lists for outbound sales campaigns
  • Competitor tracking: Monitor competitor companies' follower growth and posts
  • Investment research: Screen companies by size, industry, and founding year

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "companies",
"urls": [
"https://www.linkedin.com/company/microsoft",
"https://www.linkedin.com/company/google"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}{item['industry']}{item['followers']} followers")

Mode 3: Jobs

Search LinkedIn's public job listings with filters for job type, experience level, time posted, work arrangement, and location.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"jobs"
searchQuerystringYesJob search keywordse.g. "software engineer", "data scientist"
locationstringNoLocation filtere.g. "San Francisco", "United States"
maxResultsintegerNoMaximum jobs to return1–1000, default: 25
timePostedstringNoFilter by posting date"24h", "week", "month"
jobTypestringNoFilter by job type"full-time", "part-time", "contract", "temporary", "volunteer", "internship"
experienceLevelstringNoFilter by experience"internship", "entry", "associate", "mid-senior", "director", "executive"
workTypestringNoFilter by work arrangement"onsite", "remote", "hybrid"
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "jobs",
"searchQuery": "software engineer",
"location": "San Francisco",
"maxResults": 50,
"jobType": "full-time",
"experienceLevel": "mid-senior",
"workType": "remote",
"timePosted": "week"
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "jobs""jobs"
job_idstringLinkedIn job ID"3847291056"
titlestringJob title"Senior Software Engineer"
companystringCompany name"Google"
company_urlstringCompany LinkedIn URL"https://www.linkedin.com/company/google"
locationstringJob location"San Francisco, CA (Remote)"
posted_datestringWhen posted"2 days ago"
salarystringSalary range (if listed)"$180,000 - $250,000"
benefitsstringBenefits info"Health insurance, 401k"
is_promotedbooleanPromoted listingfalse
urlstringJob listing URL"https://www.linkedin.com/jobs/view/3847291056"
applicantsstringNumber of applicants"87 applicants"
descriptionstringFull job description"We are looking for..."
description_htmlstringHTML job description"<p>We are looking for...</p>"
seniority_levelstringSeniority level"Mid-Senior level"
employment_typestringEmployment type"Full-time"
job_functionstringJob function"Engineering, Information Technology"
industriesstringIndustries"Technology, Software"
company_logostringCompany logo URL"https://media.licdn.com/..."
scraped_atstringISO timestamp"2026-02-27T00:00:00.000Z"

Output Example

{
"mode": "jobs",
"job_id": "3847291056",
"title": "Senior Software Engineer",
"company": "Google",
"company_url": "https://www.linkedin.com/company/google",
"location": "San Francisco, CA (Remote)",
"posted_date": "2 days ago",
"salary": "$180,000 - $250,000",
"benefits": null,
"is_promoted": false,
"url": "https://www.linkedin.com/jobs/view/3847291056",
"applicants": "87 applicants",
"description": "We are looking for a Senior Software Engineer to join our Cloud team...",
"seniority_level": "Mid-Senior level",
"employment_type": "Full-time",
"job_function": "Engineering, Information Technology",
"industries": "Technology, Internet",
"company_logo": "https://media.licdn.com/dms/image/...",
"scraped_at": "2026-02-27T00:43:22.000Z"
}

Use Cases

  • Job market analysis: Track hiring trends by role, location, and industry
  • Recruiting intelligence: Monitor competitor job postings and salary ranges
  • Salary benchmarking: Collect salary data across roles and locations
  • Job board aggregation: Feed LinkedIn jobs into your own job board or newsletter

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "jobs",
"searchQuery": "data scientist",
"location": "New York",
"maxResults": 100,
"jobType": "full-time",
"timePosted": "week"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']} at {item['company']}{item['salary']}{item['location']}")

Mode 4: Posts

Extract posts from LinkedIn profiles and company pages with engagement data, hashtags, and video/media detection.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"posts"
urlsstring[]YesProfile or company URLs/in/username or /company/name
maxResultsintegerNoMaximum posts to return1–1000, default: 25
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "posts",
"urls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/company/microsoft"
],
"maxResults": 20
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "posts""posts"
authorstringPost author name"Bill Gates"
author_urlstringAuthor's LinkedIn URL"https://www.linkedin.com/in/williamhgates"
textstringPost content (up to 5000 chars)"AI is transforming education..."
urlstringDirect post URL"https://www.linkedin.com/posts/williamhgates_..."
datestringPublication date"2026-02-20"
content_typestring"text", "image", or "video""video"
hashtagsarrayExtracted hashtags["#ai", "#education"]
likesintegerNumber of likes/reactions45000
comments_countintegerNumber of comments1200
shares_countintegerNumber of shares/reposts350
media_urlstringAttached image URL"https://media.licdn.com/..."
video_urlstringAttached video URL (if detected)"https://www.linkedin.com/video/..."
scraped_atstringISO timestamp"2026-02-27T00:00:00.000Z"

Output Example

{
"mode": "posts",
"author": "Bill Gates",
"author_url": "https://www.linkedin.com/in/williamhgates",
"text": "AI is transforming education in ways we couldn't have imagined... #ai #education #technology",
"url": "https://www.linkedin.com/posts/williamhgates_ai-education-technology-activity-123456",
"date": "2026-02-20",
"content_type": "image",
"hashtags": ["#ai", "#education", "#technology"],
"likes": 45000,
"comments_count": 1200,
"shares_count": 350,
"media_url": "https://media.licdn.com/dms/image/...",
"video_url": null,
"scraped_at": "2026-02-27T00:43:22.000Z"
}

Use Cases

  • Content analysis: Analyze what topics perform best on LinkedIn
  • Social listening: Monitor what companies and influencers are posting about
  • Competitive intelligence: Track competitor announcements and messaging
  • Influencer research: Identify high-performing content creators in your industry

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "posts",
"urls": ["https://www.linkedin.com/in/williamhgates"],
"maxResults": 10
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['author']}: {item['text'][:100]}... ({item['likes']} likes)")

Find LinkedIn profiles by keywords and location using a 5-engine parallel search: Brave, Yahoo, Google, DuckDuckGo, and Bing all queried simultaneously for maximum speed and reliability. LinkedIn Voyager API adds structured data (headline, location, images) when a cookie is provided. Results are merged and deduplicated across all engines.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"search"
searchQuerystringYesSearch keywordse.g. "product manager", "CEO SaaS"
locationstringNoLocation filtere.g. "New York", "London"
maxResultsintegerNoMaximum results to return1–1000, default: 25
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "search",
"searchQuery": "product manager",
"location": "New York",
"maxResults": 25
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "search""search"
namestringPerson's name"Jane Smith"
headlinestringLinkedIn headline"Product Manager at Stripe"
locationstringParsed location (when available)"New York, NY"
image_urlstringProfile photo URL (when available)"https://media.licdn.com/..."
urlstringLinkedIn profile URL"https://www.linkedin.com/in/janesmith"
snippetstringSearch result snippet (up to 500 chars)"Jane Smith is a Product Manager..."
sourcestringData source used"ddg", "voyager", "google_search", "bing_search"
scraped_atstringISO timestamp"2026-02-27T00:00:00.000Z"

Output Example

{
"mode": "search",
"name": "Jane Smith",
"headline": "Product Manager at Stripe",
"location": "New York, NY",
"image_url": null,
"url": "https://www.linkedin.com/in/janesmith",
"snippet": "Jane Smith is a Product Manager at Stripe with 8+ years of experience in fintech...",
"source": "ddg",
"scraped_at": "2026-02-27T00:43:22.000Z"
}

Use Cases

  • Prospecting: Find potential customers by role and location
  • Lead discovery: Build targeted outreach lists for sales teams
  • Recruiting: Source candidates matching specific criteria
  • Market sizing: Estimate the number of professionals in a role/location

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "search",
"searchQuery": "CTO SaaS",
"location": "San Francisco",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}{item['headline']}{item['url']}")

Mode 6: Search Profiles (Search by Name + Full Enrichment)

Enter a person's name and the scraper finds ALL matching LinkedIn profiles, then fully scrapes each one with title, company, location, headline, and optional email discovery. Combines the discovery power of Search mode with the enrichment depth of Profiles mode.

How It Works

  1. Discovery: Searches LinkedIn via Voyager API + search engines (DDG, Google, Bing) to find all profiles matching the name
  2. Enrichment: For each discovered profile, runs the full enrichment pipeline (SERP extraction, Voyager lookup, 999 metadata)
  3. Email Discovery (optional): Scrapes employer websites for email addresses

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"search_profiles"
searchQuerystringYesPerson's name to searche.g. "Sunny Savita", "Naveen Jain"
locationstringNoLocation filtere.g. "New York", "India"
maxResultsintegerNoMaximum profiles to return1–1000, default: 25
cookiestringNoLinkedIn li_at cookie for Voyager APIEnables structured search results
discoverEmailsbooleanNoFind email addressesDefault: true
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL

Input Example

{
"mode": "search_profiles",
"searchQuery": "Sunny Savita",
"maxResults": 10,
"discoverEmails": true
}

Output Fields

Same fields as Profiles mode (14+ fields per profile):

FieldTypeDescriptionExample
modestringAlways "search_profiles""search_profiles"
namestringFull name"Sunny Savita"
headlinestringLinkedIn headline"Senior Generative AI Engineer"
locationstringLocation"Bangalore Urban"
image_urlstringProfile photo URL"https://media.licdn.com/..."
urlstringLinkedIn profile URL"https://www.linkedin.com/in/sunny-savita"
current_titlestringCurrent job title"Senior Generative AI Engineer"
current_companystringCurrent employer"PwC India"
emailstringDiscovered email (if available)"sunny.savita@pwc.com"
scraped_atstringISO timestamp"2026-03-19T00:00:00.000Z"

Output Example

[
{
"mode": "search_profiles",
"name": "Sunny Savita",
"headline": "Senior Generative AI Engineer",
"location": "Bangalore Urban",
"url": "https://www.linkedin.com/in/sunny-savita",
"current_title": "Senior Generative AI Engineer",
"current_company": "PwC India",
"scraped_at": "2026-03-19T07:40:01.000Z"
},
{
"mode": "search_profiles",
"name": "Sunny Savita",
"headline": "Senior Generative AI Engineer",
"location": "Agra",
"url": "https://www.linkedin.com/in/sunny-savita-8a80b620",
"current_title": "Senior Generative AI Engineer",
"current_company": "PwC India",
"scraped_at": "2026-03-19T07:40:01.000Z"
}
]

Use Cases

  • Finding all people with a given name: Enter "Naveen Jain" and get every Naveen Jain on LinkedIn with full profile data
  • Lead research: Search for a contact by name when you don't have their LinkedIn URL
  • Recruiting: Find all candidates matching a specific name, then filter by title/company/location
  • Due diligence: Verify a person's LinkedIn presence by searching their name

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "search_profiles",
"searchQuery": "Naveen Jain",
"maxResults": 10,
"discoverEmails": True
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}{item.get('current_title', 'N/A')} at {item.get('current_company', 'N/A')}{item['url']}")

Performance Notes

  • Speed: ~10-30 seconds per profile for enrichment. 10 profiles takes ~2-5 minutes.
  • With cookie: Voyager API provides structured search results (better name matching, profile photos, locations). Recommended for best results.
  • Without cookie: Falls back to 5-engine parallel search (Brave, Yahoo, Google, DDG, Bing). Fewer results but still functional.

Mode 7: Profile Complete (Premium)

Get everything about a LinkedIn person in one result — full profile data plus their recent posts with engagement metrics (likes, comments, shares). Saves you from running Profiles + Posts separately.

Input Parameters

ParameterTypeRequiredDescriptionValues
modestringYesScraping mode"profile_complete"
urlsstring[]YesLinkedIn profile URLslinkedin.com/in/username format
maxResultsintegerNoMaximum profiles to return1–1000, default: 25
proxyConfigobjectNoProxy settingsDefault: Apify RESIDENTIAL
minDelayintegerNoMin delay between requests (ms)500–30000, default: 2000
maxDelayintegerNoMax delay between requests (ms)1000–60000, default: 5000

Input Example

{
"mode": "profile_complete",
"urls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
],
"maxResults": 10
}

Output Fields

FieldTypeDescriptionExample
modestringAlways "profile_complete""profile_complete"
namestringFull name"Bill Gates"
headlinestringProfile headline"Co-chair, Bill & Melinda Gates Foundation"
locationstringLocation"Seattle, Washington"
image_urlstringProfile photo URL"https://media.licdn.com/..."
urlstringProfile URL"https://www.linkedin.com/in/williamhgates"
current_titlestringCurrent job title"Co-chair"
current_companystringCurrent employer"Bill & Melinda Gates Foundation"
connectionsintegerConnections count500
followersintegerFollowers count35800000
aboutstringAbout section"Technologist, business leader..."
experiencearrayWork history[{title, company, date_range, duration, location}]
educationarrayEducation history[{school, degree, dates}]
postsarrayUp to 10 posts with engagement[{text, url, date, likes, comments_count, shares_count, media_url}]
posts_countintegerNumber of posts found5
total_engagementintegerSum of all likes + comments + shares125000
scraped_atstringISO timestamp"2026-02-27T00:00:00.000Z"

Output Example

{
"mode": "profile_complete",
"name": "Bill Gates",
"headline": "Co-chair, Bill & Melinda Gates Foundation",
"location": "Seattle, Washington, United States",
"url": "https://www.linkedin.com/in/williamhgates",
"current_title": "Co-chair",
"current_company": "Bill & Melinda Gates Foundation",
"followers": 35800000,
"experience": [
{
"title": "Co-chair",
"company": "Bill & Melinda Gates Foundation",
"date_range": "Jan 2000 - Present"
}
],
"posts": [
{
"text": "AI is transforming education in ways we couldn't have imagined...",
"url": "https://www.linkedin.com/posts/williamhgates_...",
"date": "2026-02-20",
"likes": 45000,
"comments_count": 1200,
"shares_count": 350,
"media_url": "https://media.licdn.com/..."
}
],
"posts_count": 5,
"total_engagement": 125000,
"scraped_at": "2026-02-27T00:43:22.000Z"
}

Use Cases

  • Influencer analysis: Full profile + content performance in one call
  • Sales intelligence: Know who they are AND what they care about
  • Recruiting deep-dive: Candidate profile + thought leadership activity
  • Competitive intelligence: Track key people + their public messaging

Python Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/linkedin-scraper").call(run_input={
"mode": "profile_complete",
"urls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
],
"maxResults": 10
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}{item['posts_count']} posts — {item['total_engagement']} total engagement")

Download Your Data

After every run, download your results in any format:

  • JSON — for developers and API integrations
  • CSV — for spreadsheets and data analysis
  • Excel (XLSX) — for business users
  • XML — for data pipelines

Google Sheets: Use =IMPORTDATA() with the CSV download link for instant import.

All Apify export formats available: JSON, JSONL, CSV, XLSX, XML, HTML Table, RSS.

Key Features

  • No cookies, no login — 100% safe, zero risk to your LinkedIn account
  • 7 modes in one actor — profiles, companies, jobs, posts, search, search profiles, profile complete
  • Chrome TLS fingerprinting — Impit impersonates real Chrome browser fingerprints (JA3/JA4)
  • 5-engine parallel search — Brave + Yahoo + Google + DDG + Bing all queried simultaneously for maximum reliability and speed
  • SERP result caching — 24-hour KVStore cache avoids re-querying search engines for recently-scraped profiles
  • Smart proxy routing — DATACENTER proxies for search engines ($0.10/GB), RESIDENTIAL only for LinkedIn direct access
  • Residential proxy rotation — automatic IP rotation with retry on blocks
  • Human-like behavior — randomized delays with Box-Muller normal distribution
  • 256 MB memory — lightweight HTTP-only architecture, minimal compute costs
  • MCP-compatible — works with Claude, GPT, Cursor, and any MCP client
  • Pay per result — no subscription, no monthly fee

Error Handling

The scraper handles errors gracefully — individual failures never crash the entire run:

  • Invalid URLs: Skipped with a warning in the log. Only valid LinkedIn URLs are processed.
  • Profile not found: Profiles that return no data are skipped (not added to the dataset).
  • Rate limits: Automatic delays with residential proxy rotation (up to 3 retries per request).
  • Timeout errors: Requests that exceed the timeout are retried with a fresh proxy IP.
  • Partial results: If enrichment fails for one profile, the rest continue unaffected.

Check the Run Log tab in Apify Console to see warnings for any skipped or failed URLs.

Performance Tips

  • Batch your URLs — scraping 50 profiles in one run is faster and cheaper than 50 separate runs
  • Use a cookie for profiles — adding an li_at cookie unlocks Voyager API access for richer data (experience, education, skills). Without it, data comes from search engines (more limited).
  • Start with small batches — test with 5–10 URLs first, then scale up
  • Check the logs — the Run Log shows exactly what was scraped, skipped, or retried
  • Use maxResults wisely — for search modes, start with 25 and increase if needed

Daily Limits

There are no Apify-side limits on how many times you can run this scraper.

LinkedIn-side recommendations:

  • Without cookie: No practical limit — requests go through search engines and public pages
  • With cookie: ~100 profiles per cookie per day recommended. Exceeding this may trigger LinkedIn rate limits on your session.
  • Search modes: LinkedIn returns up to ~1,000 results per search query. Use different keywords or locations to expand coverage.
  • Jobs mode: No daily limit — job listings are fully public

Tip: For high-volume scraping (1,000+ profiles/day), run without a cookie to avoid any LinkedIn session risk.

Limitations

  • Profile data is limited to what LinkedIn shows on public pages
  • Some profiles may be behind a login wall (the actor will still extract available data)
  • Post engagement metrics may be approximate
  • Search mode uses a 3-engine parallel SERP (Brave + Yahoo + Google) for high reliability. Field completion: ~100% names, ~94% headlines, ~54% locations
  • Profile and SERP results are cached for 24 hours — repeat runs return cached data instantly

FAQ

Do I need a LinkedIn account? No. All 8 modes work without any cookie or login. Optionally, provide your li_at cookie for Enhanced Mode — 5x richer profiles (experience, education, skills) and 10x more company employees. See the Standard vs Enhanced Mode section above for details.

How accurate are emails? Email discovery uses a 5-layer pipeline: JSON-LD, company website scraping (14 paths), search engine email search, MX-validated pattern guessing (11 patterns), and optional Hunter.io verification. Hit rate is ~60-85% depending on the profile. Emails are verified against real MX records before being returned.

What if a profile returns empty? The scraper tries multiple sources: Voyager API (if cookie provided), 3 search engines in parallel (Brave + Yahoo + Google), direct LinkedIn fetch, and 999 metadata extraction. If all fail, it means the profile is behind authentication or doesn't exist. Try providing an li_at cookie for better results.

How fast is it? Profiles: ~2-4 seconds each (with 24h caching, repeat queries are instant). Jobs: ~15 seconds per 20 listings. Search: ~3-5 seconds for 5-18 results. Company Employees: ~5-10 seconds.

What if I get blocked? Automatic retry with proxy rotation. The scraper uses residential proxies for LinkedIn and datacenter proxies for SERP engines to minimize costs and maximize reliability.

Can I scrape thousands of results? Yes. Set maxResults up to 1,000. The scraper handles pagination, deduplication, and rate limiting automatically.

Is there a monthly subscription? No. Pay only for results delivered, starting at $1/1K for jobs. Higher Apify plans get 5-15% discounts.

What's the difference between Search and Search Profiles? Search returns basic profile cards (name, headline, URL). Search Profiles finds profiles AND fully scrapes each one — returning 14+ fields including experience, education, and email.

Can I find all employees of a company? Yes — use the Company Employees mode. Provide a LinkedIn company URL and the scraper discovers employees via search engine results. Results include name, headline, location, and profile URL.

Questions? Open an issue on the actor page or reach out via Apify Console.