LinkedIn Comment Replies & Reactions Scraper avatar

LinkedIn Comment Replies & Reactions Scraper

Pricing

from $6.00 / 1,000 linkedin comment or reply scrapeds

Go to Apify Store
LinkedIn Comment Replies & Reactions Scraper

LinkedIn Comment Replies & Reactions Scraper

Extract LinkedIn comments, nested replies when public data includes them, and post reaction counts from post or comment URLs. Provider-backed, cookieless, MCP-ready.

Pricing

from $6.00 / 1,000 linkedin comment or reply scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Paste a public LinkedIn post URL or a comment URL (the timestamp link that contains commentUrn) and get one dataset row per public comment or nested reply: author name, profile URL, text, thread level, and the post's like/comment counts. Optional profile enrichment adds current company, location, and followers. No LinkedIn cookies or login.

Built for social-listening teams, community managers, and B2B researchers who need the visible discussion on a post — plus reaction counts — as structured JSON for agents, CRMs, and spreadsheets.

Best fit for this Actor

  • This Actor is designed for public LinkedIn post URLs and comment permalinks that include commentUrn. It works well for social listening, community review, and commenter lead lists that need author, text, thread fields, and post like/comment counts.
  • Start with a public post URL when you want the visible comment sample. Continue with a comment timestamp URL when you already have a specific commentUrn. Then pass authorProfileUrl to LinkedIn Profile Email Scraper when the next step is email research.

Workflow: from a post URL to comment rows

A community manager tracking a product announcement pastes https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/. The run returns the public visible comments (typically around 10 top-level rows), each with authorName, authorProfileUrl, text, postLikeCount, and postCommentCount. Nested replies are saved when the public provider payload includes a replies array. Reaction fields on each row are counts; commenter identity lives on the author fields.

Quick start input

{
"postUrls": [
"https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/"
],
"maxComments": 10,
"includeReplies": true,
"enrichProfiles": false
}

maxComments caps rows per URL (default 50). It does not invent comments that public no-login data does not expose.

Input reference

FieldTypeWhat it controls
postUrlsstring[] (required)Post URLs, comment URLs with commentUrn, numeric activity IDs, or urn:li:activity: values. Up to 100 per run. Profile and company-home URLs belong on a profile or company Actor.
startUrlsrequest listSame URLs in Apify request-object form for agent/MCP callers.
maxCommentsintegerCap of comment + reply rows per URL. Default 50, range 1–1000.
includeRepliesbooleanSave nested replies when the payload includes them. Default true.
maxRepliesPerCommentintegerCap nested replies per parent comment. Default 25.
enrichProfilesbooleanAdd public company, location, followers, about. Extra $0.012 per enriched row. Default false.
providerOrderenumScrapeCreators first (default) or SociaVault first. Fallback fires automatically.
includeRawDatabooleanAttach raw provider objects. Default false.

Comment URL form

On LinkedIn, click the timestamp of a specific comment. The address bar then contains commentUrn=urn:li:comment:(activity:…,…). Paste that URL. The Actor fetches the parent post and keeps requestedCommentUrn on every saved row.

What data you receive

One dataset item is one public comment or nested reply.

{
"recordType": "comment",
"postUrl": "https://www.linkedin.com/posts/microsoft_activity-7468770468041502720-mGV1",
"postId": "7468770468041502720",
"postAuthorName": "Microsoft",
"postLikeCount": 379,
"postReactionCount": 379,
"postCommentCount": 25,
"threadLevel": 0,
"text": "Looking at AI adoption county by county is where the real story is.",
"authorName": "Example Author",
"authorProfileUrl": "https://www.linkedin.com/in/example-author",
"commentLikeCount": 4,
"provider": "scrapecreators",
"scrapedAt": "2026-08-21T07:00:00.000Z"
}

scrapedAt is ISO-8601. OUTPUT.outcome is one of COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED, or CONFIG_ERROR.

Data table

FieldMeaning
recordTypecomment or reply
authorName / authorProfileUrlPublic commenter identity
textComment or reply body
threadLevel / parentCommentIdThread position
postLikeCount / postCommentCountPost-level reaction and comment counts
commentReactionCount / reactionsPer-comment counts when the payload includes them
requestedCommentUrnPresent when the input was a comment URL

Public data scope

Managed public-data providers return a visible comment sample (author, text, profile URL) plus post likeCount / commentCount. Nested replies and per-comment reaction type maps are saved when the provider payload includes them. The Actor is cookieless: public counts ship on every row, and reactor identity lists stay outside the public payload.

Pricing

This Actor uses Pay per event plus platform usage. The live Pricing tab on the Actor page is the current source of truth for event names and prices.

EventPrice
apify-actor-start$0.00005 per run
comment-scraped$0.006 per saved comment or reply
comment-enriched$0.012 extra per successfully enriched row

A 10-comment run without enrichment is about $0.06005 in events plus Apify platform usage. VALID_EMPTY and INVALID_INPUT runs keep comment-scraped at zero.

Use through the API

curl "https://api.apify.com/v2/acts/khadinakbar~linkedin-comment-replies-reactions-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/"],
"maxComments": 10
}'

Read the dataset from the run's defaultDatasetId, then read OUTPUT from the default key-value store for outcome and itemsPushed.

Use with AI agents through Apify MCP

Extract public comments and post reaction counts from this LinkedIn post URL. Return author name, profile URL, comment text, threadLevel, postLikeCount, and postCommentCount. Cap at 10 rows. After the run, read OUTPUT.outcome and the default dataset for provenance, cost, and scope.

Connect the client at https://mcp.apify.com. Inspect OUTPUT before treating SUCCEEDED as complete data.

Connect the workflow

Best results

  • Use a public post URL or a comment timestamp URL with commentUrn.
  • Keep maxComments at 10–50 for canaries and agent calls; raise it only when you need the full visible sample.
  • Turn on enrichProfiles only for outreach qualification — it adds a second provider call and $0.012 per enriched row.
  • Provide a public post URL. When LinkedIn returns no visible comments, OUTPUT.outcome is VALID_EMPTY and comment-scraped stays at zero.

Who appears in the reaction fields? Public providers expose reaction counts. Author identity is on comment and reply rows.

Why is the comment sample smaller than the post counter? The public post payload returns the visible sample LinkedIn exposes without a session.

Are cookies required? This Actor is cookieless. Provide a public post or comment URL only.

This Actor collects publicly available LinkedIn information for legitimate research, analytics, and lead-generation workflows. Responsible use includes complying with LinkedIn's terms of service, applicable laws, and your own outreach rules. Keep the output inside authorized research and CRM workflows.

Report issues on the Actor's Issues tab. Custom extraction work is available on request.

Builder's note

I built this Actor after live provider probes showed that "comments, replies, and reactions" in the Store often names a reactor roster that public no-login APIs omit. I learned to keep the query language buyers search for, then ship the public subset that actually arrives: comment text, nested replies when present, and counts. In my testing that contract is what MCP agents can trust.