LinkedIn Post Engagers Scraper
Pricing
from $2.00 / 1,000 engager scrapeds
LinkedIn Post Engagers Scraper
Scrapes the commenters of LinkedIn posts anonymously (no cookies, no login) — the highest-intent engagers and the only ones published to logged-out visitors. One typed item per commenter per post: name, profile URL, comment text, ISO timestamp, likes. Errors never charged.
Pricing
from $2.00 / 1,000 engager scrapeds
Rating
0.0
(0)
Developer
Torchtechnology LTD
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does LinkedIn Post Engagers Scraper do?
LinkedIn Post Engagers Scraper turns the comments on any public LinkedIn post into a clean, typed prospect list — one dataset item per commenter per post, with the commenter's name, profile URL, professional headline (when LinkedIn renders it), the full comment text (opt-in), an absolute ISO timestamp, the comment's like count, and its position in the visible thread. It runs completely anonymously: no cookies, no LinkedIn login, no browser — so there is zero account-ban risk for you, unlike cookie-based engager scrapers.
Commenters are the highest-intent engagers — and the only ones LinkedIn publishes to logged-out visitors. Reaction/liker lists are structurally login-gated; this actor does not pretend otherwise and focuses on doing the commenter signal perfectly: typed values, per-field coverage status (obtained / absent / unknown — never an invented value), an audit-proof provenance block (URL, HTTP status, SHA-256 page hash) on every item, and errors that are never charged. The actor runs on the Apify platform, so you get API access, scheduling, integrations, proxy rotation, and run monitoring out of the box.
What makes this LinkedIn engagers scraper different?
Most "post engagers" tools either require your LinkedIn cookies (your account carries the ban risk) or advertise reaction lists they cannot reliably deliver without login. This actor was built around what is verifiably available anonymously — and says so on every item.
| Capability | LinkedIn Post Engagers Scraper | alizarin_refrigerator / LinkedIn Post Engagers | scraping_solutions / Posts Engagers (No Cookies) | ScrapeSage / Post Engagement |
|---|---|---|---|---|
| No cookies / no login (no ban risk for you) | ✅ anonymous HTTP | ❌ requires your LinkedIn cookie (rated 2.0) | ✅ claimed | ✅ |
| Comment text included | ✅ opt-in, full text | ⚠️ varies | ❌ not in output schema | ✅ |
| Absolute ISO timestamp per comment | ✅ (plus verbatim relative label) | ❌ | ❌ | ❌ (relative "2w" only) |
| Per-comment like count | ✅ typed integer | ❌ | ❌ | ❌ |
| Commenter headline when rendered | ✅ | ⚠️ | ✅ ("subtitle") | ✅ (via profile enrichment) |
| Provenance / capture block (URL, HTTP status, SHA-256) | ✅ on every item | ❌ | ❌ | ❌ |
| Per-field coverage status | ✅ on every item | ❌ silent nulls | ❌ | ❌ |
| Errors never charged (transparency items) | ✅ | charges per engager regardless | ❌ per-dataset-item | ✅ "runs that find nobody charge nothing" |
| Price per 1,000 engagers | $2.00 | $20.00 | from $1.10 | $5.00 |
ScrapeSage's own documentation confirms the product boundary this actor is built on: "Reactions: NO — LinkedIn does not publish who liked a post to logged-out visitors." We agree — and we don't advertise liker lists we can't verify.
How much does it cost to scrape LinkedIn post engagers?
The actor uses pay-per-event pricing — you pay only for delivered engager items, and errors are never charged:
engager— $0.002 per engager ($2 per 1,000), charged once per pushed commenter item. Invalid URLs, deleted posts, blocked requests, and posts without comments produce transparency items in the dataset at zero cost.
| Posts per run | Engagers (top ~10 each) | Cost |
|---|---|---|
| 10 posts | ~100 | $0.20 |
| 100 posts | ~1,000 | $2.00 |
| 1,000 posts | ~10,000 | $20.00 |
The Apify free tier is enough to try the actor on a handful of posts before you scale up.
Who is this actor for?
| Audience | What they use it for |
|---|---|
| Sales / SDR teams (social selling) | People who comment on a competitor's or influencer's post are warm intent signals — export names, headlines, and profile URLs straight into your CRM. |
| Founder-led sales & ABM | Build account-based audiences from the engagers of topic-relevant posts; postAuthorName + postUrl keep the engagement context attached. |
| Recruiters | Find candidates actively participating in professional conversations in your niche. |
| Marketing / content teams | See who responds to your company's and your executives' posts — with the comment text and its like count. |
| AI / data pipelines | Clean, typed, provenance-stamped engager JSON for agents and enrichment workflows — honest null semantics instead of guessed gaps. |
How to scrape LinkedIn post commenters with LinkedIn Post Engagers Scraper
- Open the actor in Apify Store and click Try for free.
- On the Input tab, paste one or more public LinkedIn post URLs — both shapes work:
https://www.linkedin.com/posts/<author>_…-activity-<id>andhttps://www.linkedin.com/feed/update/urn:li:activity:<id>. - Optionally set Max engagers per post and toggle Include comment text.
- Click Start, then download your results from the Output or Storage tab — or pull them via the Apify API.
Using the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('CyprusAPI/linkedin-post-engagers').call({postUrls: [{ url: 'https://www.linkedin.com/feed/update/urn:li:activity:7487546696537923584' }],maxEngagersPerPost: 10,includeCommentText: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Using the Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient('<YOUR_APIFY_TOKEN>')run = client.actor('CyprusAPI/linkedin-post-engagers').call(run_input={'postUrls': [{'url': 'https://www.linkedin.com/feed/update/urn:li:activity:7487546696537923584'}],'maxEngagersPerPost': 10,'includeCommentText': True,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Input
The actor accepts the following parameters (see the Input tab for the full form). postUrls is required.
| Field | Type | Description |
|---|---|---|
postUrls | array | Public LinkedIn post URLs (/posts/…-activity-<id> or /feed/update/urn:li:activity:<id>). One engager item per commenter per post. Duplicates (same activity ID) are scraped once. |
maxEngagersPerPost | integer | Hard cap of engager items per post, strictly enforced (deduplicated by commenter profile). Default 10, min 1, max 25. Note: LinkedIn publishes only roughly the top 10 comments per post anonymously — higher values usually change nothing. |
includeCommentText | boolean | Include the full comment text in each item (commentText). Disable for a slim who-only list. Default true. |
country | string | ISO alpha-2 code for geo-pinned proxy exits (e.g. US, DE, GB). Default US. |
requestDelayMs | integer | Polite delay between post fetches. Default 0. |
proxyConfiguration | object | Proxy settings. Residential proxies are preselected — LinkedIn rejects datacenter IPs on many routes (HTTP 999). Your own proxies and the bundled geo pool are always tried first. |
proxiesByCountry | object | Optional geo-pinned proxy URLs per ISO country code, tried first ahead of the bundled pool and Apify proxy tiers. |
Output
One dataset item per commenter per post, plus uncharged transparency items for failed inputs. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
{"itemType": "engager","engagementType": "comment","postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7487546696537923584","postUrn": "urn:li:activity:7487546696537923584","postAuthorName": "Satya Nadella","postCommentCount": 443,"commenterName": "Jane Doe","commenterProfileUrl": "https://www.linkedin.com/in/janedoe","commenterHeadline": "VP of Data & AI | Enterprise Technology","commentText": "Fascinating to see Microsoft emphasizing the separation of models, harnesses, context, and action space …","commentedAt": "2026-07-28T11:16:16.017Z","commentedAtText": "3w","likeCount": 6,"position": 1,"commentUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7487546696537923584?commentUrn=urn%3Ali%3Acomment%3A%28…%29","commentUrn": "urn:li:comment:(urn:li:activity:7487546696537923584,7487828267173830656)","coverage": {"commenterProfileUrl": "obtained","commenterHeadline": "obtained","commentText": "obtained","commentedAt": "obtained","likeCount": "obtained"},"capture": {"captured_at_utc": "2026-08-20T15:30:00+00:00","url": "https://www.linkedin.com/feed/update/urn:li:activity:7487546696537923584","http_status": 200,"was_authenticated": false,"content_hash": "sha256:1a2b3c…"},"scrapedAt": "2026-08-20T15:30:01+00:00"}
Fields follow a three-state discipline: a value means observed, null means verifiably absent on the page, and the coverage block reports the status per field — no invented values. commenterHeadline in particular is only rendered by LinkedIn for some commenters; when it isn't there, you get null + "absent", not a guess.
Data table
| Field | Description |
|---|---|
postUrl, postUrn, postAuthorName, postCommentCount | The post this engagement belongs to, its author, and the post's total comment count (for context vs. the ~10 visible) |
commenterName, commenterProfileUrl | The commenter's public name and canonical profile URL (regional hosts and tracking params stripped) |
commenterHeadline | Professional headline — only when LinkedIn renders it on the comment (often absent) |
commentText | Full comment text (with includeCommentText) |
commentedAt, commentedAtText | Absolute ISO 8601 timestamp (from the page's structured data) plus the verbatim relative label ("3w") |
likeCount | Typed integer from the rendered "N Reactions" label on the comment |
position | 1-based position in the visible comment thread |
commentUrl, commentUrn | Comment permalink and LinkedIn URN |
coverage | Per-field status: obtained / absent / excluded_by_input |
capture | Provenance: capture timestamp, final URL, HTTP status, was_authenticated (always false), SHA-256 content hash |
Known limitations
We'd rather you know these up front:
- Commenters only — no likers, no resharers. LinkedIn does not publish reaction lists to logged-out visitors; every anonymous page we tested (2026-08-20) carries no reactor data, and the reactions routes answer with login walls or 404. Any tool promising logged-out liker lists should be treated with scepticism. Commenters are the highest-intent engagers — and the only ones available without risking your LinkedIn account.
- Top ~10 comments per post. LinkedIn embeds only roughly the ten top comments in the anonymous post page; the "See more comments" link verifiably points at the signup wall, so there is no anonymous pagination.
postCommentCounttells you the post's total (e.g. 443) so you can see the coverage ratio. Posts with few comments are delivered complete. commenterHeadlineis sparse. LinkedIn renders the headline line only for some commenters (markup variant observed in the wild). When absent, the field isnull— reported as"absent"incoverage, never invented.- Some commenters keep their public profile switched off. They still arrive with name and comment, but LinkedIn may omit the profile URL or the absolute date — again reported honestly via
coverage. - Residential IPs recommended. LinkedIn answers plain datacenter IPs on many routes with HTTP 999. The actor's proxy chain (your proxies → bundled residential pool → Apify datacenter → Apify residential) handles this automatically; blocked requests surface as uncharged transparency items.
Tips and advanced options
- Batch your posts. Paste dozens of post URLs into one run — per-post overhead is one HTTP request each, and duplicates (same activity ID in different URL shapes) are automatically scraped once.
- Use
includeCommentText: falsewhen you only need the who (name, profile, headline) — slimmer items, same price per engager. - Match proxies to your audience with
country/proxiesByCountryif you scrape region-specific content. - Schedule it. Run the actor on a schedule against a fixed list of competitor or influencer posts to build a recurring intent-signal feed, and wire the dataset into Google Sheets, Make, Zapier, or your CRM via Apify integrations.
- Chain it. Use our sibling LinkedIn actors to find the posts first (profile/company post lists), then feed the post URLs into this actor for the engagers.
FAQ
Do I need LinkedIn cookies or my account?
No. The actor is 100% anonymous — no cookies, no login, no browser. That is the core difference to cookie-based engager scrapers (e.g. alizarin_refrigerator's, rated 2.0): with those, your LinkedIn account carries the restriction/ban risk. Here, was_authenticated is always false in the provenance block.
Can you also give me the likers / reactors?
No — and nobody can, anonymously. Reaction lists are structurally login-gated by LinkedIn (verified 2026-08-20). We deliberately don't advertise login-only data. If reactions are a hard requirement, your only options are cookie-based tools — with the account risk on your side.
Why do I get at most ~10 engagers per post?
That's what LinkedIn publishes to logged-out visitors: roughly the top ten comments, embedded in the public post page. There is no anonymous "load more" path (the button links to the signup wall). postCommentCount shows the post's true total for context.
Why did some fields come back as null?
That is the honest-data design, not a bug: null means the field is verifiably absent on the page (e.g. a commenter without a rendered headline). The coverage block tells you the status per field — no invented values.
Is scraping LinkedIn commenters legal?
This actor extracts only publicly available data that LinkedIn serves to logged-out visitors — no login, no cookies, no circumvention (was_authenticated is always false). Note that commenter names, headlines, and profile URLs are personal data: under regulations such as the GDPR (EU/UK) you are the data controller for the output — you need a lawful basis (typically legitimate interest for B2B prospecting), must honor deletion requests, and must not use the data for spam, harassment, or unlawful profiling. Review LinkedIn's Terms of Service before scraping. If you are unsure, consult a lawyer. Apify is not liable for how you use the extracted data.
Something isn't working — where do I report it?
Open the Issues tab on the actor's page in Apify Console and describe the problem, ideally with the failing post URL and run ID. Error items in the dataset (error / errorDescription) already tell you what went wrong for individual posts.
Can you build a custom LinkedIn data solution?
Yes — if you need different fields, enrichment, or a fully managed pipeline, reach out via the Issues tab and ask about a custom solution.