LinkedIn User Comments & Reactions Scraper
Pricing
from $8.00 / 1,000 linkedin activity items
LinkedIn User Comments & Reactions Scraper
Scrape comments and reactions a LinkedIn profile left on other people's posts: comment text, reaction type, timestamps, and original post context. Cookieless HarvestAPI-backed, no login. MCP-ready.
Pricing
from $8.00 / 1,000 linkedin activity items
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
SDRs and ABM researchers paste a public LinkedIn /in/ profile URL and receive one dataset row per comment or reaction that person made on someone else's post. Each row returns commentText or reactionType, the original postAuthorName, a postTextPreview, and postUrl so outreach can reference a real conversation. Charged Pay per event plus platform usage.
Best fit for this Actor
- Best for a known public LinkedIn profile when the job is "what has this person been commenting on or reacting to?"
- Designed for personalized outbound: comment text plus the original post author and preview in one row.
- Pair it with LinkedIn Post Engagers Scraper when the next step is people on a specific
postUrl, or start with LinkedIn Profile Comments Scraper when the job is commenters on that profile's own posts.
Workflow: from profile URL to outreach copy
An SDR targeting Microsoft commercial leaders pastes https://www.linkedin.com/in/satyanadella/, chooses comments, and caps Max comments per profile at 3. The Actor then returns comment text, original post author, and post preview. Next they export CSV or pass postUrl into a post-engagers run, or pass profileUrl into email enrichment.
Quick start input
{"profiles": ["https://www.linkedin.com/in/satyanadella/"],"scrapeType": "comments","commentsLimit": 3,"maxResults": 3}
That input is the quality-test prefill: one public profile, comments only, three billed rows.
Input reference
| Field | Type | What it controls |
|---|---|---|
profiles | string list (required) | LinkedIn /in/ URLs or public identifiers. Example: satyanadella. Duplicates removed. Max 100. Post and company URLs are skipped. |
scrapeType | enum | comments (default), reactions, or both. |
commentsLimit | integer | Max comments per profile (1–500, default 10, prefill 3). |
reactionsLimit | integer | Max reactions per profile (1–500, default 10). |
maxResults | integer | Run-wide billed-row cap (1–2000, default 50). |
postedLimit | enum | any (default), 24h, week, month, 3months, 6months, 12months. |
maxConcurrency | integer | Profiles in parallel (1–3, default 1). |
What data you receive
One dataset item is one comment or one reaction the queried profile made on another person's post.
| Field | Description |
|---|---|
recordType | comment or reaction |
profileUrl / profileName | The person whose activity you requested |
commentText | Comment body on comment rows |
reactionType / actionText | Normalized type plus provider action on reaction rows |
postAuthorName / postUrl / postTextPreview | Original post context for outreach |
createdAt / scrapedAt | Activity time when provided, plus collection time |
provider | harvestapi |
{"recordType": "comment","profileUrl": "https://www.linkedin.com/in/satyanadella","profileName": "Satya Nadella","commentText": "Thanks for having me.","postAuthorName": "Example Author","postTextPreview": "One of the privileges of teaching...","postUrl": "https://www.linkedin.com/posts/example_activity-123","createdAt": "recent ISO timestamp from the provider","provider": "harvestapi","scrapedAt": "collection time ISO timestamp"}
Reaction rows use recordType: "reaction" with reactionType (for example LIKE) and actionText instead of commentText.
Use through the API
curl "https://api.apify.com/v2/acts/khadinakbar~linkedin-user-comments-reactions-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profiles":["https://www.linkedin.com/in/satyanadella/"],"scrapeType":"comments","commentsLimit":3,"maxResults":3}'
Once the Actor completes, read the default dataset items and the OUTPUT / RUN_SUMMARY key-value records for outcome, itemsPushed, and chargedEventCounts.
Use with AI agents through Apify MCP
Scrape the last 3 comments https://www.linkedin.com/in/satyanadella/ left on other people's LinkedIn posts. Return comment text, original post author, post URL, and createdAt. Cap at 3 rows. Use profile URLs only.
Inspect OUTPUT.outcome before using rows. VALID_EMPTY means the profile is valid and the public activity list was empty in range. INVALID_INPUT means supply a LinkedIn /in/ profile. Confirm cost via chargedEventCounts. Setup: https://mcp.apify.com.
Connect the workflow
- Then pass
postUrlto LinkedIn Post Engagers Scraper when you want the people on that original post. - Then pass
profileUrlto LinkedIn Profile Email Scraper when you want an email for the queried person. - Then pass
postAuthorUrlto LinkedIn Profile Details Scraper when you want public details for the post author.
Pricing
Pay per event plus platform usage. Confirm the live amounts on the Actor Pricing tab before a large run.
| Event | Intended price | When |
|---|---|---|
apify-actor-start | $0.00005 | Once per run |
activity-item | $0.008 | Each saved comment or reaction row |
A bounded prefill of 3 comments is about $0.024 in events plus compute. Valid empty profiles are charged the start event only. Platform usage includes this Actor's compute and the HarvestAPI nested fetch.
Best results
Provide a public LinkedIn /in/ URL and start with scrapeType: "comments" plus a small commentsLimit. Use postedLimit: "month" when you only need recent activity. Confirm OUTPUT.outcome and a sample row before scheduling. Source coverage is public HarvestAPI profile comments and reactions; keep maxResults as the cost cap.
Builder's note
I found that ScrapeCreators and SociaVault expose LinkedIn profiles and posts, while comments a person left on other people's posts arrive through HarvestAPI profile-comments and profile-reactions. I designed this Actor around that split so each dataset row is one activity item with original post context, rather than mixing it into a post-commenters scraper.
Legal and responsible use
Use this Actor on public LinkedIn data you are authorized to collect. Follow LinkedIn's terms, applicable laws, and your outreach policy. Keep runs proportionate. LinkedIn and HarvestAPI can change public activity coverage; check OUTPUT.outcome and a sample row before relying on a run.