LinkedIn Profile Reactions Scraper
Pricing
from $5.00 / 1,000 linkedin profile reaction scrapeds
LinkedIn Profile Reactions Scraper
Extract posts a public LinkedIn profile reacted to (liked, celebrated, supported) with action type, post URL, author handle, and text preview. Provider-backed plus public HTML fallback. Cookieless, no login and MCP-ready.
Pricing
from $5.00 / 1,000 linkedin profile reaction scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Turn a public LinkedIn person profile URL or vanity handle into one dataset row per visible reaction that person gave — like, celebrate, support, love, insightful, or funny — with the reacted-to post URL, author handle, action label, and a short post preview. Designed for lead-intent researchers, creator-vetting teams, and outreach agents who want topic-interest signals from public activity. No LinkedIn login or cookies.
The Actor reads public guest activity LinkedIn already shows on a profile, plus any reaction items a managed profile provider returns. Typical yield is a handful of recent public likes, which is enough to see what a person engages with.
Best fit for this Actor
- Start with a person profile (
/in/handleor a bare handle) when you want the posts that person reacted to, not reactors on a post you already have. - Use
maxReactionsPerProfileto keep each profile to a bounded public-activity sample (default 25, quality prefill 10). - After you have reacted-to post URLs, continue with LinkedIn Profile Details Scraper on the post authors, or LinkedIn Profile Search Scraper when you still need to find people by keyword first.
Practical scenario
An agency researcher pastes https://www.linkedin.com/in/parrsam/ with maxReactionsPerProfile set to 10. The run returns rows such as reactionType: LIKE, the boutique-hotel post URL, postAuthorHandle, and a text preview. The researcher keeps authors whose topics match the client brief, then passes those author URLs into LinkedIn Profile Details Scraper for public about and experience fields.
Quick start input
{"profileUrls": ["https://www.linkedin.com/in/parrsam/"],"maxReactionsPerProfile": 10,"includeShares": false,"enrichPosts": false,"providerOrder": "scrapecreators-first","maxConcurrency": 2}
profileUrls accepts full /in/ URLs or bare vanity handles. One unique profile can produce several reaction rows, capped by maxReactionsPerProfile. Company pages and post URLs belong in a company or post Actor.
Input reference
| Field | Type | What it controls |
|---|---|---|
profileUrls | array | Required person profiles. Example: https://www.linkedin.com/in/parrsam/. Max 50 unique values. |
maxReactionsPerProfile | integer | Cap per profile. Default 25, prefill 10, max 100. Caps cost to public activity LinkedIn shows without login. |
includeShares | boolean | When true, public share and repost activity is saved with the reaction rows. Default false. |
enrichPosts | boolean | When true, each reacted-to post is fetched for author name and counts. Adds a post-enriched event. |
providerOrder | enum | scrapecreators-first (default), sociavault-first, or a single-vendor option. Keys stay owner secrets. |
maxConcurrency | integer | Parallel profiles. Default 2, range 1–5. |
What data you receive
One dataset item is one public reaction a source profile gave.
{"profileUrl": "https://www.linkedin.com/in/parrsam/","profileHandle": "parrsam","profileName": "Sam Parr","reactionType": "LIKE","actionLabel": "Sam Parr liked this","postUrl": "https://www.linkedin.com/posts/annacogswell_whats-the-best-boutique-hotel-youve-ever-activity-7495130403033272320-hzaE","postId": "7495130403033272320","postAuthorHandle": "annacogswell","postTextPreview": "What's the best boutique hotel you've ever stayed at?","enriched": false,"provider": "scrapfly","source": "public-html","scrapedAt": "2026-08-21T12:00:00.000Z"}
| Field | Meaning |
|---|---|
reactionType | LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT, or SHARE when shares are enabled. |
postUrl | LinkedIn URL of the post this profile reacted to. |
source | provider-activity or public-html. |
outcome in OUTPUT | COMPLETE when rows saved; VALID_EMPTY when the profile is public but no guest reactions are visible (no reaction-scraped charge). |
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-profile-reactions-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profileUrls":["https://www.linkedin.com/in/parrsam/"],"maxReactionsPerProfile":10}'
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Extract public LinkedIn profile reactions for https://www.linkedin.com/in/parrsam/. Return reactionType, postUrl, postAuthorHandle, postTextPreview, provider, and scrapedAt. Cap at 10 reactions. Read OUTPUT.outcome and itemsPushed before treating an empty dataset as a miss.
Connect via https://mcp.apify.com. Keep source postUrl values for provenance. Confirm cost on the live Pricing tab before raising maxReactionsPerProfile.
Connect the workflow
- Start with LinkedIn Profile Search Scraper when you have a keyword instead of profile URLs, then pass the returned
profileUrlvalues here. - After you have post authors, enrich public about and experience with LinkedIn Profile Details Scraper.
- For work emails on those profiles, use LinkedIn Profile Email Scraper.
- After you have people from this Actor, search open roles around them with LinkedIn Jobs Scraper.
Pricing
Pay per event plus platform usage. Confirm current event prices on the live Pricing tab; that tab is the source of truth if this page ever lags.
apify-actor-start: $0.00005 per runreaction-scraped: $0.005 per saved reaction rowpost-enriched: $0.008 per successfully enriched reacted-to post
A one-profile, 10-reaction check is about $0.05 in result events plus Apify platform usage. VALID_EMPTY profiles have no reaction-scraped charge. Provider credits are paid by the Actor owner.
How it works
- Normalize and deduplicate profile URLs and handles.
- Fetch public profile identity from ScrapeCreators, then SociaVault, and parse any reaction items in
activity. - When more public reactions are needed, render the public profile HTML and parse guest “liked this” / “celebrated this” cards, pairing each action with the nearest other-author post URL.
- Charge
reaction-scrapedonly after a usable row, then write the dataset item. Optional post enrichment addspost-enriched.
Best results
- Provide
/in/person URLs or vanity handles. Keep company pages for the company Actor and post URLs for a post Actor. - Start with
maxReactionsPerProfileat 10 for a cheap sample, then raise toward 25 when the public activity list is long. - Leave
enrichPostsoff when action type plus post URL is enough; turn it on when you need author name and post counts. - A missing or private-looking handle finishes
SUCCEEDEDwithVALID_EMPTYand noreaction-scrapedcharge when public data has no guest reactions.
Builder's note
I found that LinkedIn’s public profile JSON from managed providers often returns an empty activity array even when the live profile page still shows “liked this” cards for other authors. I designed the runtime to keep those provider identity fields, then fall back to public HTML for the reaction rows guests can already see. The login-gated Reactions tab stays out of this contract; the useful signal is the handful of public likes LinkedIn already renders without cookies.
Legal and responsible use
Use this Actor on public LinkedIn data you are authorized to process, follow applicable law and LinkedIn's terms, and keep the output in your own compliance workflow. This Actor is independent of LinkedIn.
Issues and feature requests: use the Actor Issues tab on Apify.