LinkedIn User Comments & Reactions Scraper No Cookies avatar

LinkedIn User Comments & Reactions Scraper No Cookies

Pricing

from $1.05 / 1,000 profile activities

Go to Apify Store
LinkedIn User Comments & Reactions Scraper No Cookies

LinkedIn User Comments & Reactions Scraper No Cookies

Collect public LinkedIn comments and reactions made by selected profiles on other people's posts. Get activity links, profile and post context, dates, engagement, and available attachments in a dataset. No LinkedIn login or cookies are needed.

Pricing

from $1.05 / 1,000 profile activities

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

🔎 Find public LinkedIn profile activity

Social media analysts, researchers, and developers can use this Actor to collect public engagement activity from one or more LinkedIn profiles. It saves one dataset row for each public comment or reaction a supplied profile made on another person's post, with the activity link, profile identity, original post, dates, engagement counts, and available attachments. The structured rows make it easier to review public conversations and use the data in a workflow.

📦 Comments and reactions with post context

Each row says whether the activity is a comment or reaction and links it to the supplied profile and original post. Optional fields are omitted when the public source does not provide them. Comment rows include comment text and comment reaction counts when shown. Reaction rows include the reaction type. Both shapes can include the activity time, direct activity link, post text, post author, post engagement, and attachments when available.

▶️ Choose a profile activity run

How to run

  1. Choose comments, reactions, or both.
  2. Add one or more public LinkedIn profile URLs or profile identifiers.
  3. Optionally choose reaction types, a UTC date range or recent-days window, and result limits.
  4. Start the run and open the default dataset for the structured rows.

All submitted profiles use the same time window. The Actor collects activity made by those profiles on other people's posts. It does not collect people who engaged with the supplied profiles' own posts. Results reflect what the public source exposes when the run executes, so private, deleted, connection-only, or otherwise hidden activity is not included.

⚙️ Input

Add public profile targets, choose the activity to collect, and set any filters or limits you need.

Input fields

FieldTypeWhat it does
resultTypestringRequired. Chooses comments, reactions, or commentsAndReactions.
profileTargetsarray of stringsRequired. Lists one or more public LinkedIn profile URLs or profile identifiers.
reactionTypesarray of stringsOptional. Keeps only the reaction types you enter for Reactions or Comments and reactions. It is ignored for Comments. Leave it empty to keep every type.
timeWindowobjectOptional. Uses a UTC date range or a recent-days window. Leave all fields empty to collect all available activity.
timeWindow.startDatestringOptional UTC start date. Use it with timeWindow.endDate.
timeWindow.endDatestringOptional UTC end date. Use it with timeWindow.startDate.
timeWindow.lastDaysintegerOptional positive number of recent days. Use it instead of the start and end dates.
maxItemsPerProfileintegerOptional positive limit for each profile. Leave it empty to return all available results for each profile until the source is exhausted.
maxItemsintegerOptional positive limit for the whole run. Leave it empty to return all available results until the source is exhausted.

Default input example

This example is copied from the public input of a successful current-beta comments run.

{
"resultType": "comments",
"profileTargets": [
"https://www.linkedin.com/in/satyanadella/"
],
"maxItemsPerProfile": 20,
"maxItems": 100
}

🧾 Output

Each dataset row uses one of the two shapes below. Use the dotted paths in the tables to find nested values. Optional fields are omitted when the public source does not provide them.

Comment activity row

FieldTypeWhat it does
activityTypestringAlways comment for this shape.
activityAtISO 8601 date-time stringTime when the supplied profile made the activity, when provided.
activityUrlURL stringDirect link to the public comment or reaction, when provided.
profileobjectPublic identity of the profile that made the activity.
profile.namestringPublic name of the supplied profile.
profile.profileUrlURL stringPublic LinkedIn profile link.
profile.profileIdstringSource profile identifier, when provided.
postobjectPublic post where the profile made the activity.
post.idstringSource post identifier, when provided.
post.urlURL stringDirect link to the original post.
post.textstringOriginal post text or available text preview.
post.publishedAtISO 8601 date-time stringTime when the original post was published, when provided.
post.authorobjectPublic identity of the original post author.
post.author.namestringPublic name of the original post author.
post.author.profileUrlURL stringPublic LinkedIn profile link of the original post author, when provided.
post.author.profileIdstringSource profile identifier of the original post author, when provided.
post.engagementobjectEngagement totals and reaction labels for the original post, when provided.
post.engagement.reactionCountintegerTotal reactions on the original post.
post.engagement.commentCountintegerTotal comments on the original post.
post.engagement.reactionTypesarray of stringsReaction labels shown on the original post, when provided.
post.attachmentsarray of objectsImages, videos, or linked article details from the original post, when available.
post.attachments[].typestringAttachment type: image, video, or article.
post.attachments[].urlURL stringPublic link for the attachment, when provided.
post.attachments[].titlestringAttachment title, when provided.
post.attachments[].descriptionstringAttachment description, when provided.
post.attachments[].imageUrlURL stringPreview image link for the attachment, when provided.
commentobjectPublic comment made by the supplied profile.
comment.idstringSource comment identifier, when provided.
comment.textstringText of the public comment.
comment.reactionCountintegerTotal reactions on the comment, when provided.

This complete row is from a successful current-beta comments run.

{
"activityType": "comment",
"activityAt": "2026-07-09T18:45:43.939Z",
"activityUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7477760679408599040/",
"profile": {
"name": "Satya Nadella",
"profileUrl": "https://www.linkedin.com/in/satyanadella/",
"profileId": "satyanadella"
},
"post": {
"id": "urn:li:activity:7477760679408599040",
"url": "https://www.linkedin.com/posts/michaelabbott_one-of-the-privileges-of-teaching-cs153-activity-7477760679408599040-MXGW",
"text": "one of the privileges of teaching cs153 (Frontier Systems) at Stanford Online is getting to bring people into the room who have actually built the future.",
"publishedAt": "2026-06-30T16:31:16.025Z",
"author": {
"name": "michael abbott",
"profileUrl": "https://www.linkedin.com/in/michaelabbott/",
"profileId": "michaelabbott"
},
"engagement": {
"reactionCount": 557,
"commentCount": 27,
"reactionTypes": [
"LIKE",
"PRAISE",
"EMPATHY"
]
}
},
"comment": {
"id": "urn:li:activity:7477760679408599040",
"text": "Thanks for having me, michael. Great to chat with your students about the industry and career growth!",
"reactionCount": 24
}
}

Reaction activity row

FieldTypeWhat it does
activityTypestringAlways reaction for this shape.
activityAtISO 8601 date-time stringTime when the supplied profile made the activity, when provided.
activityUrlURL stringDirect link to the public reaction or comment, when provided.
profileobjectPublic identity of the profile that made the activity.
profile.namestringPublic name of the supplied profile.
profile.profileUrlURL stringPublic LinkedIn profile link.
profile.profileIdstringSource profile identifier, when provided.
postobjectPublic post where the profile made the activity.
post.idstringSource post identifier, when provided.
post.urlURL stringDirect link to the original post.
post.textstringOriginal post text or available text preview.
post.publishedAtISO 8601 date-time stringTime when the original post was published, when provided.
post.authorobjectPublic identity of the original post author.
post.author.namestringPublic name of the original post author.
post.author.profileUrlURL stringPublic LinkedIn profile link of the original post author, when provided.
post.author.profileIdstringSource profile identifier of the original post author, when provided.
post.engagementobjectEngagement totals and reaction labels for the original post, when provided.
post.engagement.reactionCountintegerTotal reactions on the original post.
post.engagement.commentCountintegerTotal comments on the original post.
post.engagement.reactionTypesarray of stringsReaction labels shown on the original post, when provided.
post.attachmentsarray of objectsImages, videos, or linked article details from the original post, when available.
post.attachments[].typestringAttachment type: image, video, or article.
post.attachments[].urlURL stringPublic link for the attachment, when provided.
post.attachments[].titlestringAttachment title, when provided.
post.attachments[].descriptionstringAttachment description, when provided.
post.attachments[].imageUrlURL stringPreview image link for the attachment, when provided.
reactionobjectPublic reaction made by the supplied profile.
reaction.typestringReaction type given by the supplied profile.

This complete row is from a successful current-beta reactions run.

{
"activityType": "reaction",
"activityUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7487914022294630400/",
"profile": {
"name": "Satya Nadella",
"profileUrl": "https://www.linkedin.com/in/satyanadella/",
"profileId": "satyanadella"
},
"post": {
"id": "urn:li:activity:7487901334461939712",
"url": "https://www.linkedin.com/posts/judsonalthoff_microsoft-fy26-q4-earnings-activity-7487901334461939712-pAhO",
"text": "Microsoft FY26 Q4 Earnings",
"publishedAt": "2026-07-28T16:06:36.595Z",
"author": {
"name": "Judson Althoff",
"profileUrl": "https://www.linkedin.com/in/judsonalthoff/",
"profileId": "judsonalthoff"
},
"engagement": {
"reactionCount": 1495,
"commentCount": 73,
"reactionTypes": [
"LIKE",
"PRAISE",
"EMPATHY"
]
},
"attachments": [
{
"type": "article",
"url": "http://aka.ms/FY26Q4Blog?trk=public_profile__reactions-text",
"title": "aka.ms/FY26Q4Blog"
}
]
},
"reaction": {
"type": "LIKE"
}
}

💳 Pricing

How charging works

Pricing follows saved activity rows. Each saved row is one public comment or reaction, and the event includes available post context. The price shown on the Store page depends on your Apify pricing tier. Set a per-profile or total limit when you want to cap the number of returned rows and the charges that can follow.

🔌 Integrations

Use the default dataset in Apify or standard Apify dataset access to read the machine-readable rows. Each row keeps direct links to LinkedIn activity and the original post when the source provides them.

❓ FAQ

Does this Actor find people who reacted to a supplied profile's posts?

No. It collects comments and reactions made by the supplied profiles on other people's posts. It does not collect the people who engaged with those profiles' own posts.

Can I use a profile URL and a profile identifier in one run?

Yes. Add one or more public LinkedIn profile URLs or profile identifiers to profileTargets.

Can I collect comments and reactions in one run?

Yes. Choose Comments and reactions in resultType.

Can I filter reaction types when I collect comments?

No. reactionTypes applies to Reactions and Comments and reactions. It is ignored when Comments is selected.

Can each profile use a different time window?

No. All submitted profiles use the same timeWindow in one run.

What does leaving a result limit empty do?

Leaving maxItemsPerProfile empty returns all available results for each profile until the source is exhausted. Leaving maxItems empty returns all available results until the source is exhausted.

Do I need a LinkedIn login or cookies?

No. The Actor uses public LinkedIn activity and does not require a LinkedIn login or cookies.

What if a profile or activity is private?

Private, connection-only, deleted, or otherwise hidden activity is not included. Public source gaps or changes can also limit historical coverage.

Why can an output field be missing?

Some fields are optional because the public source may not provide them. The Actor leaves those fields out instead of filling them with made-up values.

📝 Changelog

v0.0 (01-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré