LinkedIn Post Comments Scraper โ NO COOKIES
Pricing
from $4.80 / 1,000 comment scrapeds
LinkedIn Post Comments Scraper โ NO COOKIES
Extract every comment and reply from any LinkedIn post: comment text, author name, headline, profile URL, reaction breakdown, and timestamps. Opt into nested replies, batch up to 1,000 posts per run, and pay only for the comments extracted. No LinkedIn account or cookies needed.
Pricing
from $4.80 / 1,000 comment scrapeds
Rating
5.0
(1)
Developer
Atomus APIs
Maintained by CommunityActor stats
2
Bookmarked
4
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
LinkedIn Post Comments & Replies Scraper
A LinkedIn comments scraper that extracts every comment on a LinkedIn post: commenter name, headline, profile URL, comment text, a per-comment reaction breakdown, timestamps, and reply counts. Optionally fetch the nested replies under each comment too. Paste a post URL and the Actor auto-paginates through the full public comment thread. No LinkedIn account, login, or cookies required.
Batch up to 1,000 posts in a single run, opt into nested replies, or use metadata-only mode to pre-filter posts by comment count before you pay. You only pay for what is extracted.
๐ก More LinkedIn tools by Atomus: https://apify.com/atomus
What does this LinkedIn Comments Scraper do?
Paste one or more LinkedIn post URLs and it returns one structured JSON record per comment, with optional nested replies, ready for sentiment analysis, lead discovery, or an AI agent.
| Feature | Description |
|---|---|
| ๐ Auto-pagination | One run extracts every top-level comment on the post. No manual page management. |
| ๐ฌ Nested replies (opt-in) | Turn on includeReplies to also fetch the replies under each comment, nested in the output. Off by default because replies add API calls (and cost). |
| ๐ฆ Batch processing | Scrape up to 1,000 posts in a single run. |
| ๐ Reaction breakdown | Per-comment engagement: total reactions plus a breakdown by type (like, appreciation, empathy, interest, praise). |
| ๐ข Metadata-only mode | Just need the comment count per post? metadataOnly returns the totals without scraping the comments, so you can pre-filter a large list cheaply. |
| ๐ Pinned & edited flags | Know which comments are pinned or edited. |
| โ๏ธ Author detection | Identifies when the post author replies to a comment. |
| ๐ Sorting options | Sort by most relevant or most recent. |
| ๐ All URL formats | Paste any LinkedIn post link, even with tracking parameters. |
| ๐ No cookies needed | No risk of account restrictions or bans. |
How do I scrape comments from a LinkedIn post?
- Open the Actor and paste one or more LinkedIn post URLs (or raw activity IDs) into
postUrls. - (Optional) Turn on
includeRepliesto also pull the nested replies, setsortBytodatefor newest-first, or cap withmaxComments. - Click Start. The Actor auto-paginates each post and pushes one record per comment (and reply) to the dataset.
- Read the results. Each item is a structured comment; a free summary item per post tells you how many comments and replies were extracted and the estimated cost.
No login, no browser session, no cookies, just post URLs in and structured comment data out.
Input
Basic Usage
Just paste one or more LinkedIn post URLs:
{"postUrls": ["https://www.linkedin.com/posts/satyanadella_no-one-becomes-a-clinician-to-do-paperwork-activity-7302346926123798528-jitu"]}
All Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
postUrls | string[] | โ Yes | (none) | LinkedIn post URLs or activity IDs (up to 1,000) |
maxComments | integer | No | 0 | Max top-level comments per post. 0 = unlimited |
sortBy | string | No | relevance | Sort by relevance or date (most recent) |
includeReplies | boolean | No | false | Also fetch the replies to each comment and nest them in the output. Adds one API call per comment that has replies, so it increases run cost. |
maxRepliesPerComment | integer | No | 0 | Max replies to fetch per comment when includeReplies is on. 0 = all. Ignored when includeReplies is off. |
metadataOnly | boolean | No | false | Return only the comment count per post (no comments scraped). Charges 1 comment per post. Ignores the comment and reply options above. |
Supported URL Formats
All of these work, just paste whatever you have:
โ https://www.linkedin.com/posts/satyanadella_activity-7302346926123798528-jituโ https://www.linkedin.com/feed/update/urn:li:activity:7302346926123798528/โ https://www.linkedin.com/feed/update/urn:li:share:7302346926123798528/โ https://www.linkedin.com/posts/user_slug-activity-123/?utm_source=share&utm_medium=...โ 7302346926123798528
Output
Comment Example
Each top-level comment is one item. The replies array is present only when includeReplies is enabled.
{"comment_type": "comment","text": "This is a great point! Healthcare professionals need better tools to focus on what matters most: patient care.","is_pinned": false,"is_edited": false,"is_author": false,"reply_count": 3,"posted_at": {"timestamp": 1626782941000,"date": "2026-03-20T12:49:01.000Z"},"author": {"id": "ACoAAB8v74YB5oqaAg-4F2VRFh9tEt0zXfRsjpE","name": "John Smith","headline": "Healthcare Professional | Digital Health Advocate","linkedinUrl": "https://www.linkedin.com/in/ACoAAB8v74YB...","profile_pic": "https://media.licdn.com/dms/image/v2/..."},"stats": {"total_reactions": 25,"reactions": {"like": 20,"appreciation": 3,"empathy": 2},"replies": 3},"_metadata": {"comment_id": "7302375502034411520","comment_url": "https://www.linkedin.com/feed/update/...","post_url": "https://www.linkedin.com/posts/satyanadella_...","post_id": "urn:li:activity:7302346926123798528","extracted_at": "2026-03-30T12:00:00.000Z"}}
Nested Replies Example (includeReplies: true)
When includeReplies is on, each comment carries a replies array. Every reply has comment_type: "reply" and links back to its parent via _metadata.parent_comment_id / parent_comment_url:
{"comment_type": "comment","text": "Completely agree, the tooling gap is real.","reply_count": 2,"replies": [{"comment_type": "reply","text": "Exactly. We saw the same thing in our clinics.","is_author": false,"author": {"name": "Maria Lopez","headline": "Clinical Operations Lead"},"_metadata": {"comment_id": "7302400000000000001","parent_comment_id": "7302375502034411520","parent_comment_url": "https://www.linkedin.com/feed/update/...","post_url": "https://www.linkedin.com/posts/satyanadella_...","extracted_at": "2026-03-30T12:00:00.000Z"}}]}
Metadata-only Example (metadataOnly: true)
One clean item per post, just the counts:
{"type": "metadata","post_url": "https://www.linkedin.com/posts/satyanadella_activity-7302346926123798528","total_comments": 1243,"total_pages": 125,"extracted_at": "2026-03-30T12:00:00.000Z"}
Run Summary
After each post, the actor pushes a free summary item (no charge) so you can see what was extracted and the estimated cost:
{"type": "summary","post_url": "https://www.linkedin.com/posts/satyanadella_...","total_comments_on_post": 1243,"comments_extracted": 1243,"replies_extracted": 0,"include_replies": false,"estimated_cost_usd": 5.9664,"free_tier_capped": false,"extracted_at": "2026-03-30T12:00:00.000Z"}
Output Fields Reference
| Field | Type | Description |
|---|---|---|
comment_type | string | "comment" for a top-level comment, "reply" for a nested reply |
text | string | Full text of the comment or reply |
is_pinned | boolean | true if the comment is pinned by the post author |
is_edited | boolean | true if the comment has been edited |
is_author | boolean | true if the commenter is the post author |
reply_count | integer | Number of replies to this comment |
posted_at.timestamp | number | Unix timestamp in milliseconds |
posted_at.date | string | ISO date string |
author.id | string | LinkedIn profile URN |
author.name | string | Commenter's full name |
author.headline | string | Commenter's LinkedIn headline |
author.linkedinUrl | string | Direct link to commenter's profile |
author.profile_pic | string | null | Profile photo URL or null |
stats.total_reactions | integer | Total reactions on this comment |
stats.reactions | object | Breakdown by type (like, appreciation, empathy, interest, praise) |
stats.replies | integer | Number of replies (same as reply_count) |
replies | array | Nested replies, present only on top-level comments when includeReplies is on |
_metadata.comment_id | string | Unique comment identifier |
_metadata.comment_url | string | Direct link to the comment on LinkedIn |
_metadata.parent_comment_id | string | (Replies only) the id of the parent comment |
_metadata.parent_comment_url | string | (Replies only) link to the parent comment |
_metadata.post_url | string | The post URL you provided as input |
_metadata.post_id | string | LinkedIn activity URN of the post |
_metadata.extracted_at | string | ISO timestamp of extraction |
How much does it cost to scrape LinkedIn comments?
This Actor uses pay-per-event pricing: $4.80 per 1,000 comments, and the same $4.80 per 1,000 replies when includeReplies is on. You only pay for what is extracted.
| Extracted | Cost |
|---|---|
| 100 comments | $0.48 |
| 1,000 comments | $4.80 |
| 10,000 comments | $48.00 |
A few things worth knowing:
- Replies are billed separately from comments, at the same flat rate, and only when you enable
includeReplies. - Each post charges a minimum of 1 comment, even if it has zero comments, because the API call to fetch them still happens.
metadataOnlycharges 1 comment per post (just the count, no comments scraped).- Summary and error items are free (they are not billed).
Free plan limit
Apify free-plan accounts get 20 extracted items (comments + replies) per month so you can validate the output and inspect every field before paying. The cap resets on the 1st of each month, and any paid Apify plan removes it.
Use it with AI agents and MCP
This Actor is built for AI agents and LLMs via the Apify MCP server. Each comment is a flat, predictable JSON record, ideal for sentiment analysis, summarization, or lead extraction.
Key fields for agents:
text: the comment content for sentiment analysis or summarizationauthor.name+author.headline: who said it and their professional contextauthor.linkedinUrl: the commenter's profile for lead follow-upstats.total_reactions: how much engagement the comment receivedis_author: identifies replies from the post authorreply_count/replies: conversation depth and the nested reply thread whenincludeRepliesis on
Example agent prompts:
"Get all comments from this LinkedIn post and summarize the main themes and sentiment."
"Find the most engaged comments (highest reaction count) on this post and extract the commenters' profiles."
"Analyze comments on competitor posts to identify common customer pain points."
Use Cases
- ๐ฌ Sentiment analysis: understand how people feel about a topic or announcement.
- ๐ Lead discovery: find engaged professionals commenting on industry content.
- ๐ Content research: analyze what questions and discussions posts generate.
- ๐ Competitor intelligence: monitor comments on competitor posts for insights.
- ๐ฅ Community management: track comment engagement and identify active members.
- ๐ Engagement benchmarking: compare comment volume and quality across posts (use
metadataOnlyfor fast, cheap counts).
LinkedIn Comments Scraper vs cookie-based tools vs the official LinkedIn API
| This LinkedIn Comments Scraper | Cookie-based scrapers | Official LinkedIn API | |
|---|---|---|---|
| LinkedIn account / cookies | Not needed | Your logged-in cookies required | OAuth app + LinkedIn approval |
| Account / ban risk | None (no account used) | High (your account can be restricted) | None |
| Setup | Paste a post URL | Extract and paste your session cookie | Partner application + review |
| Nested replies | Yes (opt-in) | Varies | No public comment endpoint |
| Reaction breakdown | Yes, per comment | Rarely | No |
| Bulk | Up to 1,000 posts per run | Rate-limited by your account | No public comment endpoint |
| Pricing | $4.80 per 1,000 comments | Subscription + your account | Not available publicly |
LinkedIn exposes roughly the first ~1,200 comments per post publicly; for the vast majority of posts that is the entire thread, and the cookieless approach returns it with zero account risk.
Other LinkedIn scrapers by Atomus
| Actor | What it does |
|---|---|
| LinkedIn Post Reactions Scraper Pro | Extract every reactor on a LinkedIn post (name, headline, profile URL, reaction type). |
| LinkedIn Posts Scraper | Scrape posts, text, media, and engagement counts from any LinkedIn profile or company. |
| LinkedIn Profile Scraper | Enrich LinkedIn profile URLs into full structured profiles: experience, education, skills, and more. |
See all tools at apify.com/atomus.
FAQ
What is a LinkedIn comments scraper?
A LinkedIn comments scraper extracts the comments on a public LinkedIn post into structured data, commenter name, headline, profile URL, comment text, reaction breakdown, timestamps, and reply counts, without a LinkedIn account, login, or cookies. This Actor takes a post URL and returns one clean JSON record per comment, with optional nested replies.
How do I scrape comments from a LinkedIn post without an account?
Paste the post URL (or up to 1,000 URLs) into postUrls and run the Actor. It auto-paginates the public comment thread through a cookieless data source, so you never connect a LinkedIn account, paste a session cookie, or risk a ban.
Can I get the replies under each comment?
Yes. Turn on includeReplies and each comment carries a nested replies array, with every reply linked to its parent. Replies are off by default because they add API calls (and cost); use maxRepliesPerComment to cap how many you fetch per comment.
How much does it cost?
$4.80 per 1,000 comments, and the same $4.80 per 1,000 replies when includeReplies is on. You pay only for what's extracted; summary and error items are free. Free Apify plans include 20 extracted items per month so you can test before paying.
What is metadata-only mode for?
metadataOnly: true returns just the comment count per post (no comments scraped), charging 1 comment per post. Use it to pre-filter a large list of posts, find the ones with the most discussion, then scrape only those.
Is there an official LinkedIn API for post comments?
LinkedIn's official APIs are partner-gated and do not expose a public endpoint for reading arbitrary post comments. For extracting comments from public posts, a cookieless scraper like this one is the practical path.
Is it legal to scrape LinkedIn comments?
This Actor reads publicly available comment data through a third-party data source. You are responsible for using the output in line with applicable laws (GDPR/CCPA), LinkedIn's terms, and your own compliance requirements. It is an independent tool, not affiliated with LinkedIn.
How many comments can it extract per post?
LinkedIn exposes roughly the first ~1,200 comments per post publicly; for the vast majority of posts that is the full thread. Beyond that, the remaining comments are not available without a logged-in session, which this cookieless Actor intentionally does not use.
โ ๏ธ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedInยฎ is a registered trademark of LinkedIn Corporation. All trademarks are property of their respective owners.