LinkedIn Profile Scraper Pro avatar

LinkedIn Profile Scraper Pro

Pricing

from $5.00 / 1,000 results

Go to Apify Store
LinkedIn Profile Scraper Pro

LinkedIn Profile Scraper Pro

Extract LinkedIn profile data including name, headline, experience, education, skills, followers, and recent articles. Works with public profiles and authenticated sessions.

Pricing

from $5.00 / 1,000 results

Rating

5.0

(15)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

15

Bookmarked

13

Total users

8

Monthly active users

20 days

Issues response

12 days ago

Last modified

Share

Extract public data from LinkedIn profiles at scale. Get names, headlines, work experience, education, skills, followers, recent posts and articles — clean, structured, ready to use.

Feed the actor a list of profile URLs (or handles) and it returns one row per profile with everything your workflow needs: enrichment, lead generation, recruiting, research, or competitive analysis.

Features

  • Fast — HTTP-only scraping, no browser overhead, profiles returned in seconds
  • Flexible input — accepts full URLs, linkedin.com/in/username, in/username, or bare handles
  • Public + authenticated — works without a cookie for public / influencer profiles, optionally use a cookie for richer data on regular profiles
  • Structured output — normalized positions, education, articles, and more
  • No nulls — only fields that were actually populated are included in each row
  • Resilient — automatic fallbacks (Voyager API → JSON-LD → auth wall meta tags) so you always get something back

Input

FieldTypeRequiredDescription
profileUrlsstring[]YesLinkedIn profile URLs or usernames to scrape
cookiestringNoYour LinkedIn session cookie. Needed for regular (non-public) profiles

Supported profile formats

All of these work — the actor normalizes them automatically:

  • https://www.linkedin.com/in/williamhgates
  • linkedin.com/in/williamhgates
  • in/williamhgates
  • williamhgates (handle only)

Without a cookie, the actor can still extract data for public / influencer profiles such as Bill Gates, Satya Nadella, Reid Hoffman, etc. To scrape regular profiles, provide your LinkedIn session cookie in one of two formats:

  • Plain li_at value — copy the value of the li_at cookie from your browser's DevTools (Application → Cookies → https://www.linkedin.com)
  • Full cookies JSON array — exported from a browser extension like EditThisCookie or Cookie-Editor. This format gives the best results because the full session is replayed.

Your cookie is stored as a secret and is only used for requests to LinkedIn.

Example input

{
"profileUrls": [
"https://www.linkedin.com/in/williamhgates",
"satyanadella",
"in/reidhoffman"
],
"cookie": "AQEDAT..."
}

Output

Each row in the dataset represents one LinkedIn profile. Fields that could not be extracted are omitted — there are no null values in the output.

Profile fields

FieldTypeExample
namestring"Bill Gates"
headlinestring"Chair, Gates Foundation and Founder, Breakthrough Energy"
locationstring"Seattle, Washington, United States"
summarystringAbout / bio text
profileUrlstring"https://www.linkedin.com/in/williamhgates"
profilePicturestringProfile photo URL
currentTitlestringCurrent job title
allTitlesstring[]All job titles listed on the profile
currentPositionsobject[]Current work positions
pastPositionsobject[]Past work positions
educationobject[]Education history
skillsstring[]Listed skills
languagesobject[]Spoken languages with proficiency
certificationsobject[]Certifications
industryNamestringIndustry
followersCountintegerFollowers count
recentArticlesobject[]Recent posts / articles with title, URL, publish date, likes
extractionSourcestring"voyager-api" or "json-ld" — tells you how this row was sourced
inputUrlstringThe URL/handle you supplied
orderintegerIndex of this result in the input list
scrapedAtstringISO-8601 timestamp

Position sub-fields

company, title, companyUrl, startDate, endDate, location, description

Education sub-fields

school, schoolUrl, degree, fieldOfStudy, startDate, endDate

Example output row

{
"name": "Bill Gates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"location": "Seattle, Washington, United States",
"summary": "Chair of the Gates Foundation. Founder of Breakthrough Energy...",
"profileUrl": "https://www.linkedin.com/in/williamhgates",
"profilePicture": "https://media.licdn.com/dms/image/...",
"currentTitle": "Co-chair",
"allTitles": ["Co-chair", "Founder", "Co-founder"],
"currentPositions": [
{"company": "Gates Foundation", "companyUrl": "https://www.linkedin.com/company/gates-foundation", "startDate": 2000}
],
"education": [
{"school": "Harvard University", "schoolUrl": "https://www.linkedin.com/school/harvard-university/", "startDate": 1973, "endDate": 1975}
],
"followersCount": 40186465,
"extractionSource": "json-ld",
"inputUrl": "williamhgates",
"order": 0,
"scrapedAt": "2026-01-15T12:34:56.789000+00:00"
}

Use cases

  • Lead generation & sales prospecting — enrich LinkedIn URLs with contact context, current role, and recent activity
  • Recruiting — build candidate lists, verify work history, surface skills
  • Talent research — track moves, positions, and career history at scale
  • Competitive intelligence — monitor key people at target companies
  • CRM enrichment — append profile data to existing contact records
  • Academic / market research — analyze career trajectories and industry trends

FAQ

Do I need a LinkedIn cookie? No. Public and influencer profiles work without a cookie. For regular (non-public) profiles you'll need to provide your li_at session cookie.

Which profiles can I scrape without a cookie? Any profile with an og:description / JSON-LD public preview — typically influencer / creator / celebrity profiles (Bill Gates, Satya Nadella, Reid Hoffman, etc.). Most regular profiles require a cookie.

What's the difference between the plain li_at and the full cookies JSON? Both work. The plain li_at is simpler to grab. The full cookies array (exported via an extension) replays the full session — JSESSIONID, bcookie, etc. — and tends to be more reliable for authenticated API calls.

Will my cookie get banned? The actor uses normal request patterns with delays between profiles and rotates proxy sessions. As with any LinkedIn automation, using a throwaway account is safer than a primary account.

What if a profile is private / not accessible? The actor will fall back through multiple extraction strategies (Voyager API → JSON-LD → meta tags). If none work, the profile is logged as failed and the run continues with the rest of your input.

Can I get email addresses or phone numbers? No. LinkedIn does not expose contact info on public profile pages and this actor only extracts data that is visible on the profile page.

How many profiles can I scrape per run? There is no hard limit. For large runs, the actor adds a randomized delay between profiles and rotates the proxy every few profiles to stay below LinkedIn's rate limits.

Does this scraper work in every country? Yes. The actor uses a US proxy by default when available; you can configure a different region via Apify Proxy settings.

Why are some fields missing from my output row? Fields that could not be extracted are omitted entirely rather than returned as null. This keeps the dataset clean — if a profile has no certifications, the certifications field simply won't appear on that row.

Limitations

  • Contact info is never returned — email, phone, and private messages are never exposed by LinkedIn on the profile page
  • Cookie accounts have soft quotas — LinkedIn may temporarily limit very high-volume scraping. Use a throwaway account for large runs.
  • Private profiles require authentication — profiles that are not public and not connected to your account will only return the data visible on the auth-wall (typically name and headline)
  • Recent articles depend on what LinkedIn exposes on the profile — not every profile has posts