LinkedIn User Comments & Reactions Scraper No Cookies
Pricing
from $1.05 / 1,000 profile activities
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é
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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.
- Review public activity from a profile with LinkedIn Activity Scraper.
- Build a profile activity view with LinkedIn Profile Activity Scraper.
- Keep only reactions from a profile with LinkedIn Profile Reactions Scraper.
- Find comments written by a profile with LinkedIn Profile Comments Scraper.
- Collect comments and reactions together with LinkedIn Profile Comments and Reactions Scraper.
📦 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
- Choose comments, reactions, or both.
- Add one or more public LinkedIn profile URLs or profile identifiers.
- Optionally choose reaction types, a UTC date range or recent-days window, and result limits.
- 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
| Field | Type | What it does |
|---|---|---|
resultType | string | Required. Chooses comments, reactions, or commentsAndReactions. |
profileTargets | array of strings | Required. Lists one or more public LinkedIn profile URLs or profile identifiers. |
reactionTypes | array of strings | Optional. 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. |
timeWindow | object | Optional. Uses a UTC date range or a recent-days window. Leave all fields empty to collect all available activity. |
timeWindow.startDate | string | Optional UTC start date. Use it with timeWindow.endDate. |
timeWindow.endDate | string | Optional UTC end date. Use it with timeWindow.startDate. |
timeWindow.lastDays | integer | Optional positive number of recent days. Use it instead of the start and end dates. |
maxItemsPerProfile | integer | Optional positive limit for each profile. Leave it empty to return all available results for each profile until the source is exhausted. |
maxItems | integer | Optional 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
| Field | Type | What it does |
|---|---|---|
activityType | string | Always comment for this shape. |
activityAt | ISO 8601 date-time string | Time when the supplied profile made the activity, when provided. |
activityUrl | URL string | Direct link to the public comment or reaction, when provided. |
profile | object | Public identity of the profile that made the activity. |
profile.name | string | Public name of the supplied profile. |
profile.profileUrl | URL string | Public LinkedIn profile link. |
profile.profileId | string | Source profile identifier, when provided. |
post | object | Public post where the profile made the activity. |
post.id | string | Source post identifier, when provided. |
post.url | URL string | Direct link to the original post. |
post.text | string | Original post text or available text preview. |
post.publishedAt | ISO 8601 date-time string | Time when the original post was published, when provided. |
post.author | object | Public identity of the original post author. |
post.author.name | string | Public name of the original post author. |
post.author.profileUrl | URL string | Public LinkedIn profile link of the original post author, when provided. |
post.author.profileId | string | Source profile identifier of the original post author, when provided. |
post.engagement | object | Engagement totals and reaction labels for the original post, when provided. |
post.engagement.reactionCount | integer | Total reactions on the original post. |
post.engagement.commentCount | integer | Total comments on the original post. |
post.engagement.reactionTypes | array of strings | Reaction labels shown on the original post, when provided. |
post.attachments | array of objects | Images, videos, or linked article details from the original post, when available. |
post.attachments[].type | string | Attachment type: image, video, or article. |
post.attachments[].url | URL string | Public link for the attachment, when provided. |
post.attachments[].title | string | Attachment title, when provided. |
post.attachments[].description | string | Attachment description, when provided. |
post.attachments[].imageUrl | URL string | Preview image link for the attachment, when provided. |
comment | object | Public comment made by the supplied profile. |
comment.id | string | Source comment identifier, when provided. |
comment.text | string | Text of the public comment. |
comment.reactionCount | integer | Total 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
| Field | Type | What it does |
|---|---|---|
activityType | string | Always reaction for this shape. |
activityAt | ISO 8601 date-time string | Time when the supplied profile made the activity, when provided. |
activityUrl | URL string | Direct link to the public reaction or comment, when provided. |
profile | object | Public identity of the profile that made the activity. |
profile.name | string | Public name of the supplied profile. |
profile.profileUrl | URL string | Public LinkedIn profile link. |
profile.profileId | string | Source profile identifier, when provided. |
post | object | Public post where the profile made the activity. |
post.id | string | Source post identifier, when provided. |
post.url | URL string | Direct link to the original post. |
post.text | string | Original post text or available text preview. |
post.publishedAt | ISO 8601 date-time string | Time when the original post was published, when provided. |
post.author | object | Public identity of the original post author. |
post.author.name | string | Public name of the original post author. |
post.author.profileUrl | URL string | Public LinkedIn profile link of the original post author, when provided. |
post.author.profileId | string | Source profile identifier of the original post author, when provided. |
post.engagement | object | Engagement totals and reaction labels for the original post, when provided. |
post.engagement.reactionCount | integer | Total reactions on the original post. |
post.engagement.commentCount | integer | Total comments on the original post. |
post.engagement.reactionTypes | array of strings | Reaction labels shown on the original post, when provided. |
post.attachments | array of objects | Images, videos, or linked article details from the original post, when available. |
post.attachments[].type | string | Attachment type: image, video, or article. |
post.attachments[].url | URL string | Public link for the attachment, when provided. |
post.attachments[].title | string | Attachment title, when provided. |
post.attachments[].description | string | Attachment description, when provided. |
post.attachments[].imageUrl | URL string | Preview image link for the attachment, when provided. |
reaction | object | Public reaction made by the supplied profile. |
reaction.type | string | Reaction 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 🫡
🔗 Related Actors
- LinkedIn Profile Comments Scraper No Cookies: Collect profile activity, comments on recent profile posts, or comments from a public post or article.
- LinkedIn Profile Comments & Reactions Scraper No Cookies: Run a separate public profile comments and reactions collection.
- LinkedIn User Comments & Reactions Scraper [NO COOKIES] ✅: Review recent public comments and reactions from a LinkedIn user.
- LinkedIn User Comments & Reactions Scraper: Collect profile comment text, reaction types, timestamps, and original post context.
- LinkedIn User Reactions Scraper [NO COOKIES] ✅: Focus a run on reactions given by a public LinkedIn user.
Made with ❤️ by Maxime Dupré