LinkedIn Profile Comments Scraper avatar

LinkedIn Profile Comments Scraper

Pricing

from $6.00 / 1,000 linkedin comment scrapeds

Go to Apify Store
LinkedIn Profile Comments Scraper

LinkedIn Profile Comments Scraper

Give a LinkedIn profile URL and get every commenter on that person's recent posts — name, headline, profile URL, comment text and reactions. Also accepts direct post/article URLs. Provider-backed (ScrapeCreators + SociaVault); no cookies, no login.

Pricing

from $6.00 / 1,000 linkedin comment scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

11 days ago

Last modified

Share

Turn a LinkedIn profile into a list of warm leads. Give this actor a person's profile URL and it pulls their recent public posts, then returns every person who commented on them — commenter name, LinkedIn profile URL (the lead), and the comment text on every row. Headline, follower count, and per-comment reaction counts are included when the data provider exposes them (often null for public post comments). You can also pass direct post or article URLs to scrape the comments on a single post.

No LinkedIn login. No cookies. No browser extension. It runs on managed data providers (ScrapeCreators with SociaVault fallback), so you just paste URLs and get structured rows.

What you can do with it

  • Social-selling lead lists — everyone engaging with a prospect's or competitor's content is a warm, in-market lead.
  • Influencer / creator audience mining — see who actually comments, not just who follows.
  • Event & launch follow-up — pull commenters from an announcement post and reach out.
  • Competitive intelligence — watch who engages with a rival's thought-leadership.
  • AI agents — MCP-ready: one URL in, clean JSON out, predictable per-row pricing.

When to use this vs. other LinkedIn actors

You want…Use
Commenters on a person's recent posts (from a profile URL)this actor
Comments on specific post URLs you already havethis actor (paste post URLs)
Profile fields (bio, followers, experience)linkedin-profile-email-scraper
Jobs with salary & skillslinkedin-jobs-scraper

This actor returns who commented. It does not return a person's own comment history across all of LinkedIn (that data is login-gated and not exposed publicly).

Input

FieldTypeDefaultDescription
startUrlsarray— (required)LinkedIn profile URLs (/in/...) and/or post/article URLs. Auto-detected per URL.
maxPostsPerProfileint5Recent posts to read per profile URL (1–50).
maxCommentsPerPostint50Max comment rows per post (1–1000).
maxResultsint1000Hard cap on total comments charged/saved — your main cost control.
outputModeenumcommentscomments (one row per comment) or both (also a post-summary row).
dedupeCommentsbooltrueDrop duplicate comments per post.
includeRawDataboolfalseAttach raw provider payload to each row (debugging).
maxConcurrencyint2Posts fetched in parallel (1–5).

Example input

{
"startUrls": [
{ "url": "https://www.linkedin.com/in/williamhgates/" },
{ "url": "https://www.linkedin.com/posts/some-author_activity-7429579034096726016" }
],
"maxPostsPerProfile": 5,
"maxCommentsPerPost": 50,
"maxResults": 1000,
"outputMode": "comments"
}

Output

One row per comment. Key fields:

FieldDescription
commenterNamePerson who left the comment (always present)
commenterProfileUrlTheir LinkedIn profile URL — the lead (always present)
commentTextThe comment (always present when not an image-only comment)
commenterHeadlineTheir job title / tagline — only when the provider exposes it; usually null for post comments
commenterFollowersTheir follower count — only when exposed; usually null
commentReactionCount / replyCountComment engagement — only when exposed; usually null
postUrl / postAuthorNameThe post they commented on
sourceTypeprofile (found via a profile) or post (direct URL)
sourceProfileUrl / sourceProfileNameThe input profile, when applicable
sourceProvider used (scrapecreators / sociavault)
scrapedAtISO 8601 timestamp

Example output row

{
"recordType": "comment",
"sourceType": "profile",
"sourceProfileUrl": "https://www.linkedin.com/in/williamhgates/",
"sourceProfileName": "Bill Gates",
"postUrl": "https://www.linkedin.com/posts/williamhgates_activity-7429579034096726016",
"postAuthorName": "Bill Gates",
"commenterName": "Jane Doe",
"commenterProfileUrl": "https://www.linkedin.com/in/jane-doe/",
"commentText": "This completely changed how we think about it.",
"commenterHeadline": null,
"commenterFollowers": null,
"commentReactionCount": null,
"replyCount": null,
"source": "scrapecreators",
"scrapedAt": "2026-06-19T08:30:00.000Z"
}

A machine-readable run summary (counts, billing, provider status, per-post outcomes, warnings) is written to the key-value store under OUTPUT.

Pricing — pay per result

EventPrice
Actor start$0.00005
Post processed$0.01 per post fetched for comments
Comment scraped$0.006 per comment row

A typical run over one profile (5 posts × ~30 comments) costs roughly 5 × $0.01 + 150 × $0.006 ≈ $0.95. Use maxResults to set a hard ceiling. The run log prints the cost cap before any charge and the actual spend at the end.

Run via API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-profile-comments-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "startUrls": [{ "url": "https://www.linkedin.com/in/williamhgates/" }], "maxPostsPerProfile": 5 }'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('khadinakbar/linkedin-profile-comments-scraper').call({
startUrls: [{ url: 'https://www.linkedin.com/in/williamhgates/' }],
maxPostsPerProfile: 5,
maxCommentsPerPost: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use with AI agents (MCP)

Exposed in the Apify MCP server as apify--linkedin-profile-comments-scraper. Hand an agent a profile URL and it gets a clean list of engagers to qualify or enrich — pair it with linkedin-profile-email-scraper to turn commenters into contactable leads.

FAQ

Do I need LinkedIn cookies or a login? No. It uses managed providers — paste public URLs only.

Why fewer comments than the post shows? Providers expose the publicly visible comments per post; very large threads may be partial. Raise maxCommentsPerPost to capture more of what is exposed.

A profile returned no posts — why? The person may have no public posts, or the provider could not expose them. Pass their post URLs directly instead.

Can it get a person's own comment history (everything they've commented on)? No — that is login-gated and not publicly available. This actor returns commenters on posts.

What if a provider is down? It tries ScrapeCreators first, then SociaVault automatically, and reports provider status in the run summary.

This actor collects only publicly available LinkedIn data via third-party data providers. It does not log into LinkedIn, bypass authentication, or access private/connection-gated content. You are responsible for using the data in compliance with LinkedIn's Terms of Service, the GDPR/CCPA, and any applicable laws (including lawful basis for processing personal data and honoring opt-outs). Do not use it for spam, harassment, or unlawful profiling. Provided "as is" without warranty.