LinkedIn Scraper avatar

LinkedIn Scraper

Pricing

from $2.72 / 1,000 profiles

Go to Apify Store
LinkedIn Scraper

LinkedIn Scraper

Scrape LinkedIn without login or cookies: full profiles with experience, education and skills, optional work e-mail, company pages with industry, size and followers, and the latest posts of companies and people. Export data, run via API, schedule runs or plug into AI workflows.

Pricing

from $2.72 / 1,000 profiles

Rating

5.0

(3)

Developer

BlueskyScraper

BlueskyScraper

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

7

Monthly active users

3 days ago

Last modified

Share

LinkedIn Scraper extracts LinkedIn data without a login, cookies or an API key: public profiles (headline, current company, location, about, education, followers), the person's work e-mail on request, company pages (website, industry, size, employees, followers, address) and the latest posts of companies and people. One Actor, three modes, pay only for rows with data — from $1.6 per 1,000 posts and $3.2 per 1,000 profiles.

What is LinkedIn Scraper?

A LinkedIn scraper and LinkedIn data API for lead generation, recruiting, market research and AI agents. Paste LinkedIn URLs or slugs, pick a mode, and get a clean table you can export to Excel, CSV or JSON, or read from Python and JavaScript. No official LinkedIn API access is needed and your own LinkedIn account is never used, so it cannot be restricted.

  • 👤 Profiles — the public profile of each person as LinkedIn shows it to logged-out visitors, optionally with a work e-mail found from the company's website.
  • 🏢 Companies — the company page with website, industry, size band, employees on LinkedIn, followers, headquarters, founded year, specialties and office locations.
  • 📰 Posts — the newest posts and reposts LinkedIn shows on company and personal pages, with likes, reactions, comments count, images, video, documents, link cards, mentions and hashtags; or single posts by URL with their top ~8–10 visible comments.

What data can LinkedIn Scraper extract?

ModeFields
👤 ProfilesfullName, headline, company, companyLinkedinUrl, location, country, about, followers, connections, education, recommendations, certifications, languages, volunteering, publications, honorsAndAwards, website, imageUrl, similarProfiles ("Other similar profiles"), and title, experience, skills when LinkedIn shows them
📧 Work e-mail (option)email, emailGuess, confidence, emailStatus, emailDomainStatus, domain, domainEvidence, emailPattern, alternatives, emailProvider, summary
🏢 Companiesname, website, tagline, description, industry, companySize, employeesOnLinkedIn, followers, headquarters, street address, founded, companyType, specialties, locations, similarCompanies, affiliatedPages, companyId, coverImageUrl, jobsUrl, logoUrl, latestPosts
📰 PostspostType, text, headline (articles), publishedAt, likes, comments / commentsCount, reactionsCount, topReactionTypes, images, videoUrl, documentTitle, articleTitle / articleUrl, hashtags, mentions, links, authorHeadline, isRepost / repostedAt / repostedBy, quotedPost, postUrl, activityId, sourceName, sourceType, sourceHeadline, sourceFollowers, topComments (top ~8–10 visible comments — single post URLs, or with Add top comments); a free notice row when a page shows fewer posts than asked

💰 How much does it cost to scrape LinkedIn?

Pay per row with data, no start fee, proxies included:

RowPrice
Profile$0.0032 — $3.2 per 1,000
Profile with e-mail (only when email is filled — confidence at or above your minimum, default medium)$0.008 — $8 per 1,000
Company$0.0032 — $3.2 per 1,000
Post (posts and articles)$0.0016 — $1.6 per 1,000

A profile row is billed either as Profile or as Profile with e-mail, never both. Error rows, hidden profiles and posts removed by your filters are free. Apify's free plan ($5 of monthly credit) covers about 1,500 profiles, 1,500 companies or 3,000 posts a month. Paid Apify plans get tiered discounts automatically.

How to scrape LinkedIn with LinkedIn Scraper

  1. Click Try for free and open the Input tab.
  2. Choose What to get: Profiles, Companies or Posts.
  3. Paste LinkedIn profile URLs into 👤 LinkedIn profiles and / or company URLs into 🏢 LinkedIn companies — or link a Google Sheet in 📄 URLs from a file or sheet.
  4. For profiles, switch on 📧 Find the work e-mail if you need addresses.
  5. Click Start, then export the table as Excel, CSV or JSON, or read it through the API.

⬇️ Input

Profiles with work e-mail

{
"mode": "profiles",
"profileUrls": ["https://www.linkedin.com/in/kippbodnar", "wadefoster"],
"findEmail": true
}

Company pages

{
"mode": "companies",
"companyUrls": ["https://www.linkedin.com/company/stripe", "canva"]
}

Latest posts of companies and people

{
"mode": "posts",
"companyUrls": ["hubspot"],
"profileUrls": ["justinwelsh"],
"postedAfter": "2026-09-01"
}

In Profiles mode the 🏢 field is ignored and in Companies mode the 👤 field is ignored, so both can stay filled; Posts reads both.

Single posts and their top comments

Paste links to single posts — https://www.linkedin.com/posts/… or https://www.linkedin.com/feed/update/urn:li:activity:… — into 💬 Single post URLs. Each gives one post row (billed as one post) with every post field plus topComments: the top ~8–10 comments a logged-out visitor sees, not all (a post with 129 comments shows 8), with author, text, date and likes. Measured on 12 posts (5 October 2026): 8–10 comments on every post, each with author URL, date and likes.

{
"postUrls": ["https://www.linkedin.com/posts/satyanadella_at-linkedin-every-day-we-talk-to-recruiters-activity-7510854041028108288-1zhY"],
"includeComments": true
}

includeComments adds the same top comments to posts found on the pages you list (off by default: topComments is then null).

⬆️ Output

Profile

{
"type": "profile",
"fullName": "Kipp Bodnar",
"headline": "HubSpot",
"company": "HubSpot",
"companyLinkedinUrl": "https://www.linkedin.com/company/hubspot",
"location": "Boston, Massachusetts, United States",
"followers": 35317,
"connections": "500+",
"email": null,
"emailGuess": "kipp.bodnar@hubspot.com",
"confidence": "low",
"emailStatus": "unverified-guess",
"emailDomainStatus": "accepts-mail",
"domain": "hubspot.com",
"emailPattern": "first.last",
"linkedinUrl": "https://www.linkedin.com/in/kippbodnar"
}

Company

{
"type": "company",
"name": "Stripe",
"website": "https://stripe.com",
"industry": "Technology, Information and Internet",
"companySize": "5,001-10,000 employees",
"employeesOnLinkedIn": 16622,
"followers": 1746336,
"headquarters": "South San Francisco, California",
"founded": 2010
}

Post

{
"type": "post",
"postType": "post",
"sourceName": "Stripe",
"publishedAt": "2026-09-30T16:10:57.761Z",
"text": "We're welcoming Parafin to Stripe…",
"likes": 926,
"comments": 31,
"postUrl": "https://www.linkedin.com/posts/stripe_were-welcoming-parafin-to-stripe-together-activity-7511095253190246400-rDs4"
}

How often each profile field is filled

LinkedIn shows logged-out visitors a shorter profile than members see. Measured on 55 mixed profiles (3 October 2026):

Filled inProfile fields
Every profilefullName, headline (as in the page title — for 7 in 10 people that is their current company), location, country, followers, connections, imageUrl, linkedinUrl
Most profilescompany and companyLinkedinUrl (9 in 10), about (3 in 4), recommendations (7 in 10), education (6 in 10), website (5 in 10)
Some profilescertifications, honorsAndAwards, languages, volunteering, publications (1 in 4 to 1 in 3)
Few profilesjob title and full experience with titles and dates (about 1 in 5 — LinkedIn masks past employers for logged-out visitors), skills (about 1 in 8)

Added 5 October 2026 (checked on 7 public profiles): every role in the Experience section, including each role inside a company group (one long career went from 11 to 24 roles), with companyLogo and location; every school in the Education section with degree and fieldOfStudy (schools without dates used to be missing); city, region, countryCode; coverImageUrl, memberId, profileUrn; languageProficiencies, courses, projects, testScores, coursesTaught when the profile shows those sections. The exact connection count, Featured, interests and open-to-work / hiring flags are not shown to logged-out visitors, so they are not returned.

Added 5 October 2026 (round 2): similarProfiles — the "Other similar profiles" side rail of the public profile (LinkedIn's "People also viewed" as logged-out visitors see it): name, headline as the card shows it (usually the current company), location, followers, profile URL and photo of each person, 9–20 per profile (10 of 11 checked profiles show it). sameNameProfiles — "Others named …", when LinkedIn shows that rail (1 of 11). Same page, no extra request or charge.

An empty field means LinkedIn did not show it, not that the run failed.

Each mode writes one kind of row, so the table stays clean; the Output tab has a view per kind and one for error rows.

What LinkedIn shows without a login

This Actor reads the public pages LinkedIn serves to logged-out visitors and search engines — no account, no cookies, nothing that could get an account banned. That decides what is possible:

  • Hidden profiles. Some people hide their profile from logged-out visitors; LinkedIn then answers with a login wall or HTTP 999 for that profile from every address. On mixed lists about 1 in 4 or 5 profiles is refused on the first route. Those get one more try through an unblocking route, paid only from your run's own margin (never from a subsidy that would have to be priced in). Whatever still stays hidden comes back as a free error row saying so.
  • Recent posts only. A logged-out visitor sees a company's ~10 newest posts (median 9 on a 20-company check, 2 of 20 showed none) and a person's ~5–10 newest posts, quote-shares and reposts plus up to 10 articles. A page with fewer posts than you asked for adds one free notice row saying how many LinkedIn showed. There is no paging back to older posts without a login — use the Only posts not delivered before switch on a daily schedule to build a full history from now on.
  • Shortened surnames. A few profiles show the surname as an initial ("Diego C.") to logged-out visitors; the row says so.
  • No private data. Phone numbers, connections lists and contact info behind the login are not read.

Pages that do not exist (HTTP 404) are free error rows too. A run in which LinkedIn refuses everything ends with error rows and no charge.

How the work e-mail is found

For each profile with a current company the Actor finds the company's own website (from its LinkedIn page, the domain spelling the company name, or the site carrying the company's name — never a guess it cannot back), reads a few pages of that site to learn how the company writes its addresses (first.last, flast, first…), builds the person's address in that layout and checks that the domain accepts mail (MX record). confidence and emailStatus say how sure it is: confirmed / found-on-website (published on the site), high / medium / pattern-confirmed (layout seen on the site), low / unverified-guess (the most common layout, nothing confirms it). Addresses are not sent test e-mails and no mailbox (SMTP) check is made, so nothing is labelled "deliverable"; the domain's DNS verdict is in emailDomainStatus. Only an address at or above Minimum e-mail confidence (default medium) goes into email and gets the Profile with e-mail price; a weaker guess is kept in emailGuess and the row stays Profile.

Use cases for LinkedIn data

Lead generation and sales prospecting

Turn a list of LinkedIn profiles into a CRM-ready sheet with job titles, companies and work e-mails.

Recruiting and talent research

Read current company, location, about, education and certifications of candidates in bulk.

Account research and market mapping

Pull company size, industry, headquarters and employee counts for a list of accounts.

Social listening and content research

Track what companies and creators post, which posts get likes and comments, and when.

AI and RAG pipelines

Feed clean, structured LinkedIn data to an AI agent through the API or the MCP server.

Integrations and API

Use LinkedIn Scraper like any Apify Actor:

  • API: start a run and read the dataset over HTTP — see the API tab for ready-made calls.
  • Python:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("blueskyscraper/linkedin-scraper").call(run_input={"mode": "profiles", "profileUrls": ["https://www.linkedin.com/in/satyanadella", "https://www.linkedin.com/in/jeffweiner08"]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
  • JavaScript:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('blueskyscraper/linkedin-scraper').call({"mode": "profiles", "profileUrls": ["https://www.linkedin.com/in/satyanadella", "https://www.linkedin.com/in/jeffweiner08"]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
  • No-code: Make, Zapier, n8n, Google Sheets, Airtable, Slack and webhooks through Apify integrations — send every finished run's rows wherever your team works.
  • AI agents (MCP): add the Actor to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com) and ask for LinkedIn data in plain words.
  • Schedules: run it every day or week from the Schedules page; combine with Maximum results per run to cap the bill.

❓ FAQ

The Actor reads only pages that LinkedIn shows to anyone without an account. Scraping public data is generally lawful, but names, job titles and e-mails are personal data under laws such as the GDPR and CCPA: have a lawful reason to process them, keep them safe, and honour opt-outs. When in doubt, ask a lawyer.

Do I need a LinkedIn account, cookies or a proxy?

No. Nothing to log in to, no cookies to paste, no proxy to set up — your own LinkedIn account is never touched, so it cannot be restricted. Proxies are included in the price.

Can I use it with the Apify API?

Yes — every run can be started and read over the Apify API, from Python, JavaScript or any HTTP client. See Integrations and API above.

Can I use it through an MCP server?

Yes. Add it to the Apify MCP server (https://mcp.apify.com) and your AI assistant can call it directly.

Can I integrate it with other apps?

Yes: Make, Zapier, n8n, Google Sheets, Airtable, Slack and webhooks through Apify integrations.

Why did some pages come back as error rows?

Either the page does not exist (404), or LinkedIn hides it from logged-out visitors. Both are free — you pay only for rows with data. The error field says which.

Do I pay for errors, filtered-out posts or the start of a run?

No. There is no start fee; error rows and posts removed by your filters are never billed. Maximum results per run and Apify's Max cost per run are hard ceilings — when the cost limit is reached, the run stops by itself with everything written already paid for.

Can I get the comments' text?

Yes — the top ~8–10 comments a logged-out visitor sees, in topComments (author name, profile URL, photo, text, images, date, likes, comment link). LinkedIn does not show logged-out visitors all comments of a post, nor replies: commentsCount gives the full number, topComments only what is visible. Paste post links into 💬 Single post URLs (comments always included), or switch on 💬 Add top comments to posts from pages to add them to the posts found on pages — one extra page request per post, so the run is slower; no extra charge. Per-type reaction counts and repost counts need a login.

Which mode should I use for the latest posts of a person?

Posts — paste the profile URL into 👤 LinkedIn profiles. In Profiles mode you can also switch on Add the person's latest posts to get them inside the profile row for free.

Your feedback

Something missing or wrong? Open an issue on the Issues tab — we read every one and usually fix within days.

You might also like

ActorWhat it does
LinkedIn Profile Details ScraperFull public profiles from a list of profile URLs
LinkedIn Profile Email FinderWork e-mail for each profile, with layout evidence and confidence
LinkedIn Company Details ScraperCompany pages: website, industry, size, followers, address
LinkedIn Company Posts ScraperLatest posts of company pages with likes and comments
LinkedIn Profile Posts ScraperLatest posts and articles of people