LinkedIn Post Scraper - No Login, Comments & Reactions
Pricing
$5.00 / 1,000 linkedin post scrapeds
LinkedIn Post Scraper - No Login, Comments & Reactions
Scrape public LinkedIn posts by URL or profile: text, reactions, comment threads and author details. Flat $0.005 per post, no extra charge per reaction or comment like other scrapers. No login or cookies required.
Pricing
$5.00 / 1,000 linkedin post scrapeds
Rating
0.0
(0)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
30
Total users
4
Monthly active users
19 hours ago
Last modified
Categories
Share
Why use this scraper
Sales teams, recruiters and brand managers all need to know what is happening on LinkedIn right now: what a prospect just posted, how a competitor's announcement is landing in the comments, or whether a campaign post is actually getting engagement. LinkedIn does not offer an API for any of this, and copying post text, reaction counts and comment threads by hand does not scale past a handful of profiles.
This actor turns any public LinkedIn post URL, or any public profile, into structured data: the full post text, the exact reaction and comment counts, the top comments with their authors, and the author's own name, profile URL and follower count. No LinkedIn account, login or cookie is needed at any point, so there is no session to keep alive and no account to get flagged.
Overview
Feed the actor either a list of post URLs or a list of profile URLs. For post URLs, each post is scraped directly. For profile URLs, the actor first discovers that profile's most recent public posts, then scrapes each one the same way. Every post comes back as one dataset record with the full text, author details, reaction and comment counts, and (optionally) the top comments on that post.
A single post, with its comments included, typically returns in a few seconds. The actor charges one flat event per post scraped ($0.005), whether that post has 2 comments or 200, which keeps the cost predictable for monitoring dozens of profiles on a schedule.
Supported inputs
| Mode | Field | What it accepts |
|---|---|---|
posts | postUrls | One or more direct post URLs, e.g. https://www.linkedin.com/posts/username_slug-activity-1234567890-abcd. Use this when you already know which posts you want (a competitor's announcement, your own campaign post, a specific viral post). |
profile | profileUrls | One or more public profile URLs, e.g. https://www.linkedin.com/in/username/. The actor discovers and scrapes that person's recent public posts automatically. |
Both modes also accept:
maxPosts(profile mode only): how many recent posts to pull per profile, 1 to 100, default 20.maxComments: how many top comments to include per post, 0 to 50, default 10. Set to 0 to skip comments entirely and only get post stats.maxRetries: retries per request on transient failures, default 3.
Use cases
- Sales intelligence and warm outreach. Monitor the LinkedIn activity of target accounts and decision-makers so a sales rep can reference a prospect's own recent post in an opening line, instead of a generic cold message.
- Competitive content research. Track what a competitor's founders and executives post, and how their audience reacts in the comments, to see which messaging is actually landing before copying it.
- Brand and campaign monitoring. Pull the comment thread under your own company's posts to measure real sentiment and catch complaints early, beyond the reaction count LinkedIn shows on the surface.
- Recruiting and talent sourcing. See what a candidate posts about publicly (projects shipped, conference talks, opinions on their field) as a signal before an outreach message or an interview.
- Market and academic research. Collect a structured sample of posts and their engagement around a topic or a set of public figures, for research that needs consistent fields rather than screenshots.
How it works
LinkedIn renders most public posts with a structured SocialMediaPosting data block in the page itself, meant for search engines to index the post. This actor reads that structured block directly instead of parsing the visible timeline HTML, which LinkedIn's front end changes frequently. Reading the structured data means the actor keeps working across LinkedIn's layout changes that break scrapers built against the visible page, and it needs no logged-in session to do it.
In profile mode, the actor first loads the profile's public activity to collect the URLs of its most recent posts, then runs the same structured-data extraction on each one.
Input configuration
Scrape specific posts:
{"mode": "posts","postUrls": ["https://www.linkedin.com/posts/satyanadella_the-motivation-behind-the-new-copilot-intelligence-activity-7509276499837902849-DFP-"],"maxComments": 10}
Scrape several posts at once, skipping comments to save on review time:
{"mode": "posts","postUrls": ["https://www.linkedin.com/posts/satyanadella_the-motivation-behind-the-new-copilot-intelligence-activity-7509276499837902849-DFP-","https://www.linkedin.com/posts/rafael-coronado-jefe-ti-plataforma-infraestructura-automatizaci%C3%B3n-ia_continuidaddelnegocio-backup-resilienciaoperacional-share-7507819526202368000-5dnK/"],"maxComments": 0}
Scrape a profile's recent posts:
{"mode": "profile","profileUrls": ["https://www.linkedin.com/in/satyanadella/"],"maxPosts": 20,"maxComments": 10}
Output sample
Real records from the dataset, one from posts mode and one from profile mode (comment list trimmed here for length; the actor returns up to maxComments comments per post):
[{"url": "https://www.linkedin.com/posts/satyanadella_the-motivation-behind-the-new-copilot-intelligence-activity-7509276499837902849-DFP-","postId": "7509276499837902849","headline": "The motivation behind the new Copilot: intelligence is accelerating fast.","text": "The motivation behind the new Copilot: intelligence is accelerating fast. Now we need to diffuse it everywhere.","datePublished": "2026-09-25T15:43:53.171Z","authorName": "Satya Nadella","authorUrl": "https://www.linkedin.com/in/satyanadella","authorFollowers": 12187397,"reactions": 614,"commentCount": 56,"shares": null,"postImage": "https://media.licdn.com/dms/image/v2/D5622AQEH-m-2UytgOg/feedshare-shrink_800/...","comments": [{ "text": "How about making it not suck?", "datePublished": "2026-09-26T02:52:24.801Z", "likes": 0 },{ "text": "Maybe the next bottleneck after diffusion is delegation...", "datePublished": "2026-09-25T16:05:49.228Z", "likes": 5 }],"scrapedAt": "2026-09-26T07:19:27.837Z"},{"url": "https://www.linkedin.com/posts/rafael-coronado-jefe-ti-plataforma-infraestructura-automatizaci%C3%B3n-ia_continuidaddelnegocio-backup-resilienciaoperacional-share-7507819526202368000-5dnK/","postId": "7507819527368454144","headline": "Un backup que nunca fue restaurado es solo una promesa","text": "Un backup que nunca fue restaurado es solo una promesa. Muchas organizaciones realizan copias de seguridad diariamente y consideran que su información está protegida...","datePublished": "2026-09-21T15:14:23.848Z","authorName": "Rafael Coronado","authorUrl": "https://pe.linkedin.com/in/rafael-coronado-jefe-ti-plataforma-infraestructura-automatizaci%C3%B3n-ia","authorFollowers": 22,"reactions": 9,"commentCount": 3,"shares": null,"postImage": "https://media.licdn.com/dms/image/v2/D4D22AQEeyo31_HO5vQ/feedshare-image-high-res/...","comments": [{ "text": "Totalmente de acuerdo, Rafael Coronado. Muchas empresas validan que el respaldo exista, pero no que realmente funcione...", "datePublished": "2026-09-21T15:22:14.890Z", "likes": 0 }],"scrapedAt": "2026-09-23T02:54:56.186Z"}]
Key output fields
| Field | Type | Description |
|---|---|---|
url | string | The post URL as given, or discovered in profile mode. |
postId | string | LinkedIn's numeric post/activity ID. |
headline | string | The post's first line, used by LinkedIn as its title. |
text | string | Full post text. |
datePublished | string | ISO timestamp the post was published. |
authorName | string | Name of the person who posted. |
authorUrl | string | Author's public profile URL. |
authorFollowers | integer | Author's follower count at scrape time. |
reactions | integer | Total reaction count on the post. |
commentCount | integer | Total comment count on the post (may exceed the comments returned if maxComments is lower). |
shares | integer or null | Share count, when LinkedIn exposes it. |
postImage | string or null | URL of the image attached to the post, if any. |
comments | array | Up to maxComments top comments, each with text, datePublished and likes (commenter names are not collected). |
scrapedAt | string | ISO timestamp of the scrape. |
Pricing
Pay per event, per post scraped. No separate charge for comments or reactions on that post.
| Event | Price |
|---|---|
Post scraped (text, reactions, comment count, author, up to maxComments comments) | $0.005 |
Minimum charge per run: $0.01.
What makes this richer than the competition
- harvestapi/linkedin-profile-posts (9,672 users in the last 30 days) charges per post and a separate event per reaction and per comment returned. A post with 50 comments and reactions enabled can rack up dozens of billed events on top of the post itself. This actor charges one flat $0.005 per post no matter how many comments or reactions come back with it, which makes the cost of monitoring active posts predictable.
- supreme_coder/linkedin-post (1,498 users in the last 30 days) charges $0.002 per post but returns post-level stats without the bundled comment thread and author follower count that come standard here.
- Both modes (direct post URLs and profile discovery) are covered by one actor and one price, instead of needing one tool to find a profile's posts and a second tool to scrape each post's comments.
Notes & limitations
- Only public posts are accessible. Posts from private accounts, or posts an author has restricted to their own connections, cannot be scraped.
commentCountreflects LinkedIn's total count on the post; thecommentsarray returns only the top comments LinkedIn renders publicly for that post, up tomaxComments(never the full thread for posts with hundreds of comments).- Profile mode surfaces a profile's most recent public posts, up to
maxPosts(max 100); it does not search a profile's entire historical archive. - If a specific post has been deleted, made private, or LinkedIn has not rendered its structured data for that URL, the record for that post comes back with an
errorand_noticefield instead of post data, rather than being silently dropped. - This actor never asks for, stores or uses your LinkedIn credentials, and does not log in to LinkedIn to do its work.
FAQ
Do I need a LinkedIn account or cookies to use this? No. The actor works entirely from public post and profile URLs and never logs in.
Can it scrape private posts or posts from connections-only accounts? No. Only posts LinkedIn renders publicly are accessible, which matches what any logged-out visitor or search engine can see.
How many comments does it return per post?
Up to maxComments (default 10, max 50), taken from the top comments LinkedIn renders publicly for that post. Set maxComments to 0 if you only need post stats.
Can I scrape a company page's posts instead of a person's profile?
Use profileUrls with the company's public post feed URL in profile mode; the discovery step works the same way for company pages that post publicly.
What happens if a post URL is wrong or the post was deleted?
That record comes back with an error field explaining why (deleted, private, or LinkedIn did not render structured data for it) instead of failing the whole run.
Does the price change if I turn off comments?
No, the per-post price is flat regardless of maxComments; turning comments off only reduces response size and processing time, not cost.
For AI Agents & LLM Apps
This actor is available as an Apify MCP server tool, so an LLM agent can call it directly instead of your code calling the Apify API:
https://mcp.apify.com/?actors=YOUR_USERNAME/linkedin-post-scraper
It also works as a direct synchronous API call that returns the dataset items in the response body, useful for a single tool call from an agent or script:
curl "https://api.apify.com/v2/acts/YOUR_USERNAME~linkedin-post-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "posts", "postUrls": ["https://www.linkedin.com/posts/satyanadella_the-motivation-behind-the-new-copilot-intelligence-activity-7509276499837902849-DFP-"], "maxComments": 5}'
Disclaimer
This actor is an independent tool that extracts publicly available LinkedIn data. It is not affiliated with, endorsed by or sponsored by LinkedIn Corporation. "LinkedIn" is a registered trademark of LinkedIn Corporation. Use it in line with LinkedIn's own terms and any applicable data protection law in your jurisdiction.
SEO Keywords
linkedin post scraper, linkedin scraper no login, scrape linkedin posts, linkedin comments scraper, linkedin reactions scraper, linkedin profile posts api