LinkedIn Activity Feed Scraper with Engagement Filters
Pricing
from $0.49 / 1,000 results
LinkedIn Activity Feed Scraper with Engagement Filters
Pull posts, articles, and reposts from LinkedIn profile activity feeds, with reaction/comment/date filters and a per-reaction-type breakdown. Requires a LinkedIn session cookie.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Nimbryxo-studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape LinkedIn profile posts, company posts, and individual public post URLs without cookies, logins, or an API key. Get the full post text, author name and profile URL, exact publish date, reaction and comment totals, the visible comments, media, and clear original/quote/repost flags.
What this actor does
- Three modes:
postUrlsfor specific public posts,profilesfor a profile's recent posts, andcompaniesfor a company's recent posts. - Cookieless by design: reads public LinkedIn pages only, so there is no session cookie to export, expire, or leak.
- Exact post data: full text, author identity, ISO publish date, reaction total, comment total, media URLs, and the comments visible on the public page.
- Correct reshare semantics:
postTypeseparatesoriginal,quote, andrepost;repostOfnames the original author and text when LinkedIn exposes them. - Filters: media type, post type, relative date window, minimum reactions, minimum comments, and a global record cap. Empty fields are omitted.
Output per post
postId,postUrl,postedAt— numeric activity ID, canonical post URL, exact ISO publish dateauthorName,authorProfileUrl,authorType,authorAvatar,authorFollowers— author identity;authorTypeisPersonorOrganizationcontent— full post texthashtags— hashtags found in the post textmediaType—text,image,video,article,repost; legacy valuesdocument,carousel,poll, andeventare accepted by the filter but are not exposed on public pagesmediaUrls,mediaItems— image URLs, or a video URL with thumbnail, duration, and embed URLarticleTitle— live article/link title when the post is an article-style or image/link sharecomments— up to 10 visible comments, each withauthorName,text,postedAt, andreactionsCountcommentsCount— total comment count on the postreactionsCount— total reaction count (likes plus other reactions)postType—original,quote, orrepostisRepost,isQuotePost— flags for reshared and quote postsrepostOf— originalauthorName,authorProfileUrl,authorType,content, andpostUrlwhen availableinputUrl— the post or target URL that produced this recordinputProfileUrl— profile URL (mode=profiles)inputCompanyUrl— company URL (mode=companies)dataSource—public-post,public-profile, orpublic-companypartial— present andtruewhen only the discovery stub could be read (for example, the post page was blocked)recordType—postfor post records,errorfor diagnostic rowsscrapedAt— ISO 8601 run timestamp
Legacy compatibility fields remain part of the output contract but are omitted when the public page does not expose them: authorHeadline, articleUrl, linkPreview, documentUrl, pollOptions, mentionedPeople, mentionedCompanies, reactionBreakdown, repostsCount, and viewsCount. See Limitations.
Diagnostic rows have recordType: "error", targetType, inputUrl, status (invalid, not_found, blocked, empty, or fetch_failed), error, optional httpStatus, and scrapedAt. They are not counted toward maxItems.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | postUrls | postUrls, profiles, or companies |
postUrls | array | – | Public post URLs, feed-update URLs, activity URNs, or numeric activity IDs (mode=postUrls) |
profileUrls | array | – | Profile URLs or public identifiers, e.g. https://www.linkedin.com/in/williamhgates/ or williamhgates (mode=profiles) |
companyUrls | array | – | Company URLs or slugs, e.g. https://www.linkedin.com/company/google/ or google (mode=companies) |
maxPostsPerProfile | integer | 50 | Maximum posts kept per profile or company (1–500); public pages expose about 6–8 profile posts and 2–10 company posts |
mediaType | array | – | Keep only text, image, video, article, or repost; empty keeps all |
postTypes | array | ["text","image","video","article","document","repost"] | Legacy type filter; left at its default it changes nothing, otherwise it is merged with mediaType |
datePosted | string | Any time | "" (any time), r86400 (24 hours), r604800 (week), or r2592000 (month) |
minReactions | integer | 0 | Minimum reaction count |
minComments | integer | 0 | Minimum comment count |
includeReposts | boolean | true | Keep quote posts and reposts; set to false to drop them |
maxItems | integer | 1000 | Global cap on post records (1–10000); error rows do not count |
proxyConfiguration | object | – | Optional. The actor works without a proxy |
Example: one public post URL
{"mode": "postUrls","postUrls": ["https://www.linkedin.com/posts/williamhgates_how-better-data-helped-us-cut-child-mortality-activity-7329207003942125568-_gfJ"]}
Example: recent posts from several profiles
{"mode": "profiles","profileUrls": ["https://www.linkedin.com/in/satyanadella/","https://www.linkedin.com/in/adam-grant/"],"maxPostsPerProfile": 8}
Example: company posts with engagement filters
{"mode": "companies","companyUrls": ["https://www.linkedin.com/company/google/"],"datePosted": "r2592000","minReactions": 100,"includeReposts": false}
Example: a mixed list of posts, with comments and media
{"mode": "postUrls","postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7518622101692436482/","https://www.linkedin.com/posts/nvidia_ai-is-technology-activity-7518633624649252864-9XSo","https://www.linkedin.com/feed/update/urn:li:activity:7518239029990023168/"],"mediaType": ["image", "video", "article"],"minComments": 5,"maxItems": 50}
Use cases
- Content research — collect full posts and visible comments from experts, creators, and companies you track.
- Competitive intelligence — monitor the latest company posts and compare engagement across peers.
- Lead generation — find active, high-engagement authors and the posts that sparked discussion.
- Influencer vetting — check real reaction and comment counts before a sponsorship or partnership.
- Campaign reporting — export exact dates, post URLs, and engagement totals for a reporting window.
- Dataset building — assemble a clean post corpus for topic modelling, sentiment analysis, or LLM training.
Limitations
- Public surfaces only. Private profiles, member-only posts, and pages that return a login wall or HTTP 999 are reported as diagnostic error rows instead of being bypassed.
- Profile depth is about 6–8 posts. A public profile page shows only its latest posts and has no "load more" for logged-out visitors.
maxPostsPerProfilecannot unlock older history. - Company depth is about 2–10 posts. It comes from the company home page, not the
/posts/tab, which is login-gated. Older company posts are not available. - Comments are the visible subset. The public page exposes up to 10 comments, with text, author name, date, and likes. It does not expose replies, comment permalinks, or commenter profile URLs.
- These fields are not public: shares/reposts counts, views/impressions, per-reaction-type breakdown, reactor or liker identities, and author headlines. They are omitted rather than estimated.
- Some media labels are not public: document, carousel, poll, and event posts are not distinguishable on the public post page, so they are reported as
text,image,video, orarticlebased on what the page exposes. - Date filters apply to what was discovered. In profile and company modes, only the latest page of posts is filtered; the filter does not make older posts appear.
- A failed hydration can produce a
partialrecord. When a profile or company page lists a post but its public post page is blocked, the record keeps the listing text, date, author, and reaction count and is markedpartial: true.
FAQ
Do I need a LinkedIn cookie or login? No. This actor reads public LinkedIn pages only. There is no cookie field to fill and no account risk.
How many posts can I get per profile?
About 6–8 recent posts per profile. That is the public page's own limit; setting maxPostsPerProfile higher does not add pagination.
How many posts can I get per company? About 2–10 recent posts from the company home page. Older company posts are behind a login wall.
Why are shares, views, or the reaction breakdown missing? LinkedIn does not publish those values on public post pages. The actor deliberately omits them instead of returning zeros or guesses.
What is the difference between quote and repost?
A quote adds the sharer's own commentary above the original content. A repost shares the original without new commentary. repostOf carries the original author and text when LinkedIn exposes them.
Are the comments the full thread? No. They are the up-to-10 comments LinkedIn renders on the public page, in the order LinkedIn shows them. Replies and commenter profile URLs are not included.
Why did I get an error row instead of a post?
The post, profile, or company was private, deleted, rate-limited, or returned a login wall. The row's status and error fields say which case occurred; other targets in the same run still return data.
Can I scrape a specific old post?
Yes, if it is public. Put its URL, feed-update URL, activity URN, or numeric ID in postUrls.
Can I run this on a schedule? Yes. A daily run with one public post URL is enough to return data and keep a dataset fresh.
Is this affiliated with LinkedIn? No. This is an independent, third-party actor; it is not operated by or affiliated with LinkedIn.