LinkedIn Company Page Post & Engagement Extractor
Pricing
from $0.49 / 1,000 results
LinkedIn Company Page Post & Engagement Extractor
Pull posts from any LinkedIn company page with captions, media, article links, hashtags, mentions, and reaction/comment/repost counts, filterable by date and engagement.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
vexaloom-labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Share
Pull the public post history off any LinkedIn company page — captions, media, article links, hashtags, mentions, engagement counts and the top comments — without cookies or a login. Give it company URLs or bare slugs (one or many), and it returns one clean record per post: the company's own recent posts from its public page, plus deeper company-authored history found through the public search index.
What this actor does
- Company page feed: reads the public recent-post feed of each company page (up to 10 posts, mixing in a few featured employee posts — employee posts are excluded by default and can be included with a toggle).
- Deeper indexed history: optionally searches the public web index for older company-authored posts, so you can go past what the page itself shows. Coverage depends on that index; the actor reports how many posts each source contributed.
- Full post details: each post's public page is opened for the complete text, exact publish time, top comments, follower count and media (images, video, documents). Turn detail fetching off for a faster, lighter run.
- Documents: document (PDF/PPTX) posts expose the title, page count, and — when requested — the original PDF, page images and the per-page text transcript.
- Filters that actually apply: post type, recency window, exact date range, minimum reactions/comments, reposts on/off, and sort by newest or most reactions. The legacy
cookiefield is accepted but ignored. - Empty fields are omitted — you will never see
nullor an empty string in a record.
Output per post
| Field | Description |
|---|---|
postId | Numeric LinkedIn post ID. |
postUrl | Direct link to the post on LinkedIn. |
sourcePostUrl | The discovery URL that produced the record (may differ for reposts). |
companyName | Display name of the company page. |
companySlug | Company slug parsed from your input. |
companyUrl | Canonical URL of the company page. |
companyLogoUrl | Company logo image URL. |
authorName | Name of the author (the company, or an employee for featured posts). |
authorProfileUrl | LinkedIn URL of the author. |
authorHeadline | Author headline when the page exposes one. |
authorFollowers | Author's follower count. |
authorAvatar | Author/company avatar image URL. |
content | Full text body of the post. |
postedAt | ISO 8601 publish timestamp. Rows built without opening the post page carry postedAtApproximate: true (date derived from the post ID). |
mediaType | text, image, video, article, document or repost. |
mediaUrls | Flat list of attached media URLs. |
mediaItems | Structured media list (type, url, thumbnailUrl, durationSec). |
videoDuration | ISO 8601 duration for video posts (e.g. PT22S). |
articleTitle, articleUrl | Title/URL when the post shares an article or link. |
linkPreview | Link preview metadata when present. |
documentTitle, documentPageCount | Document post title and page count. |
documentUrl | Original PDF URL (with Include document details on). |
documentPageImages[], documentTranscript | Page images and per-page text (with Include document details on). |
pollOptions | Reserved for poll posts; LinkedIn does not expose poll options to logged-out visitors, so poll posts are returned as text. |
repostOf | Original post details when this is a repost; isRepost is also set. |
hashtags[] | Hashtags found in the post text. |
mentionedCompanies[], mentionedPeople[] | Entities tagged in the post. |
comments[] | Top comments: authorName, text, postedAt, reactionsCount, and authorProfileUrl when the richer layout is served (capped at 10, up to 18 when LinkedIn serves its richer public layout). |
reactionsCount, commentsCount | Engagement totals (0 is a real value). |
repostsCount | Share count — only returned when Include reaction breakdown is on and LinkedIn serves the richer layout. |
reactionBreakdown | Per-reaction-type counts — same conditions as repostsCount. |
viewsCount | Reserved; LinkedIn does not publish view counts on public post pages. |
source | Where the post was discovered: companyPage, index or postUrl. |
inputUrl, recordType, scrapedAt | Your input that produced the row, "post", and the scrape timestamp. |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | auto | auto / companyPosts / postUrls |
companyUrls | array | – | Company page URLs or bare slugs (e.g. hubspot). |
postUrls | array | – | Specific post links to extract (mode=postUrls). |
maxPostsPerCompany | int | 10 | Hard cap per company (1–500). |
postTypes | array | all | Keep only these media types. |
includeEmployeePosts | bool | false | Include featured employee posts from the company feed (sub-brand/showcase posts already count as company posts). |
includeIndexedPosts | bool | true | Also search the public index for older company posts. |
datePosted | string | "" | Recency window: any / 24 hours / week / month. |
postedAfter | string | – | Exact ISO date: keep posts on or after this date. |
postedBefore | string | – | Exact ISO date: keep posts on or before this date. |
minReactions | int | 0 | Minimum reactions threshold. |
minComments | int | 0 | Minimum comments threshold. |
sortBy | string | recent | recent (newest first) or popular (most reactions). |
includeReposts | bool | true | Keep reposts in the output. |
hydratePosts | bool | true | Open each post page for full details. |
includeReactionBreakdown | bool | false | Add reactionBreakdown and repostsCount when available. |
includeDocumentDetails | bool | false | Add PDF URL, page images and transcript for documents. |
monitorMode | bool | false | Return only posts not seen by a previous run. |
language | string | en | Preferred content language. |
cookie | string | – | Legacy field, accepted and ignored. |
Example: daily prefill (smallest run)
{"mode": "auto","companyUrls": ["https://www.linkedin.com/company/hubspot/"],"maxPostsPerCompany": 2}
Example: monitor competitor pages weekly
{"mode": "companyPosts","companyUrls": ["salesforce", "hubspot", "zendesk"],"maxPostsPerCompany": 30,"datePosted": "r604800","includeIndexedPosts": true,"monitorMode": true}
Example: only high-engagement posts, newest first
{"mode": "companyPosts","companyUrls": ["https://www.linkedin.com/company/nvidia/"],"maxPostsPerCompany": 50,"minReactions": 100,"sortBy": "popular","postTypes": ["text", "image", "video"]}
Example: documents with full details
{"mode": "companyPosts","companyUrls": ["google", "microsoft"],"maxPostsPerCompany": 25,"postTypes": ["document"],"includeDocumentDetails": true}
Use cases
- Competitive intelligence — track what competitors publish, and how their audiences react.
- Sales & ABM signals — watch target accounts for launches, funding, hiring and event posts.
- Content strategy — analyse posting cadence, formats and top-performing topics across a sector.
- Social listening exports — feed company post data into BI tools, CRMs or AI pipelines.
- Recruiting research — follow employer-brand content and engagement trends.
- Monitoring automation — schedule runs with monitor mode to collect only new posts.
FAQ
Does this actor need cookies or a LinkedIn login?
No. Everything is collected from public pages without any account, cookie or API key. The legacy cookie input is accepted for compatibility with older saved tasks and ignored.
Why does a company return fewer posts than I expected?
A company page's public feed only shows its latest handful of posts (up to 10 cards). Turn on Include indexed posts to search the public web index for older company-authored posts — that usually finds more, but its coverage varies by company. LinkedIn itself stops a company's full post history at 500 posts and one year.
Can it read the company's "Posts" tab with pagination?
No — LinkedIn requires a sign-in for that tab, and it stays behind the login page from every connection type we tested. The actor works from the public recent feed plus the public search index instead, and says so in the run summary when a company's feed is not public.
Why are some dates marked postedAtApproximate?
When detail fetching is off, the publish date is derived from the post ID (accurate to about an hour). With detail fetching on (the default), the exact timestamp from the post page is used.
How many comments are returned?
Up to 10 top comments from the public post page, or up to 18 when LinkedIn serves its richer public layout (which also includes commenter profile links). LinkedIn does not expose the full comment thread to logged-out visitors.
Why is repostsCount missing on some rows?
Share counts are only published in the richer public layout. Enable Include reaction breakdown to fetch them when available; the actor never invents a 0.
Why is a document post missing its PDF link?
The PDF, page images and transcript are only fetched when Include document details is on. Without it, document posts still include the title and page count.
Do I need to set up a proxy?
No. The actor chooses a working connection to LinkedIn and the search index automatically. Just fill in the input and run it.
Is this affiliated with LinkedIn?
No, this is a third-party actor that reads publicly available pages. LinkedIn® is a trademark of LinkedIn Corporation.