LinkedIn Post Engagers Scraper
Pricing
from $6.00 / 1,000 engager founds
LinkedIn Post Engagers Scraper
Extract LinkedIn post engagers from public post URLs: commenter names, profile URLs, comment text, post reaction and comment stats, with optional engager enrichment (current company, location, followers). Provider-backed via ScrapeCreators and SociaVault; no user cookies required.
Pricing
from $6.00 / 1,000 engager founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract the people engaging with public LinkedIn posts. Paste one or more LinkedIn post URLs and get one clean dataset row per engager: name, profile URL, their comment, and the post's reaction and comment stats. Turn on enrichment and every engager row also carries their current company, company URL, location, follower count, and an about preview — lead-list-ready without any LinkedIn login or cookies.
Designed for B2B outreach teams, recruiters, and account-based marketers who need prospecting lists from people who visibly interact with competitor, industry, or thought-leadership posts. Commenters are the highest-intent engagers on LinkedIn: they wrote something, which makes them warmer leads than passive likers. Pair it with LinkedIn Email Finder to turn the engagerProfileUrl values into verified outreach contacts.
When to use this Actor
- Build prospect lists from people commenting on competitor or industry posts
- Find decision-makers engaging with your target accounts' announcements
- Recruit candidates who participate in professional conversations
- Feed CRM or AI outreach workflows with engagement context — the comment text and post preview power personalization
Best fit & sibling routing
- For the posts themselves (full text, media, author stats), start with LinkedIn Posts Scraper, then pass its post URLs to this Actor for the people layer.
- For full comment threads with replies as the primary entity, use LinkedIn Post Comments & Engagements Scraper — this Actor is optimized for people-rows, while that one goes deep on thread structure.
- For reaction count summaries per post, use LinkedIn Post Reactions Scraper when post-level reaction metrics are the goal.
- Reactor (liker) identity lists sit outside this Actor's scope: public no-login data exposes commenters with identity and reactions as counts, so this Actor ships an honest commenters contract built entirely on public data.
Input
| Field | Type | Default | Description |
|---|---|---|---|
postUrls | array (required) | 1 example URL | Up to 100 LinkedIn post/activity/pulse URLs per run |
maxEngagersPerPost | integer | 100 | Cap engager rows saved per post (output + cost cap) |
enrichProfiles | boolean | false | Add company, location, followers, about to each engager ($0.012/row extra) |
providerOrder | enum | scrapecreators-first | Data provider priority; fallback fires automatically |
maxConcurrency | integer | 2 | Posts processed in parallel (1–5) |
Example input
{"postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/"],"maxEngagersPerPost": 100,"enrichProfiles": true}
Output
One dataset row per engager. Fields:
| Field | Always present | Description |
|---|---|---|
engagerName | ✅ | Public name of the engager |
engagerProfileUrl | when exposed | Public LinkedIn profile URL |
engagementType | ✅ | commenter |
commentText | when exposed | Full comment text |
commentPosition | ✅ | Position within the visible comment list |
postUrl, postId | ✅ | Source post attribution |
postAuthorName, postAuthorUrl, postPublishedAt | when exposed | Post author context |
postReactionCount, postCommentCount | when exposed | Post-level engagement stats |
postTextPreview | when exposed | First 280 chars of the post (outreach context) |
enriched | ✅ | Whether profile enrichment succeeded |
currentCompanyName, currentCompanyUrl, engagerLocation, followerCount, aboutPreview | enriched rows | Public profile enrichment fields |
provider, scrapedAt | ✅ | Provenance and freshness |
Example output row (real field shape from a live run)
{"engagerName": "Bhaskar Gangipamula","engagerProfileUrl": "https://www.linkedin.com/in/bhaskargangi","engagementType": "commenter","commentText": "Looking at AI adoption county by county is where the real story is...","commentPosition": 1,"postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/","postId": "7468770468041502720","postAuthorName": "Microsoft","postReactionCount": 379,"postCommentCount": 25,"postTextPreview": "Our newest AI Diffusion Report is out...","enriched": true,"currentCompanyName": "Quadrant Technologies","currentCompanyUrl": "https://www.linkedin.com/company/quadranttechnologies-1","engagerLocation": "Greater Seattle Area","followerCount": 14662,"aboutPreview": "Currently building Quadrant Technologies, a globally recognized IT services company...","provider": "scrapecreators","enrichmentProvider": "scrapecreators","scrapedAt": "2026-08-17T00:00:00.000Z"}
Every terminal run also writes OUTPUT and RUN_SUMMARY records with outcome (COMPLETE / PARTIAL / VALID_EMPTY / INVALID_INPUT / UPSTREAM_FAILED / CONFIG_ERROR), per-post results, provider diagnostics, and billing counters.
Workflow story: from a competitor's post to a prospect list
A growth lead at a BI vendor starts with a competitor's launch post URL. She pastes it into this Actor with enrichProfiles: true. The run starts, each post URL is fetched through the provider chain, and one row per commenter lands in the dataset. She then filters rows by currentCompanyName against her 50-account target list — eight commenters work at three target accounts. Next she exports the dataset to Sheets, then passes the warmest engagerProfileUrl values to LinkedIn Email Finder to verify contact details, and feeds the final list into her sequencer. Total elapsed time: under five minutes, total event cost under $0.20.
Pricing — Pay per event + platform usage
| Event | Price | Charged when |
|---|---|---|
| Actor start | $0.00005 | Once per run (scaled by memory) |
engager-found | $0.006 | One engager row saved to the dataset |
engager-enriched | $0.012 | Additional, only when a row was successfully enriched |
That is $6 per 1,000 engager rows, or $18 per 1,000 rows when enriched. A typical single post with ~9 visible commenters costs about $0.054 (unenriched) or $0.16 (enriched); a 10-post enriched batch tops out near $1.60 for 100 engager rows. Your run log prints the exact cost cap before any charge fires, and only saved rows are billed. Platform usage (compute/proxy) is billed on top at Apify's rates — the live Pricing tab is the current source of truth for effective prices on your plan.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-post-engagers-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7468770468041502720/"],"maxEngagersPerPost": 100,"enrichProfiles": true}'
Results land in the run's default dataset: https://api.apify.com/v2/datasets/{datasetId}/items?clean=true. Paginate large batches with offset/limit on that endpoint.
AI-agent / MCP usage
This Actor is MCP-ready: one tool call with postUrls returns structured engager rows.
"Given these LinkedIn post URLs, list everyone who commented, with their profile URL, current company, and location, so I can build an outreach list."
Agents should expect: dataset rows via get-actor-output with clean pagination; outcome/RUN_SUMMARY readback for scope and provenance (provider, scrapedAt on every row); unavailable or deleted posts reported per-URL in diagnostics; empty comment sections as a clean VALID_EMPTY outcome with zero fabricated rows; and a printed cost cap before any charge fires.
Best results guidance
- Pick posts with 20–200 comments: enough signal, still fully visible to public data.
- For outreach lists, run with
enrichProfiles: trueand filter rows bycurrentCompanyNameagainst your target-account list. - Deduplicate across runs by
engagerProfileUrl; a person engaging with several of your posts is your warmest lead. - Batch up to 100 post URLs per run; keep
maxConcurrencyat 2 unless you raise it after watching provider pacing in the log.
Scope, data boundary & recovery
- Commenters are the engager type with identity in public data. Reactions are returned as post-level counts; reactor identities sit behind LinkedIn login and stay outside this Actor's public-data scope.
- Top visible comments per post. The data provider returns roughly the top 10 visible commenters per post; busier posts are capped at what public data exposes (flagged per post in the run summary).
- Public-page enrichment only. Company, location, followers, and about come from public profile pages; emails and private network data stay outside the contract.
- Per-URL resilience. Provider hiccups are retried with backoff, then routed to the second provider; a run with at least one working URL finishes as
PARTIALwith diagnostics, a run where every URL is unavailable endsUPSTREAM_FAILED, and only saved rows are billed. - Input validation. Missing or non-post URLs exit fast as
INVALID_INPUTwith an actionable message.
Evidence & freshness
- Field shape verified against live provider payloads for real posts during the August 2026 build: commenter rows with full identity, post reaction counts, and enrichment fields (current company, location, follower count, about) all confirmed on real profiles.
- Competitor positioning checked against the live Apify Store API during my 2026 niche research: the engagers niche is one of the highest-demand LinkedIn categories on the Store, dominated by raw unenriched row dumps — this Actor differentiates on enriched, high-intent commenter leads and an honest public-data-only scope.
- Every row carries
providerandscrapedAt; release acceptance evidence for the shipped build is recorded in the actor's private build audit before publication.
Builder's note
I built this after probing both ScrapeCreators and SociaVault live against real posts: I found both expose commenter identities and reaction counts, while reactor identities stay behind login — so I shipped an honest commenters contract with dual-provider fallback. In my testing, raw commenter rows (name + URL) answered "who", but outreach teams kept asking "where do they work" — that is why enrichment (company, location, followers) is a first-class option rather than an afterthought.
Integrations
Rows are plain JSON — pipe the dataset into Google Sheets, Airtable, a CRM, or an email-finder step. Natural chain: this Actor, then pass engagerProfileUrl values to LinkedIn Email Finder (profile URL → verified email) to complete the contact step, and monitor new engagement by scheduling re-runs of the same post URLs weekly.
Legal
This Actor retrieves publicly available data. You are responsible for complying with LinkedIn's Terms of Service, applicable data-protection laws (GDPR/CCPA), and Apify's Exclusion Policy when using the results.