LinkedIn Profile Posts Scraper
Pricing
from $1.12 / 1,000 posts
LinkedIn Profile Posts Scraper
Scrape the latest LinkedIn posts and articles of any person, no login or cookies: post text, date, likes, link and image, plus the author's headline and follower count. Filter by date and likes, or get only new posts on a schedule. Export data, run via API or use with AI tools.
Pricing
from $1.12 / 1,000 posts
Rating
5.0
(1)
Developer
BlueskyScraper
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
LinkedIn Profile Posts Scraper collects the latest LinkedIn posts and articles of any person, without a login, cookies or an API key: post text, publish date, likes and reactions, comments count, image, link card, mentions and hashtags, quote-shares and reposts, article headlines, and the author's headline and follower count. Filter by date and likes, or schedule it with Only posts not delivered before to get each new post once. $1.6 per 1,000 posts.
What is LinkedIn Profile Posts Scraper?
A LinkedIn user posts scraper and profile-posts API for creator research, ghostwriters, sales teams who follow their prospects, and AI content pipelines. Paste profile URLs or slugs (justinwelsh, williamhgates) and get one row per post or article, ready for Excel, CSV, JSON or the API. No official LinkedIn API access is needed and your own LinkedIn account is never used.
What data can LinkedIn Profile Posts Scraper extract?
| Field | Example |
|---|---|
sourceName | Justin Welsh |
postType | post or article |
publishedAt | 2026-10-02T11:48:22.675Z |
text | Most people start building a reputation when they need something… |
headline | Before you make the deal. (articles) |
likes | 518 |
imageUrl / images | image or article cover |
postUrl | https://www.linkedin.com/posts/justinwelsh_… or /pulse/… for articles |
activityId | stable key to dedupe posts |
commentsCount / reactionsCount / topReactionTypes | 31 / 926 / LIKE, PRAISE, EMPATHY |
videoThumbnail | the video cover (people's posts show no video file to logged-out visitors) |
documentTitle / documentUrl / documentPageCount | an attached document or carousel |
articleTitle / articleUrl / articleSubtitle | the shared link card |
hashtags / mentions / links | hashtags; tagged people and companies (name, URL, type); other links |
authorHeadline / authorImageUrl | the author's headline (people) and photo or logo |
isRepost / repostedAt / repostedBy / originalActivityId | reposts of other people's posts (switch off with 🔁 Include reposts) |
quotedPost | the post a quote-share comments on: author, text |
topComments | the top ~8–10 comments shown to logged-out visitors: author, text, date, likes, link (with 💬 Add top comments or for single post URLs) |
sourceHeadline | the person's headline |
sourceFollowers | the person's followers |
authorName, authorUrl, sourceUrl, sourceType, scrapedAt | — |
Since 5 October 2026 posts are read from the profile's visible Activity cards as well as the page's search-engine data: comment counts are filled, and quote-shares and reposts — which the search-engine data leaves out — are returned, so the newest item matches what a visitor sees (Satya Nadella: newest 30 Sep instead of 25 Sep). Every post row has every field (null or [] when not shown). A person with fewer posts than Maximum posts per page adds one free notice row.
💰 How much does it cost to scrape LinkedIn profile posts?
| Row | Price |
|---|---|
| Post (a post or an article) | $0.0016 — $1.6 per 1,000 |
No start fee, proxies included. Posts removed by your filters, posts already delivered (with Only posts not delivered before), hidden and non-existent profiles are free. Apify's free plan ($5 of monthly credit) covers about 3,000 posts a month. Paid Apify plans get tiered discounts automatically.
How to scrape a LinkedIn user's posts
- Click Try for free.
- Paste profile URLs or slugs into 👤 LinkedIn profiles, or link a Google Sheet / CSV in 📄 URLs from a file or sheet.
- Optional: switch off 📝 Include articles, set 📅 Only posts published after, 👍 Minimum likes or 🔔 Only posts not delivered before.
- Click Start, or save it as a task and schedule it.
⬇️ Input
{"profileUrls": ["https://www.linkedin.com/in/justinwelsh","https://www.linkedin.com/in/williamhgates"],"includeArticles": true,"postedAfter": "2026-09-01"}
⬆️ Output
{"type": "post","postType": "post","sourceName": "Bill Gates","sourceType": "person","publishedAt": "2026-10-01T21:57:52.849Z","text": "The Global Fund has helped save 72 million lives since 2002. What an achievement…","likes": 889,"postUrl": "https://www.linkedin.com/posts/williamhgates_results-report-2026-activity-7511544945862926336-2Ger","activityId": "7511544945862926336","sourceHeadline": "Chair, Gates Foundation and Founder, Breakthrough Energy","sourceFollowers": 40696787}
One row per post or article, newest first within each person.
What LinkedIn shows without a login
A logged-out visitor sees a person's most recent posts, quote-shares and reposts — usually 5 to 10 — plus up to 10 articles for people who write them. Some people show no posts at all. Reposts come as rows with isRepost: true (switch 🔁 Include reposts off to skip them, free); likes and comments the person merely gave are never returned. There is no paging back to older posts without an account, so for a full history from today on schedule the Actor daily with 🔔 Only posts not delivered before.
About 1 in 5 profiles is hidden from logged-out visitors on the first route; those get one more try through an unblocking route paid only from your run's own margin, and the rest come back as free error rows.
Use cases for LinkedIn profile posts
Creator and thought-leader research
See what top voices in your niche post, how often, and what gets likes.
Ghostwriting and content strategy
Collect a client's or a role model's recent posts as examples and inputs for AI drafting.
Sales signals
Follow prospects' posts on a schedule and reach out when they announce something.
AI pipelines
Feed new posts to an LLM for summaries or classification through the API or the MCP server.
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).
Integrations and API
Use LinkedIn Profile Posts 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 ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("blueskyscraper/linkedin-profile-posts-scraper").call(run_input={"profileUrls": ["https://www.linkedin.com/in/justinwelsh", "https://www.linkedin.com/in/williamhgates"]})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-profile-posts-scraper').call({"profileUrls": ["https://www.linkedin.com/in/justinwelsh", "https://www.linkedin.com/in/williamhgates"]});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
Is it legal to scrape LinkedIn?
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 posts of a company page?
Yes — paste the company URL here, or use LinkedIn Company Posts Scraper.
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.
Why did a profile return no posts?
The person has not posted recently, or LinkedIn does not show their activity to logged-out visitors. A free notice row says how many posts LinkedIn showed. Nothing is billed for it.
Your feedback
Something missing or wrong? Open an issue on the Issues tab — we read every one.
You might also like
| Actor | What it does |
|---|---|
| LinkedIn Scraper | Profiles, work e-mails, company pages and latest posts in one Actor |
| LinkedIn Profile Details Scraper | Full public profiles from a list of profile URLs |
| LinkedIn Profile Email Finder | Work e-mail for each profile, with layout evidence and confidence |
| LinkedIn Company Details Scraper | Company pages: website, industry, size, followers, address |
| LinkedIn Company Posts Scraper | Latest posts of company pages with likes and comments |