LinkedIn Public Pages Scraper avatar

LinkedIn Public Pages Scraper

Pricing

Pay per usage

Go to Apify Store
LinkedIn Public Pages Scraper

LinkedIn Public Pages Scraper

Scrape public LinkedIn profiles, companies, jobs, and articles without any API. Built with httpx + parsel and powered by Apify Residential Proxy for reliable, scalable data extraction.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Jamshaid Arif

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

LinkedIn Public Pages Scraper — Apify Actor

Scrapes public LinkedIn data — profiles, company pages, job listings, job search results, and articles — without any third-party scraping API. Uses Apify Proxy (RESIDENTIAL group) for IP rotation

Modes

ModeInputWhat you get
profileList of linkedin.com/in/<handle>/ URLsJSON-LD Person schema + public posts
companyList of linkedin.com/company/<slug>/ URLsOrganization microdata + "About us" fields + leaders/affiliated pages (fetches the /life sub-page automatically)
jobList of linkedin.com/jobs/view/<id> URLsJSON-LD JobPosting schema + description bullets
articleList of linkedin.com/pulse/<slug> URLsJSON-LD Article schema + full article body
jobSearchsearchKeyword + searchLocation + maxSearchPagesPaginated list of jobs (25 per page)

Input example

{
"mode": "profile",
"startUrls": [
{ "url": "https://www.linkedin.com/in/williamhgates/" },
{ "url": "https://www.linkedin.com/in/satyanadella/" }
],
"maxConcurrency": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
{
"mode": "jobSearch",
"searchKeyword": "python developer",
"searchLocation": "San Francisco, CA",
"maxSearchPages": 4,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Each scraped item is pushed to the actor's default dataset with the shape:

{
"mode": "profile",
"url": "https://www.linkedin.com/in/williamhgates/",
"data": {
"profile": { "@type": "Person", "name": "Bill Gates", "...": "..." },
"posts": [ ... ]
}
}

Failed fetches land in the same dataset with error: "fetch_failed" and data: null so you can audit coverage and re-run only the failures.

Proxy — important

LinkedIn aggressively blocks datacenter IPs and will return HTTP 999 ("please log in") on the first few requests from a fresh IP. Set apifyProxyGroups: ["RESIDENTIAL"] — this costs more than the default proxy group but is effectively required. Without it, expect empty results.

If you still see blocks with RESIDENTIAL, try:

  • Lower maxConcurrency to 1 or 2.
  • Slower is better — LinkedIn tracks velocity per IP.
  • Split your URL list into smaller runs spread across hours.