LinkedIn Company Page Post & Engagement Extractor avatar

LinkedIn Company Page Post & Engagement Extractor

Pricing

from $0.49 / 1,000 results

Go to Apify Store
LinkedIn Company Page Post & Engagement Extractor

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

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 hours ago

Last modified

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 cookie field is accepted but ignored.
  • Empty fields are omitted — you will never see null or an empty string in a record.

Output per post

FieldDescription
postIdNumeric LinkedIn post ID.
postUrlDirect link to the post on LinkedIn.
sourcePostUrlThe discovery URL that produced the record (may differ for reposts).
companyNameDisplay name of the company page.
companySlugCompany slug parsed from your input.
companyUrlCanonical URL of the company page.
companyLogoUrlCompany logo image URL.
authorNameName of the author (the company, or an employee for featured posts).
authorProfileUrlLinkedIn URL of the author.
authorHeadlineAuthor headline when the page exposes one.
authorFollowersAuthor's follower count.
authorAvatarAuthor/company avatar image URL.
contentFull text body of the post.
postedAtISO 8601 publish timestamp. Rows built without opening the post page carry postedAtApproximate: true (date derived from the post ID).
mediaTypetext, image, video, article, document or repost.
mediaUrlsFlat list of attached media URLs.
mediaItemsStructured media list (type, url, thumbnailUrl, durationSec).
videoDurationISO 8601 duration for video posts (e.g. PT22S).
articleTitle, articleUrlTitle/URL when the post shares an article or link.
linkPreviewLink preview metadata when present.
documentTitle, documentPageCountDocument post title and page count.
documentUrlOriginal PDF URL (with Include document details on).
documentPageImages[], documentTranscriptPage images and per-page text (with Include document details on).
pollOptionsReserved for poll posts; LinkedIn does not expose poll options to logged-out visitors, so poll posts are returned as text.
repostOfOriginal 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, commentsCountEngagement totals (0 is a real value).
repostsCountShare count — only returned when Include reaction breakdown is on and LinkedIn serves the richer layout.
reactionBreakdownPer-reaction-type counts — same conditions as repostsCount.
viewsCountReserved; LinkedIn does not publish view counts on public post pages.
sourceWhere the post was discovered: companyPage, index or postUrl.
inputUrl, recordType, scrapedAtYour input that produced the row, "post", and the scrape timestamp.

Input

FieldTypeDefaultDescription
modestringautoauto / companyPosts / postUrls
companyUrlsarray–Company page URLs or bare slugs (e.g. hubspot).
postUrlsarray–Specific post links to extract (mode=postUrls).
maxPostsPerCompanyint10Hard cap per company (1–500).
postTypesarrayallKeep only these media types.
includeEmployeePostsboolfalseInclude featured employee posts from the company feed (sub-brand/showcase posts already count as company posts).
includeIndexedPostsbooltrueAlso search the public index for older company posts.
datePostedstring""Recency window: any / 24 hours / week / month.
postedAfterstring–Exact ISO date: keep posts on or after this date.
postedBeforestring–Exact ISO date: keep posts on or before this date.
minReactionsint0Minimum reactions threshold.
minCommentsint0Minimum comments threshold.
sortBystringrecentrecent (newest first) or popular (most reactions).
includeRepostsbooltrueKeep reposts in the output.
hydratePostsbooltrueOpen each post page for full details.
includeReactionBreakdownboolfalseAdd reactionBreakdown and repostsCount when available.
includeDocumentDetailsboolfalseAdd PDF URL, page images and transcript for documents.
monitorModeboolfalseReturn only posts not seen by a previous run.
languagestringenPreferred content language.
cookiestring–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.