LinkedIn

LinkedIn Profile Scraper

Extracts structured data from LinkedIn member profiles — name, headline, location, industry, summary, work experience with titles and durations, education history, certifications, skills and profile image URL.

Run on Apify471 userson Apify, measured 2026-08-24

What it extracts

Every field below comes from the Actor’s published dataset schema.

FieldDescriptionType
firstNameFirst Nametext
lastNameLast Nametext
headlineHeadlinetext
locationNameLocationtext
industryNameIndustrytext
summarySummarytext
experienceExperiencetext
profile_idProfile IDtext
public_idPublic IDtext
displayPictureUrlProfile Pictureimage

Input parameters

Generated from the Actor’s input schema — the same fields the Apify console shows.

ParameterTypeRequiredDescription
profileUrlsarrayRequiredThe public URLs of the LinkedIn profiles you want to scrape.
cookiesarrayRequiredCookies are used to authorize the actor with LinkedIn. Follow these steps to get the cookies: 1. Install EditThisCookie chrome extension 2. Login to your LinkedIn account 3. Click on the [extension](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) and export the LinkedIn cookies 4. Paste the copied contents here [Video - How to get cookies (0:14)](https://www.youtube.com/watch?v=YuKp9BlVgNM)
proxyConfigurationobjectOptionalProxy settings for the scraper. Recommended to use Apify Proxy to avoid IP blocking.

API access

Run this Actor from your own code over the Apify API.

Inputjson
{
  "profileUrls": [
    "https://www.linkedin.com/in/williamhgates/"
  ],
  "cookies": []
}
REST — run and get resultsbash
curl -X POST \
  "https://api.apify.com/v2/acts/logical_scrapers~linkedin-profile-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profileUrls":["https://www.linkedin.com/in/williamhgates/"],"cookies":[]}'
JavaScript — apify-clientjavascript
import { ApifyClient } from 'apify-client'

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' })

const run = await client.actor('logical_scrapers~linkedin-profile-scraper').call({
  "profileUrls": [
    "https://www.linkedin.com/in/williamhgates/"
  ],
  "cookies": []
})

const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Python — apify-clientpython
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("logical_scrapers~linkedin-profile-scraper").call(run_input={
    "profileUrls": [
        "https://www.linkedin.com/in/williamhgates/",
    ],
    "cookies": [],
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

Runs are executed on Apify. Create an API token in your Apify account, then call the Actor over REST or with the official client for your language. The same input object works in the Apify console, so you can test interactively before automating.

Use cases

Recruiting and sourcing

Collect candidate background — experience, education, certifications — into a structured shortlist.

Lead generation

Enrich prospect records with current role, seniority and employer before outreach.

Sales research

Build personalised outreach lists by understanding a prospect’s background and tenure.

Talent market analysis

Aggregate profiles across a role or industry to study skill distribution and career paths.

Pricing

Pay per event — you are charged for each successfully scraped result item.

Current rates are published on the Apify listing and can change, so they are not duplicated here. See pricing on Apify

Reliability

99.4% run success rate

Measured across all public Goldmine Actors on Apify, 2026-08-24. This is an account-level figure, not a per-Actor benchmark — per-Actor speed and completeness benchmarks are not yet published. Source.

Limitations

What this Actor does not do, so you can tell before you run it whether it fits.

  • Requires your own LinkedIn session cookies. This Actor authenticates as your account, so runs are subject to your account’s own rate limits and risk. If you need a cookie-free option, use LinkedIn Company Scraper or LinkedIn Profile Scraper (No Cookies) instead.
  • Takes profile URLs as input; it does not search LinkedIn for people. Use LinkedIn People Search Scraper to build the URL list first.
  • Returns only what the profile exposes to your session. Restricted profiles yield little or nothing.
  • Field completeness varies by profile — many members leave certifications or skills empty.
  • Personal data carries legal obligations. Confirm your basis for processing under GDPR, CCPA or the equivalent in your jurisdiction before collecting profile data.

Frequently asked questions

What input does it take?

An array of LinkedIn profile URLs, for example https://www.linkedin.com/in/username, plus your LinkedIn session cookies. Both are required.

Why does it need cookies?

LinkedIn shows full profile detail only to signed-in sessions, so the Actor authorises with cookies you export from your own logged-in browser. The Apify listing documents how to export them. Because runs act as your account, they count against your account’s limits.

Is there a version that does not need cookies?

Yes. LinkedIn Profile Scraper (No Cookies) and LinkedIn Company Scraper read publicly visible pages without authentication, at the cost of the fields LinkedIn only shows to signed-in sessions.

Can it scrape connections or a private profile?

No. It does not access connection lists, and profiles restricted from your session return little or nothing.

Is scraping LinkedIn profiles legal?

Collecting publicly accessible data is generally permitted in several jurisdictions, but the resulting records are personal data and fall under privacy law regardless. Take your own legal advice for your use case — this is not legal advice.

Used for

Workflows this Actor is part of, and the other scrapers it chains with.

Field and input tables are generated from this Actor's published schemas. Usage figures measured 2026-08-24 from the Apify listing.