LinkedIn Post Reactions Scraper
Pricing
from $1.50 / 1,000 results
LinkedIn Post Reactions Scraper
Extract people and entities that reacted to LinkedIn posts, including reaction type, name, headline, profile URL, and image URLs.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Muhammad Qaseem Iqbal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What is LinkedIn Post Reactions Scraper?
LinkedIn Post Reactions Scraper extracts reaction-level data from public LinkedIn posts and saves it as a structured Apify dataset. Paste a LinkedIn post URL, choose a reaction type such as Like or Praise, and get a clean list of people or entities that reacted to the post.
Use it to analyze LinkedIn engagement, identify interested audiences, export post reactions to CSV or Excel, monitor campaign engagement, or connect LinkedIn reaction data to research, CRM, BI, or automation workflows.
What can LinkedIn Post Reactions Scraper do?
- Extract one dataset row per LinkedIn post reaction.
- Filter by
ALL,LIKE,PRAISE,EMPATHY,APPRECIATION, orINTEREST. - Collect reactor names, headlines, profile URLs, profile image URLs, and URNs when available.
- Process one post URL or multiple post URLs in a batch.
- Use automatic pagination for larger posts or manual pagination for one page at a time.
- Export results as JSON, JSONL, CSV, Excel, XML, HTML table, RSS, and other Apify-supported formats.
- Automate runs with Apify API, schedules, webhooks, Google Sheets, Make, Zapier, Slack, Airbyte, or your own app.
What data can you extract from LinkedIn post reactions?
| Data point | Description |
|---|---|
reactionType | Reaction type returned for the reactor, such as LIKE or PRAISE. |
reactorName | Name of the person or entity that reacted, when available. |
reactorHeadline | LinkedIn headline or subtitle shown for the reactor. |
reactorProfileUrl | LinkedIn profile URL for the reactor, when available. |
reactorUrn | LinkedIn URN or internal identifier returned for the reactor. |
reactorType | Normalized entity type, such as person, company, or unknown. |
profilePictureSmall | Small profile image URL. |
profilePictureMedium | Medium profile image URL. |
profilePictureLarge | Large profile image URL. |
profilePictureOriginal | Largest available profile image URL. |
postUrl | Source LinkedIn post URL. |
postId | Normalized LinkedIn post or activity ID, when available. |
pageNumber | Page number used during extraction. |
resultPosition | Position of the reaction in the extracted result sequence. |
scrapedAt | ISO timestamp when the record was extracted. |
dedupeKey | Stable key for removing duplicates in downstream systems. |
How to use LinkedIn Post Reactions Scraper
- Open the Actor on Apify.
- Paste a public LinkedIn post URL into LinkedIn post URL or ID.
- Choose a reaction type, or keep All reactions.
- Choose Auto pagination for most runs, or Manual pagination if you only need one page.
- Set a maximum result limit to control run size and cost.
- Click Start.
- Open the Dataset tab to preview, filter, or export the results.
For batch runs, use Start URLs and add multiple LinkedIn post URLs.
Input
| Input field | Type | Required | Description |
|---|---|---|---|
postUrlOrId | string | No | One LinkedIn post URL or post ID. Use this for quick single-post runs. |
startUrls | array | No | Batch list of LinkedIn post URLs. Required if postUrlOrId is empty. |
reactionType | string | No | ALL, LIKE, PRAISE, EMPATHY, APPRECIATION, or INTEREST. |
paginationMode | string | No | auto collects multiple pages; manual collects one page. |
pageNumber | integer | No | Page number used in manual pagination mode. |
limit | integer | No | Page size from 1 to 100. |
maxResultsPerPost | integer | No | Maximum reactions to save per post in auto mode. |
maxResults | integer | No | Maximum reactions to save across the whole run. |
deduplicateResults | boolean | No | Removes duplicate reactions from repeated inputs or overlapping pages. |
includeProfilePictures | boolean | No | Adds profile image URLs when available. |
proxyConfiguration | object | No | Proxy settings. Apify Proxy is recommended for production runs. |
Example input
{"postUrlOrId": "https://www.linkedin.com/feed/update/urn:li:activity:7302346926123456789/","reactionType": "ALL","paginationMode": "auto","maxResultsPerPost": 500,"maxResults": 1000,"deduplicateResults": true,"includeProfilePictures": true,"proxyConfiguration": {"useApifyProxy": true}}
Batch input example
{"startUrls": [{"url": "https://www.linkedin.com/feed/update/urn:li:activity:7302346926123456789/"},{"url": "https://www.linkedin.com/posts/example-company_product-launch-activity-7301111111111111111-aB12"}],"reactionType": "PRAISE","paginationMode": "auto","maxResultsPerPost": 300}
Input tips
- Use full LinkedIn post URLs for best results.
- Use
ALLwhen you want the complete reaction list returned by the scraper. - Use a specific reaction type when you only care about one signal, such as
PRAISE. - Keep
limitat100for efficient pagination. - Lower
maxConcurrencyif you see rate limits or unstable runs. - Duplicate post URLs are normalized and deduplicated when deduplication is enabled.
- Manual pagination is useful when you want page 1, page 2, page 3, and so on as separate controlled runs.
Output
Results are saved to the default Apify dataset. Each dataset item represents one LinkedIn post reaction.
You can export the dataset from Apify as JSON, JSONL, CSV, Excel/XLSX, XML, HTML table, RSS, or access it programmatically through the Apify API.
Example output
{"reactionType": "LIKE","reactorUrn": "ACoAAANJH5ABQBGTZESH7RCoKqp5CgbqrExample","reactorName": "Himanshu Shekhar","reactorHeadline": "Digital Transformation Leader | IT Strategy | BPM | Low Code No Code | Financial Services","reactorProfileUrl": "https://www.linkedin.com/in/himanshu-example/","reactorProfileId": "himanshu-example","reactorType": "PERSON","profilePictureSmall": "https://media.licdn.com/dms/image/example/profile-displayphoto-shrink_100_100/0/example.jpg","profilePictureMedium": "https://media.licdn.com/dms/image/example/profile-displayphoto-shrink_200_200/0/example.jpg","profilePictureLarge": "https://media.licdn.com/dms/image/example/profile-displayphoto-shrink_400_400/0/example.jpg","profilePictureOriginal": "https://media.licdn.com/dms/image/example/profile-displayphoto-shrink_800_800/0/example.jpg","postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7302346926123456789/","postId": "7302346926123456789","inputUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7302346926123456789/","pageNumber": 1,"resultPosition": 1,"scrapedAt": "2026-06-17T12:00:00.000Z","dedupeKey": "7302346926123456789|ACoAAANJH5ABQBGTZESH7RCoKqp5CgbqrExample|LIKE","metadata": {"reactionTypeRequested": "ALL","paginationMode": "auto","limit": 100,"source": "linkedin"}}
How much does it cost to scrape LinkedIn post reactions?
The final cost depends on the Actor pricing model, run duration, number of posts, number of reactions, proxy usage, memory, retries, and whether the extraction path uses lightweight HTTP requests or browser automation.
To control cost, set maxResultsPerPost, use a specific reactionType when possible, keep concurrency moderate, avoid debug mode unless troubleshooting, and use scheduled runs with sensible limits for ongoing monitoring.
Do not assume that every LinkedIn post can be scraped at the same speed. Large posts, restricted posts, target-site rate limits, and retries can increase runtime and Compute Unit usage.
Integrations and API
You can use LinkedIn Post Reactions Scraper manually in Apify Console or automate it with Apify platform features.
Common workflows include scheduled monitoring, CSV or Excel export, Google Sheets delivery, Make or Zapier automation, Slack notifications, custom webhooks, CRM routing, BI ingestion, and internal tools that need a LinkedIn reactions API alternative.
Run with the Apify API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('USERNAME/linkedin-post-reactions-scraper').call({postUrlOrId: 'https://www.linkedin.com/feed/update/urn:li:activity:7302346926123456789/',reactionType: 'ALL',paginationMode: 'auto',maxResultsPerPost: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Replace USERNAME/linkedin-post-reactions-scraper with the final Actor ID.
Export LinkedIn reactions to CSV, Excel, JSON, or Google Sheets
After the run finishes, open the Actor run, go to the Dataset tab, click Export, and choose CSV, Excel, JSON, JSONL, XML, HTML, or another supported format. Use Apify integrations if you want to send the data to Google Sheets or another tool automatically.
Responsible use and legality
This Actor is intended for extracting data that you have a legitimate reason to process. LinkedIn reaction data may include personal data such as names, profile URLs, headlines, and profile images. You are responsible for complying with applicable laws and regulations, including GDPR and other privacy laws where relevant.
Do not use the Actor for spam, harassment, unlawful profiling, unauthorized collection of private information, or activities that violate applicable terms or laws. This README does not provide legal advice.
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedIn is a registered trademark of LinkedIn Corporation. All trademarks are property of their respective owners.
FAQ
Do I need a LinkedIn account?
The Actor is designed to work without requiring a LinkedIn account in the MVP. Results still depend on what is publicly available and accessible during the run.
Can I scrape every reaction from a viral LinkedIn post?
The Actor supports pagination and configurable limits, but you should not assume unlimited extraction. Very large posts may take longer, cost more, or be limited by LinkedIn availability, rate limits, or technical changes.
Can I filter by reaction type?
Yes. You can select ALL, LIKE, PRAISE, EMPATHY, APPRECIATION, or INTEREST.
Why are some profile fields missing?
LinkedIn may return limited information for some reactors. Profiles can be private, restricted, deleted, unavailable in your region, or returned without complete image or headline data.
Can I use this as a LinkedIn reactions API?
Yes. You can run the Actor with the Apify API and fetch the dataset programmatically. It is not an official LinkedIn API, and availability depends on the Actor's extraction method and LinkedIn's public accessibility.
Can I schedule the Actor?
Yes. Create an Apify Task with your preferred input and use Apify schedules to run it automatically.
Can I export results to CSV or Excel?
Yes. Apify datasets can be exported to CSV, Excel/XLSX, JSON, JSONL, XML, HTML table, and other supported formats.
What happens if one post fails in a batch run?
The Actor continues processing the remaining posts where possible. Failed posts and warnings are reported in the run log and summary records.
Troubleshooting
| Problem | Possible cause | What to try |
|---|---|---|
| No results returned | Post has no visible reactions, is restricted, deleted, or unavailable | Check the post URL in a browser and try another public post. |
| Invalid input error | The URL is not a supported LinkedIn post URL | Use a LinkedIn feed update or post activity URL. |
| Fewer results than expected | LinkedIn returned fewer visible reactions or a limit was reached | Increase maxResultsPerPost, use ALL, or try manual pagination. |
| Run is slow | Large post, retries, proxy latency, or browser mode | Lower result limits or process fewer posts per run. |
| Run is blocked or rate limited | Too much concurrency or target-site protection | Lower maxConcurrency, keep Apify Proxy enabled, and retry later. |
| Duplicate rows | Same post was entered multiple times or pages overlapped | Enable deduplicateResults. |
| Missing profile pictures | LinkedIn did not return image URLs for some reactors | Keep includeProfilePictures enabled, but expect nulls for unavailable images. |
| API run works but export columns look nested | JSON contains nested objects | Use the default dataset view or select flat fields when exporting. |
Support and feedback
Use the Issues tab on the Actor page for bug reports, feature requests, or questions. Include the run ID, input used, expected behavior, and a short description of what happened.
Custom enhancements may be possible, such as additional output fields, monitoring workflows, or integrations with related LinkedIn and enrichment Actors.