LinkedIn Post Comments Scraper avatar

LinkedIn Post Comments Scraper

Pricing

from $0.60 / 1,000 comment returneds

Go to Apify Store
LinkedIn Post Comments Scraper

LinkedIn Post Comments Scraper

Extract the public comments on LinkedIn posts: comment text, author name and profile URL, reactions and age. No login, no cookie, no session to keep alive. LinkedIn shows guests up to 10 comments per post. $0.60 per 1,000 comments - the lowest of any LinkedIn post-comments scraper on Apify.

Pricing

from $0.60 / 1,000 comment returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

LinkedIn Post Comments Scraper — public comments API, no login

Give it public LinkedIn post URLs. It returns the comments LinkedIn shows to a logged-out visitor, one row per comment, with the commenter's name, profile URL, reaction count and comment age.

No LinkedIn account. No session cookie. No li_at token to paste. Nothing to keep alive.

Input

postUrls accepts any of these and normalises them to the same post:

  • https://www.linkedin.com/feed/update/urn:li:activity:7302346926123798528/
  • https://www.linkedin.com/posts/satyanadella_...-activity-7302346926123798528-jitu
  • urn:li:activity:7302346926123798528
  • 7302346926123798528

Other options: maxCommentsPerPost, maxRetries (attempts per post on a fresh proxy session and fingerprint, default 4), requestTimeoutSecs, and an optional proxyConfiguration.

Empty input returns exactly one labelled _sample: true row and charges nothing.

Output

FieldNotes
commentIdLinkedIn's numeric comment id from urn:li:comment:(...)
commentTextfull comment text
authorName, authorProfileUrlcommenter and their public profile URL
likeCountreactions on that comment
commentAgeText, approximateCreatedAtLinkedIn only publishes a relative age ("1y", "9mo") to guests; approximateCreatedAt is that age subtracted from fetch time, so it is an approximation, not an exact timestamp
commentUrlpermalink built from the comment URN
postActivityId, postUrl, postAuthorNamethe post the comment belongs to
postReactionCount, postCommentCountLinkedIn's own totals for the post
transport, retrievedAtprovenance

Measured field coverage

Across 28 real comment rows pulled from 20 public posts on 2026-08-10, every one of the fields above was filled on 100% of rows. There is no column that is empty on every row.

Honest limits — read this before you buy

LinkedIn's logged-out view caps comments at 10 per post. "See more comments" points at the signup wall. Measured directly: a post with 762 comments and a post with 16 comments both returned exactly 10, on 8/8 fetches each, across three browser fingerprints and eight proxy sessions. ?sortBy=RECENT, ?numComments=100, ?commentsPage=2 and the /embed/ view were all tested and all return the same 10 (the embed view returns none).

Not every post exposes comments to guests. Of 20 arbitrary public posts, 8 returned comments and 12 returned none — and it is a stable property of the post, not luck: one post with 60 comments returned zero on 8 consecutive fetches through 8 different sessions and 3 fingerprints, and its canonical /posts/ URL behaved identically. Those posts produce an uncharged NO_RESULTS diagnostic row. You are not billed for them.

Only top-level comments. Replies are not rendered to guests.

If you need every comment on a post, or replies, you need a tool that logs in. This one does not pretend to.

What it does not do

  • No login, no cookie injection, no account rental — so no full comment lists and no replies.
  • No reactions/likers list, no profile enrichment, no email finding.
  • No private or connection-only posts. Those come back as an uncharged diagnostic row.
  • No exact comment timestamps. LinkedIn does not give guests one.
  • No residential proxy. It runs on Apify datacenter addresses with a fresh session per attempt.

Billing

$0.60 per 1,000 comments ($0.0006 each), plus $0.001 each time a run starts — the lowest per-comment price of any LinkedIn post-comments scraper on the Apify Store with an active user base; the next cheapest, datadoping/linkedin-post-comments-scraper (60 monthly users), is $1.20 per 1,000 even on its cheapest volume tier.

Pay per event, event name comment. One event per real comment row. Never charged: the empty-input sample, BAD_INPUT, NO_RESULTS and BLOCKED diagnostic rows. A run where every post refuses to show comments charges the start fee and nothing else.

Price is not the only thing to weigh. This actor returns at most 10 comments per post — LinkedIn's own logged-out cap, documented above — and the cookie-based tools do not have that limit. Pick on that basis, not on price alone.

How it works

Requests go out with a real browser TLS + HTTP/2 fingerprint (impit), rotating Chrome and Firefox profiles and a fresh Apify datacenter session per attempt.

That transport is the whole fix. The previous build of this actor used Node's undici and returned NO_RESULTS on every post — LinkedIn rejected it at the TLS handshake and served a shell with no comment markup. Same URLs, same proxy pool, same second, impit instead: the full ~385 KB guest page with ten section.comment blocks, 4/4 sessions.

FAQ

Do I need a LinkedIn account or cookie? No. Nothing to log in with, nothing to refresh.

How many comments will I get per post? Up to 10 — LinkedIn's own limit for logged-out visitors. Many posts give fewer, some give none.

Why did a post return no comments when I can see comments on it? You are logged in and this actor is not. LinkedIn hides the comment block from guests on a significant share of posts. That row is a diagnostic and is not charged.

Can I get replies to comments? No. Guests only see top-level comments.

Is the timestamp exact? No. LinkedIn gives guests a relative age like "9mo". approximateCreatedAt converts that, so it is accurate to the granularity LinkedIn published — not to the minute. commentAgeText is the raw value if you would rather do your own conversion.

What happens with a private post or a bad URL? One uncharged diagnostic row with an errorCode (BAD_INPUT, BLOCKED, or NO_RESULTS) and a plain-English reason.

Does it use residential proxies? No. Datacenter only.