LinkedIn Profile Comments & Reactions Scraper ✅ No Cookies avatar

LinkedIn Profile Comments & Reactions Scraper ✅ No Cookies

Pricing

from $1.20 / 1,000 results

Go to Apify Store
LinkedIn Profile Comments & Reactions Scraper ✅ No Cookies

LinkedIn Profile Comments & Reactions Scraper ✅ No Cookies

Extract comments and reactions from LinkedIn profiles with structured, deduplicated data. Supports multiple users, date and filtering. Ideal for analytics, lead generation, and engagement tracking.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Scraping Solutions

Scraping Solutions

Maintained by Community

Actor stats

6

Bookmarked

210

Total users

34

Monthly active users

3 days ago

Last modified

Share

LinkedIn Profile Comments & Reactions Scraper | No Cookies

Discover the public LinkedIn activity performed by specific profiles. Given one or more LinkedIn usernames, this Actor returns posts they commented on or reacted to, together with event dates, post context, authors, and engagement metrics.

This is a profile activity scraper, not a post engager scraper. It answers "Where has this profile commented or reacted?" rather than "Who engaged with this post?"

No customer-provided LinkedIn cookies are required.

Profile activity versus post engagers

Research directionUse this Actor?Example question
Start with a LinkedIn profile and find posts where it commented or reactedYesWhich posts has satyanadella engaged with?
Start with a LinkedIn post and find all people who reacted or commentedNoWho engaged with this company announcement?

For the second workflow, use LinkedIn Posts Engagers.

What this Actor does

  • Extracts public comments made by LinkedIn profiles.
  • Extracts public reaction activity associated with LinkedIn profiles.
  • Supports comments, reactions, or both in one run.
  • Processes multiple usernames for paid Apify users.
  • Filters events by an inclusive date range.
  • Paginates through available public activity.
  • Deduplicates activity independently for every username and source type.
  • Preserves the related post URL, text, author, date, and engagement counts when available.
  • Writes normalized comment and reaction rows to one dataset.
  • Stops safely when its result budget or applicable free-user quota is reached.

Quick start

  1. Add LinkedIn usernames to usernames without the full profile URL.
  2. Choose comments, reactions, or both.
  3. Set maxItemsPerProfile to at least 20.
  4. Optionally provide dateFrom and dateTo.
  5. Start the Actor and export the default dataset.

Comments made by one profile

{
"usernames": ["satyanadella"],
"type": "comments",
"maxItemsPerProfile": 100,
"dateFrom": "2026-01-01",
"dateTo": "2026-09-30"
}

Comments and reactions for multiple profiles

{
"usernames": [
"satyanadella",
"billgates"
],
"type": "both",
"maxItemsPerProfile": 200
}

Multiple usernames are available to paid Apify users. Free Web and API runs currently process only the first username; see Free-user limits below.

Input

FieldTypeRequiredDefaultDescription
usernamesarrayYessatyanadella exampleOne or more LinkedIn usernames, without the full profile URL.
typestringNobothSelect comments, reactions, or both.
maxItemsPerProfileintegerNo100Maximum normalized output rows per username. The public form requires at least 20.
dateFromstringNoEmptyInclusive earliest event date in YYYY-MM-DD format.
dateTostringNoEmptyInclusive latest event date in YYYY-MM-DD format.

Current behavior of both

In the current build, maxItemsPerProfile is a shared output limit per username when type is both; it is not an independent limit for each type. Comments are processed first, followed by reactions using any remaining capacity.

For example, type: "both" with maxItemsPerProfile: 100 produces at most 100 combined rows for that username. If 70 comment rows are delivered, up to 30 reaction rows can follow. To request a predictable limit for each activity type, run separate Tasks for comments and reactions.

Date filtering

  • dateFrom starts at 00:00:00 UTC on the selected day.
  • dateTo ends at 23:59:59.999 UTC on the selected day.
  • Filtering uses the activity event timestamp, not the original post date.
  • When date filters are active, rows without a usable event timestamp are not included.
  • After encountering activity pages entirely older than dateFrom, the Actor checks additional verification pages before stopping.

Output fields

Each normal dataset row has sourceType: "comment" or sourceType: "reaction". Some context fields are unavailable for reactions and are returned as null.

FieldComment rowReaction rowDescription
sourceTypeYesYescomment or reaction.
inputUsernameYesYesLinkedIn profile username being analyzed.
eventDateYesYesProvider-formatted activity date.
eventTimestampYesYesActivity timestamp, normally in milliseconds.
actorNameYesYesCommenter name for comments; provider-supplied related-post author name for reactions. Use inputUsername as the stable analyzed profile identifier.
actorProfileUrlYesYesPublic commenter or related author profile URL supplied for the event.
contentYesYesComment text for comments; provider-supplied post or reaction text for reactions.
actionYesYescommented for comments or the reported reaction action.
postUrlYesYesPublic URL of the post where the activity occurred.
postTextWhen availablenullOriginal post text when supplied with a comment activity.
postAuthorNameWhen availablenullOriginal post author name when supplied with a comment activity.
postAuthorProfileUrlWhen availablenullOriginal post author profile URL.
postDateWhen availablenullOriginal post publication date.
postTotalReactionsWhen availableWhen availableReported total reactions on the related post.
postCommentsCountWhen availableWhen availableReported comment count on the related post.
postRepostsCountWhen availableWhen availableReported repost count on the related post.
dedupeKeyYesYesStable key used to remove duplicate activity rows within the username.
scrapedAtYesYesUTC timestamp when the row was collected.
pageNumberYesYesSource pagination page that supplied the event.
itemPositionYesYesPosition of the event within its source page.

Example output

Comment activity

{
"sourceType": "comment",
"inputUsername": "satyanadella",
"eventDate": "2026-08-18 14:32:10",
"eventTimestamp": 1787063530000,
"actorName": "Satya Nadella",
"actorProfileUrl": "https://www.linkedin.com/in/satyanadella/",
"content": "Important progress. Thank you for sharing this research.",
"action": "commented",
"postUrl": "https://www.linkedin.com/posts/example_activity-0000000000000000000-example/",
"postText": "A public LinkedIn post used for this example.",
"postAuthorName": "Example Author",
"postAuthorProfileUrl": "https://www.linkedin.com/in/example-author/",
"postDate": "2026-08-18",
"postTotalReactions": 575,
"postCommentsCount": 36,
"postRepostsCount": 14,
"dedupeKey": "satyanadella::comment::example-comment-urn",
"scrapedAt": "2026-09-22T07:00:00+00:00",
"pageNumber": 1,
"itemPosition": 3
}

Reaction activity

{
"sourceType": "reaction",
"inputUsername": "satyanadella",
"eventDate": "2026-08-17 09:15:00",
"eventTimestamp": 1786958100000,
"actorName": "Example Post Author",
"actorProfileUrl": "https://www.linkedin.com/in/example-post-author/",
"content": "A preview of the related public post.",
"action": "Satya Nadella likes this",
"postUrl": "https://www.linkedin.com/posts/example_activity-1111111111111111111-example/",
"postText": null,
"postAuthorName": null,
"postAuthorProfileUrl": null,
"postDate": null,
"postTotalReactions": 812,
"postCommentsCount": 42,
"postRepostsCount": 27,
"dedupeKey": "satyanadella::reaction::example-hash",
"scrapedAt": "2026-09-22T07:00:00+00:00",
"pageNumber": 1,
"itemPosition": 5
}

The values above are illustrative. The field names and nullability match the Actor's current normalized output.

Pricing

This Actor uses pay-per-event pricing. The apify-default-dataset-item event is charged once for every dataset row successfully delivered.

Apify planPer result500 results1,000 results5,000 results
Free$0.00170$0.85$1.70$8.50
Starter / Bronze$0.00140$0.70$1.40$7.00
Scale / Silver$0.00130$0.65$1.30$6.50
Business / Gold$0.00120$0.60$1.20$6.00
Platinum / Diamond$0.00120$0.60$1.20$6.00

An Actor-start event currently costs $0.00005 per GB of allocated memory, with a minimum of one event. Platform usage is included in the current Store pricing. Confirm the amounts shown in the Actor's Pricing page before a large run.

Free-user limits

The following protective quotas apply to users who are not on a paid Apify plan. Quotas reset by UTC day and can be lower when part of the daily allowance was already reserved by an earlier run.

OriginUsernames per runMaximum daily resultsMaximum runs per UTC dayEffective per-run note
Apify Console / Web11,50010Up to 1,500 results, subject to remaining daily quota.
Apify API15003The daily 500-result quota is the effective maximum available across API runs.

Paid Apify users are not subject to these free-user quotas. All users remain subject to the selected maxItemsPerProfile, public data availability, pagination, and the run's maximum total charge.

Use cases

Lead generation

Find public profiles with active commenting or reaction behavior around relevant industries and topics.

Account-based marketing

Analyze public activity patterns for selected decision-makers and target accounts.

Influencer research

Study which posts and authors receive public interaction from industry creators and thought leaders.

Competitor intelligence

Monitor the public LinkedIn activity of executives, advocates, and other relevant profiles.

Engagement scoring

Measure activity frequency, recency, and type for research or responsible lead-prioritization workflows.

Sales prospecting

Identify public activity signals that can improve account research and personalized outreach preparation.

Content research

Discover posts, authors, and topics that repeatedly attract interaction from selected profiles.

Analytics and AI pipelines

Send normalized events into spreadsheets, databases, dashboards, classification models, and approved research workflows.

Reliability and availability

  • Temporary rate limits and server errors are retried automatically.
  • Pagination tokens are followed until the requested limit, date boundary, page limit, or feed end is reached.
  • Duplicate events are removed independently for each input username and activity type.
  • Date-filtered runs verify additional older pages before stopping at the lower boundary.
  • Results are delivered in batches and retained when a later profile or page fails.
  • The Actor checks charge capacity before starting and stops safely when the result budget is exhausted.
  • LinkedIn can restrict, reorder, remove, or stop exposing public profile activity without notice.
  • Some reaction records contain less post context than comment records.
  • The requested limit is a maximum, not a guarantee.

Export and integrations

Export the default dataset as JSON, JSONL, CSV, Excel, XML, HTML, or RSS. Run the Actor through the Apify API, save reusable Tasks, schedule recurring profile monitoring, trigger webhooks, connect supported automation tools, or include the Actor in compatible MCP workflows.

FAQ

Does this Actor extract commenters from a post?

No. It starts from a LinkedIn username and finds public activity associated with that profile. Use LinkedIn Posts Engagers when you need everyone who engaged with a particular post.

Do I need LinkedIn cookies?

No customer-provided LinkedIn cookies are required for supported public activity.

Should I enter a full profile URL?

Use the profile username, such as satyanadella. The public input is designed for usernames rather than complete profile URLs.

Can I process multiple usernames?

Yes for paid Apify users. Free Web and API runs currently process only the first username.

What is the minimum result limit?

The public input schema requires maxItemsPerProfile to be at least 20.

Is the limit applied separately to comments and reactions?

Not in the current build when type is both. It is a shared combined limit per username, and comments are processed first. Run separate Tasks when you need an independent limit for each activity type.

Which date does the filter use?

It uses the comment or reaction event timestamp, not the publication date of the related post.

Why are some post fields null for reactions?

The reaction activity feed does not always supply the same post context as the comments feed. The Actor preserves unavailable values as null instead of inventing them.

Why did I receive fewer rows than requested?

The public activity feed may contain fewer accessible events. Date filtering, duplicates, exhausted pagination, restrictions, missing timestamps, free-user quota, and run charge limits can also reduce output.

Are duplicates removed?

Yes. Comments prefer their public comment URN as the key. When no stable identifier exists, the Actor builds a deterministic hash from the activity context.

How am I billed?

Every successfully delivered dataset row creates one result event at the price applicable to your plan. A small Actor-start event also applies under the current pricing configuration.

Can I call the Actor through API or MCP?

Yes. Use Actor ID Iap66rhh9VwuficR6 through the Apify API or include it in compatible MCP workflows.

Can I export to CSV or Excel?

Yes. Use the default dataset's Export menu or retrieve rows programmatically through the Apify API.

Does the Actor provide private contact details?

No. It returns fields made available through supported public LinkedIn activity sources.

What compliance requirements apply?

You are responsible for using the data lawfully and following applicable privacy, data-protection, intellectual-property, employment, marketing, and platform requirements.

Responsible use

Use public LinkedIn data lawfully and proportionately. Do not use the output for spam, harassment, unlawful profiling, discriminatory employment decisions, unauthorized surveillance, or attempts to bypass privacy controls. Respect applicable platform, marketing, intellectual-property, and data-protection requirements.

Categories

Lead Generation, Social Media, Marketing

Support

Open an issue on the Actor support page. Include the run ID, public username, activity type, date filters, requested limit, expected behavior, and actual behavior. Never include passwords, cookies, API keys, or private personal data.