LinkedIn User Comments Scraper avatar

LinkedIn User Comments Scraper

Pricing

from $6.00 / 1,000 linkedin user comment scrapeds

Go to Apify Store
LinkedIn User Comments Scraper

LinkedIn User Comments Scraper

Scrape comments a LinkedIn user posted on other people's public content. Paste profile URLs or handles; get comment text, target post URL, relative time, and source profile. Cookieless, no login. For post-URL comments, use linkedin-comments-scraper. $0.006/comment.

Pricing

from $6.00 / 1,000 linkedin user comment scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 days ago

Last modified

Share

Turn a LinkedIn profile URL or vanity handle into the comments that person posted on other people's public content. Each dataset row is one comment: the commenter's name and profile, the comment text, the target post URL, and the relative time LinkedIn shows (for example 1mo). Built for SDRs, ABM researchers, and recruiters who want talking points from a prospect's public commentary before outreach. Cookieless public-profile data.

This Actor reads the comments LinkedIn already shows on the public profile page.

Best fit for this Actor

  • Start with a public profile URL such as https://www.linkedin.com/in/satyanadella or a vanity handle such as satyanadella.
  • Use it when you need what this person said on other people's posts.
  • For comments on a post URL you already have, use LinkedIn Comments Scraper. For people commenting on a profile's own posts, continue with LinkedIn Profile Comments Scraper. When you still need to find the profile, start with LinkedIn Profile Search Scraper.

Warm outreach from a prospect's public comments

An SDR targeting Microsoft-ecosystem buyers pastes Satya Nadella's profile, caps the job at 20 comments, and gets two public comments with the exact post URLs he replied to — a teaching post and a Reid Hoffman conversation. Those post URLs and the comment text become the first line of a personalized note. When a profile loads and LinkedIn shows no public comments, the outcome is VALID_EMPTY and only the start event is billed.

Quick start input

{
"profiles": ["https://www.linkedin.com/in/satyanadella"],
"maxCommentsPerProfile": 20,
"maxResults": 20
}

profiles accepts LinkedIn /in/ URLs or vanity handles. maxResults is the billed-row ceiling for the whole run.

Input reference

FieldTypeWhat it controls
profilesarray, requiredProfile URLs or handles. Prefill: Satya Nadella. Max 50. Company pages, post URLs, and ACoAA... member IDs belong in other Actors.
maxCommentsPerProfileintegerPer-profile cap (1–100, default 20). Public pages usually show only a handful.
maxResultsintegerRun-wide billed cap (1–5000, default 100).
maxConcurrencyintegerProfiles in parallel (1–5, default 2).

What data you receive

One dataset item is one public comment the input user posted on someone else's content.

FieldWhat it answers
commenterName + commenterProfileUrl + commenterHandleWho posted the comment
commenterHeadlinePublic job title when JSON-LD exposes it
commentTextWhat they wrote
commentPostedAgoRelative time LinkedIn shows (1mo, 2d)
postUrl + postId + postAuthorHandleWhich public post they commented on
mentionedProfileUrlsOther /in/ URLs mentioned in the comment
provider + scrapedAtHow the public HTML was fetched, and when the row was saved
{
"commenterName": "Satya Nadella",
"commenterProfileUrl": "https://www.linkedin.com/in/satyanadella",
"commenterHandle": "satyanadella",
"commenterHeadline": "Chairman and CEO at Microsoft",
"commentText": "Thanks for having me, michael. Great to chat with your students about the industry and career growth!",
"commentPostedAgo": "1mo",
"postUrl": "https://www.linkedin.com/posts/michaelabbott_one-of-the-privileges-of-teaching-cs153-activity-7477760679408599040-MXGW",
"postId": "7477760679408599040",
"postAuthorHandle": "michaelabbott",
"mentionedProfileUrls": ["https://www.linkedin.com/in/michaelabbott"],
"sourceProfileUrl": "https://www.linkedin.com/in/satyanadella",
"provider": "native",
"scrapedAt": "2026-08-21T12:00:00.000Z"
}

You can download the dataset as JSON, CSV, Excel, or HTML from the run Output tab. Every terminal run also writes OUTPUT and RUN_SUMMARY with a named outcome.

Workflow story: from a prospect profile to talking points

A researcher collecting warm openers for a Microsoft-adjacent account list pastes three /in/ URLs, sets maxCommentsPerProfile to 10, and keeps maxResults at 30. The Actor fetches each public profile, parses the comment cards LinkedIn already displays, and writes one row per comment with the target post URL intact. She then filters rows that mention a product or event, clicks through postUrl to read the original conversation, and drafts a first line that quotes the comment instead of a generic compliment. After she has the profile URLs, she can pass them to LinkedIn Profile Details Scraper for the public about and experience view.

Use through the API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-user-comments-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"profiles":["https://www.linkedin.com/in/satyanadella"],"maxCommentsPerProfile":20,"maxResults":20}'

After the Actor completes, read rows from the default dataset and OUTPUT / RUN_SUMMARY from the default key-value store.

Use with AI agents through Apify MCP

Scrape the public comments Satya Nadella posted on other people's LinkedIn content. Return comment text, target post URL, relative time, and profile URL. Cap at 20 comments. Keep postUrl as the source.

Inspect the terminal outcome (COMPLETE, VALID_EMPTY, INVALID_INPUT, PARTIAL, UPSTREAM_FAILED). Preserve postUrl as provenance. Treat VALID_EMPTY as a completed empty lookup for that profile. Connect through Apify MCP.

Pricing — Pay per event + usage

This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details.

EventWhen it chargesPrice
apify-actor-startOnce per run$0.00005
user-comment-scrapedEach saved comment row$0.006

Platform compute and proxy usage are billed on top (isPPEPlatformUsagePaidByUser: true). Empty public profiles and invalid input stay outside user-comment-scraped. A typical one-profile prefill with two public comments is about $0.012 in events plus a small usage component.

See the Actor Pricing tab in Console for the live event map. That Pricing tab is the current source of truth for event prices and platform usage.

Best results

  • Provide public /in/ URLs or vanity handles; those are the starting condition this Actor is designed for.
  • Keep maxCommentsPerProfile near 20 — public pages usually surface a small recent sample.
  • Use maxResults as the run-wide cost cap when you pass several profiles.
  • When LinkedIn shows public comments, rows include commentText and postUrl. When the public page has none, the outcome is VALID_EMPTY.
  • Pair it with LinkedIn Comments Scraper when the starting point is a post URL, and with LinkedIn Profile Details Scraper when you want the public about/experience view next.

Builder's note

I built this after a live probe of ScrapeCreators and SociaVault: both have LinkedIn profile and post routes, and neither exposes a user-comments-on-others endpoint. I found that native HTTP of a public profile such as Satya Nadella already returns div.comment cards with “commented on a post”, the comment body, relative time, and a target post URL. That is why this Actor parses public-profile HTML first and uses Scrapfly ASP only when the native response is an auth wall.

FAQ

Why did a real profile return zero rows? LinkedIn showed no public comment cards on that profile. That is VALID_EMPTY, a completed empty lookup.

How do I get comments on a specific post? When the starting point is a post URL, use LinkedIn Comments Scraper then paste that post URL.

Are LinkedIn cookies required? Public profile HTML is enough for this contract.

This Actor collects publicly visible LinkedIn profile information. You are responsible for complying with LinkedIn's terms, applicable privacy laws, and your own outreach policies. Use the output for lawful public-data collection and authorized outreach.

Support

Open an issue on the Actor's Issues tab and include the Actor identifier plus the input JSON (no tokens). Custom workflow work is available through the developer profile.