LinkedIn Batch Profile Posts Scraper
Pricing
from $6.00 / 1,000 linkedin post scrapeds
LinkedIn Batch Profile Posts Scraper
Scrape recent public LinkedIn posts from a batch of person profiles. Use for ABM monitoring, thought-leader cadence, and competitor content research. Returns one row per post with text, URL, date, hashtags, mentions, and cadence. Charged $0.006 per post.
Pricing
from $6.00 / 1,000 linkedin post scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Turn a list of LinkedIn person profiles into one dataset of recent public posts. Paste profile URLs or vanity handles and get post text, permalink, published date, hashtags, mentions, and posting-cadence stats for every visible item in the public activity preview. No LinkedIn login or cookies.
This Actor is built for ABM and content teams that monitor many people in one run. Providers return the recent public preview (typically a handful of posts per profile), which is enough for cadence, topic, and signal monitoring.
Best fit for this Actor
- Watch a named ABM list for job-change, launch, and fundraising posts.
- Compare thought-leader posting cadence and hashtag mix across a watchlist.
- Feed a content radar with public executive posts before a weekly briefing.
For a single profile with optional post-detail enrichment, use LinkedIn Profile Posts Scraper. For company pages use LinkedIn Company Posts Scraper. For keyword search use LinkedIn Posts Scraper.
Practical scenario
A content strategist pastes satyanadella and parrsam, sets maxPostsPerProfile to 3, and leaves postedLimit at any. The run returns one row per recent public post: text, LinkedIn permalink, ISO date, extracted hashtags, and cadencePostsPerWeek for that profile. A missing handle finishes SUCCEEDED with VALID_EMPTY and no post-scraped charge.
Quick start input
{"profileUrls": ["https://www.linkedin.com/in/satyanadella/","https://www.linkedin.com/in/parrsam/"],"maxPostsPerProfile": 3,"postedLimit": "any","includeReposts": true,"authoredOnly": false,"maxConcurrency": 3}
profileUrls accepts /in/ URLs or bare vanity handles. Duplicate URLs are collapsed before any provider call.
Input reference
| Field | Type | What it controls |
|---|---|---|
profileUrls | array (required) | Person profile URLs or handles. Example: https://www.linkedin.com/in/satyanadella/. Max 200 unique values. Company and post URLs are rejected. |
maxPostsPerProfile | integer | Cap billed rows per profile. Default 10, max 50. |
maxConcurrency | integer | Profiles fetched in parallel. Default 3, max 8. |
postedLimit | enum | Keep posts inside any, 24h, week, month, 3months, 6months, or year. Default any. |
includeReposts | boolean | Keep reshared posts. Default true. |
authoredOnly | boolean | Keep original posts only. Default false. |
providerOrder | enum | scrapecreators-first (default) or sociavault-first. |
What data you receive
One dataset item is one public post.
{"profileInput": "https://www.linkedin.com/in/parrsam/","profileUrl": "https://www.linkedin.com/in/parrsam/","profileHandle": "parrsam","authorName": "Sam Parr","postUrl": "https://www.linkedin.com/posts/parrsam_a-chocolate-bar-company-came-on-my-first-activity-7496234896357568513-lOe7","postId": "7496234896357568513","activityKind": "posted","isRepost": false,"isAuthored": true,"publishedAt": "2026-08-20T16:01:12.559Z","text": "A chocolate bar company came on My First Million and walked through its revenue...","hashtags": [],"mentions": [],"cadencePostsInWindow": 3,"cadenceDaysSinceLastPost": 1,"cadencePostsPerWeek": 4.2,"provider": "scrapecreators","scrapedAt": "2026-08-21T12:00:00.000Z"}
| Field | Meaning |
|---|---|
text + postUrl | Public post body and permalink |
publishedAt | ISO 8601 date from the provider, or from the activity ID when needed |
hashtags / mentions | Tags parsed from the post text |
cadencePostsPerWeek | Matching posts for that profile, expressed per week |
activityKind | posted, repost, liked, commented, or reacted |
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-batch-profile-posts-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profileUrls":["https://www.linkedin.com/in/satyanadella/","https://www.linkedin.com/in/parrsam/"],"maxPostsPerProfile":3}'
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Scrape the last 3 public LinkedIn posts from satyanadella and parrsam. Return authorName, postUrl, publishedAt, text, hashtags, and cadencePostsPerWeek.
Connect via https://mcp.apify.com. Read OUTPUT.outcome and itemsPushed to interpret empty datasets.
Connect the workflow
- After you have post URLs, extract commenters with LinkedIn Post Engagers Scraper.
- For person identity without posts, use LinkedIn Profile Details 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 runpost-scraped: $0.006 per saved post row
A two-profile, three-post run is about $0.036 in result events plus a few seconds of Apify platform usage. Missing profiles and empty windows have no post-scraped charge. Provider credits are paid by the Actor owner.
How it works
- Normalize and deduplicate profile URLs and handles.
- Fetch each public profile concurrently from ScrapeCreators, then SociaVault on failure.
- Keep posts that match
postedLimit,includeReposts, andauthoredOnly. - Attach hashtags, mentions, and per-profile cadence, charge
post-scraped, then write the row.
Best results
- Pass person
/in/URLs or vanity handles, not company pages or post URLs. - Keep
maxPostsPerProfilenear 10. The public preview rarely returns a full archive. - Use
postedLimitwhen you only want last-week or last-month activity. - A typo handle finishes
SUCCEEDEDwithVALID_EMPTYand no post charge.
Builder's note
I found that both public-data providers return a short recentPosts preview with link, id, title, datePublished, and activityType on live person profiles. In my testing that preview is enough for cadence and tags, and SociaVault wraps the same posts in a numeric-key object, so the runtime treats objects and arrays the same. The product stays a batch monitor of the public preview.
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 and Microsoft.
Issues and feature requests: use the Actor Issues tab on Apify.