Get LinkedIn company posts
TL;DR
About
Company pages on LinkedIn open on a relevance-ranked "Top" view and label posts "1w" or "1mo", so it is hard to say what a brand posted last month. The script switches the sort to Recent first and turns each activity id into an exact postedAt timestamp. The full commentary comes back, including the part LinkedIn hides behind "...more". Say you do product marketing at a small CRM company. Every Monday you run it on hubspot with count 30, throw out the isRepost rows and rank what went up in the last seven days by reactions. The top url then goes to get_post_comments to see who replied. LinkedIn's own Posts API will not read a competitor's feed, because it returns an organization's posts only to members holding an administrator, content admin or sponsored content poster role on that page. The ceiling is 50 posts with no offset, so a year of a page's history is out of reach.
Input
company requiredLinkedIn company page URL (e.g. https://www.linkedin.com/company/fintech-collective/) or bare slug (fintech-collective).
count optionalHow many of the most recent posts to return. Default 10 (one feed fetch); above 10 the script scroll-paginates by 10 per round. Capped at 50.
Output
posts requiredNewest first (ordered by activity id, which encodes the timestamp — NOT by the feed's display order).
total requiredTotal posts on the page, from the feed module's paging metadata in the cold SSR blob. 0 with posts:[] = page has never posted ('No posts yet' state, first-class outcome).
company requiredSlug as requested (after URL parsing).
Example output
Shape only: placeholder values generated from the output schema, not a real run.
{
"posts": [
{
"age": "…",
"url": "https://example.com/item/123",
"text": "…",
"reposts": 3,
"comments": 3,
"isRepost": true,
"postedAt": "2026-01-15T09:30:00Z",
"reactions": 3,
"activityId": "abc123"
}
],
"total": 3,
"company": "…"
}