LinkedIn Profile Scrapper avatar

LinkedIn Profile Scrapper

Pricing

$15.00/month + usage

Go to Apify Store
LinkedIn Profile Scrapper

LinkedIn Profile Scrapper

Extract LinkedIn profile data such as job roles, experience, and skills from URLs and export it as structured data for outreach and analysis.

Pricing

$15.00/month + usage

Rating

0.0

(0)

Developer

Sovanza

Sovanza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

LinkedIn Profile Scraper – Extract Profiles & Professional Data at Scale

Scrape LinkedIn profiles to extract professional data, job roles, and company insights. Perfect for lead generation, outreach, and CRM enrichment workflows.

What is LinkedIn Profile Scraper and How Does It Work?

LinkedIn Profile Scraper is a powerful LinkedIn data extraction tool built on Apify that extracts publicly visible profile information from LinkedIn profile URLs (linkedin.com/in/...) using a headless browser (Playwright). It is designed for:

  • B2B marketers
  • Lead generation specialists
  • Recruiters
  • Sales teams
  • Data analysts

This tool helps you collect, structure, and analyze LinkedIn profile data for outreach, hiring, and market intelligence — reducing manual browsing. For reliable results, use session cookies from a logged-in LinkedIn session (see below) plus appropriate proxy settings.

Why This LinkedIn Scraper is Different

This actor is built for B2B intelligence and lead generation workflows, not one-off copy-paste.

Core advantages:

  • Extract structured professional profile data
  • Build targeted lead lists from profile URLs
  • Enrich datasets for outreach campaigns
  • Analyze roles, companies, and skills at scale (from what LinkedIn renders on the page)
  • Automate LinkedIn research workflows via Apify API and scheduling

➡️ Designed for real business use (sales, hiring, growth) — always subject to LinkedIn’s terms and applicable laws.

What Data Does LinkedIn Profile Scraper Extract?

This actor outputs structured profile data per URL, including (when available on the page):

Profile information

  • Full name
  • Headline (job title)
  • Profile URL
  • Location
  • About / summary
  • Profile picture URL
  • Connections (when shown)

Professional data

  • Experience — array of entries (e.g. title, company, date range)
  • Education — array of entries (e.g. school, degree, dates)
  • Skills — array of strings

Run metadata

  • statussuccess | login_required | no_data | blocked
  • scraped_at — timestamp

➡️ Output is structured and exportable in JSON, CSV, or Excel via Apify dataset export.

Advanced Features

  • Profile-level extraction — one or more linkedin.com/in/username URLs per run
  • Bulk processing — many profile URLs in a single actor run (respect delays and LinkedIn limits)
  • Session support — optional cookies from a logged-in browser (Cookie-Editor JSON) for fewer login walls
  • Rate limiting — configurable min/max delay between profile requests
  • Proxy — Apify Proxy country and optional custom proxy URL (match login geography when possible)
  • Automation — Apify API, schedules, webhooks
  • Debug — optional save of debug HTML on failed extraction (saveDebugOnFailure)

How to Use LinkedIn Profile Scraper on Apify

Using the Actor

  1. Go to the LinkedIn Profile Scraper on the Apify platform.

  2. Input Configuration:

    • Add LinkedIn profile URLs (https://www.linkedin.com/in/...).
    • Recommended: paste cookies from a logged-in session and align proxy country (and optional User-Agent) with that session.
    • Set min/max delay between requests to reduce rate limits.

Input Configuration

The actor accepts (among others) the following parameters:

{
"productUrls": [
"https://www.linkedin.com/in/satyanadella"
],
"cookies": "[{\"name\":\"li_at\",\"value\":\"...\",\"domain\":\".linkedin.com\"}]",
"userAgent": "",
"minDelay": 15,
"maxDelay": 60,
"language": "en",
"proxyCountry": "AUTO_SELECT_PROXY_COUNTRY",
"proxyUrl": "",
"saveDebugOnFailure": false
}
FieldDescription
productUrlsOne or more LinkedIn profile URLs (string list). Primary input.
startUrlsAlternate: same URLs in Apify request-list format.
urlLegacy: single profile URL.
cookiesRecommended. JSON array string from Cookie-Editor (or similar) for a logged-in session.
userAgentOptional. Browser User-Agent matching the session used for cookies.
minDelay / maxDelaySeconds between profile requests (defaults 15–60; helps avoid rate limits).
languageBrowser locale (en, de, es, …).
proxyCountryAUTO_SELECT_PROXY_COUNTRY, US, GB, DE, FR, JP, CA, IT, PK, etc.
proxyUrlOptional custom proxy (e.g. Webshare); overrides Apify proxy when set.
saveDebugOnFailureIf true, may save debug HTML to the key-value store when extraction fails.
  1. Run the Actor — Enable Apify Proxy (often residential) in the run when scraping from the cloud.

  2. Access Your Results — Dataset tab; export JSON/CSV/Excel or use the API.

  3. Schedule — Recurring runs for refreshed lists (combine with your own URL sourcing).

Output

Each profile URL produces one dataset item. Typical fields:

FieldDescription
urlCanonical profile URL
statussuccess | login_required | no_data | blocked
fullNameFull name
headlineHeadline
locationLocation
aboutAbout / summary
profilePictureUrlImage URL
experienceArray of experience objects
educationArray of education objects
skillsArray of skill strings
connectionsConnections line if visible
scraped_atISO timestamp

When status !== "success", an error message may be present (e.g. login wall, no data, blocked).

Example (illustrative):

{
"url": "https://www.linkedin.com/in/example",
"status": "success",
"fullName": "Jane Doe",
"headline": "VP Sales at Example Co",
"location": "San Francisco Bay Area",
"about": "…",
"experience": [{ "title": "VP Sales", "company": "Example Co", "dateRange": "2020 – Present" }],
"education": [],
"skills": ["Sales", "B2B"],
"connections": "500+",
"scraped_at": "2026-03-30T12:00:00.000Z"
}
  1. Install Cookie-Editor (or similar) in the browser where you log in to LinkedIn.
  2. Log in to linkedin.com.
  3. Export cookies as JSON and paste into the Actor cookies field.
  4. Use a proxy country (or proxyUrl) consistent with where you logged in.
  5. Optionally paste your browser User-Agent into userAgent to match the session.

Without cookies, LinkedIn often shows sign-in or limited HTML. Keep volume reasonable per account to reduce restriction risk.

How the Scraper Works

  • Playwright loads each profile URL.
  • BeautifulSoup and JSON-LD (application/ld+json) when available, plus DOM fallbacks, populate fullName, headline, experience, education, skills, etc.
  • Randomized delays between minDelay and maxDelay reduce burst traffic.

Anti-blocking & Reliability

  • Residential or session-aligned proxies strongly recommended on Apify.
  • Cookies + matching User-Agent improve success rates.
  • Retries on transient failures (MAX_RETRIES in code).
  • LinkedIn may block datacenter IPs; use proxyUrl or different proxyCountry if you see blocked or empty pages.

Performance

  • Batch many URLs in one run but respect delays and account safety.
  • Lower concurrency implied by sequential profile handling + delays.

High-Value Use Cases

  • B2B lead generation
  • Recruitment and hiring research
  • Sales prospecting
  • Market research
  • CRM enrichment and AI / lead scoring pipelines (with your own compliance review)

Integrations & API

  • Full API via Apify
  • Python / Node.js
  • Zapier / Make
  • Google Sheets and CRMs via export or automation

FAQ

How can this LinkedIn scraper improve my lead generation process?

It automates collection of profile fields from URLs you provide, so you can build lists and segments faster than manual copy-paste — then layer your own outreach rules and compliance checks.

Can I build targeted prospect lists using this tool?

Yes. You choose which profile URLs to scrape (e.g. from your own research). Output is structured for filtering and enrichment.

How accurate is the extracted LinkedIn data?

Data reflects what LinkedIn serves at scrape time for that session. Verify critical fields before high-stakes decisions.

Can recruiters use this scraper for candidate sourcing?

Yes, for public profile information you are permitted to process — always follow employment and data-protection rules in your jurisdiction.

Can I integrate this scraper with my CRM or outreach tools?

Yes. Export JSON/CSV or connect Apify to Zapier/Make and push into HubSpot, Salesforce, or custom systems.

Can I automate LinkedIn data extraction on a schedule?

Yes, with Apify schedules and webhooks. You still need to supply or generate profile URLs each run unless you add separate discovery logic.

Is this scraper suitable for building AI or analytics models?

Structured fields can feed scoring or ML pipelines; ensure lawful basis and purpose limitation for personal data.

How much data can I extract in one run?

Depends on Apify plan, delays, and LinkedIn’s response. Prefer conservative daily volumes per account.

This tool is intended for publicly visible profile content you may lawfully process. You must comply with LinkedIn’s User Agreement, robots.txt, and laws such as GDPR / CCPA where they apply. Do not use for unauthorized automation against LinkedIn’s terms. Use data responsibly for outreach and commercial use.

SEO Keywords (high-intent)

linkedin scraper
linkedin profile scraper
linkedin data scraper
linkedin lead generation tool
linkedin scraping api
linkedin profile data extractor
linkedin automation tool
linkedin prospecting tool
linkedin lead scraper
b2b lead generation scraper
linkedin scraper apify

Why Choose This Actor?

  • Built for B2B and lead workflows
  • Structured experience, education, skills, and headline data
  • Cookie + proxy + delay controls for real-world scraping
  • Automation-ready on Apify
  • Clear status field for success vs. login/blocking issues

Actor permissions

This Actor is designed to work with limited permissions. It only reads input and writes to its default dataset; it does not access other user data or require full account access.

To set limited permissions in Apify Console:

  1. Open your Actor on the Apify platform.
  2. Go to the Source tab (or Settings).
  3. Click Review permissions (or SettingsPermissions).
  4. Select Limited permissions and save.

Limitations

  • Profile URLs only — paths must include /in/ (see main.py normalization).
  • LinkedIn HTML changes may require actor updates.
  • Blank or blocked pages often indicate proxy or session issues.
  • Not a substitute for LinkedIn’s official APIs where those are required.

License

See the repository root or this package’s LICENSE file for license terms, if present.

Running locally

  1. pip install -r requirements.txt
  2. playwright install chromium
  3. Create INPUT.json, e.g.:
{
"productUrls": ["https://www.linkedin.com/in/satyanadella"],
"minDelay": 15,
"maxDelay": 60
}
  1. Add cookies and proxyUrl for best results.
  2. Run with Apify CLI or python main.py per your local setup.

Deploy to Apify

Use INPUT_SCHEMA.json and the provided Dockerfile. Enable Proxy (residential when possible) on runs.

Get Started

Start extracting LinkedIn profile data and power your outreach and enrichment workflows at scale — responsibly and in compliance with LinkedIn and the law. 🚀