LinkedIn Batch Profile Posts Scraper avatar

LinkedIn Batch Profile Posts Scraper

Pricing

from $6.00 / 1,000 linkedin post scrapeds

Go to Apify Store
LinkedIn Batch Profile Posts Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

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

FieldTypeWhat it controls
profileUrlsarray (required)Person profile URLs or handles. Example: https://www.linkedin.com/in/satyanadella/. Max 200 unique values. Company and post URLs are rejected.
maxPostsPerProfileintegerCap billed rows per profile. Default 10, max 50.
maxConcurrencyintegerProfiles fetched in parallel. Default 3, max 8.
postedLimitenumKeep posts inside any, 24h, week, month, 3months, 6months, or year. Default any.
includeRepostsbooleanKeep reshared posts. Default true.
authoredOnlybooleanKeep original posts only. Default false.
providerOrderenumscrapecreators-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"
}
FieldMeaning
text + postUrlPublic post body and permalink
publishedAtISO 8601 date from the provider, or from the activity ID when needed
hashtags / mentionsTags parsed from the post text
cadencePostsPerWeekMatching posts for that profile, expressed per week
activityKindposted, 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

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 run
  • post-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

  1. Normalize and deduplicate profile URLs and handles.
  2. Fetch each public profile concurrently from ScrapeCreators, then SociaVault on failure.
  3. Keep posts that match postedLimit, includeReposts, and authoredOnly.
  4. 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 maxPostsPerProfile near 10. The public preview rarely returns a full archive.
  • Use postedLimit when you only want last-week or last-month activity.
  • A typo handle finishes SUCCEEDED with VALID_EMPTY and 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.

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.