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.
Open in Apify Store$0.99 / 1K on Free
Short answer
LinkedIn Company Page Post & Engagement Extractor is an Apify Store Actor for LinkedIn data that returns 7 published output fields, including companyName, postedAt, postUrl, mediaType. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 20 input settings, none required. It covers 5 of the 8 core LinkedIn fields this site tracks. Last updated Oct 18, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
7 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
companyNamepostedAtmediaTypereactionsCountcommentsCountpostUrlscrapedAt
Not in the schema among the core LinkedIn fields: headline, location, content. The field matrix shows which other tools return them.
How it differs from the other LinkedIn Actors
Every field it publishes also appears in at least one of the other 18 catalogue Actors for LinkedIn with a schema, so pick on price, input options and the fields below.
Pick another Actor if you need
| Actor | Fields it adds | Price / 1K |
|---|---|---|
| LinkedIn People Search by Name with Company & School Filters | location, currentCompany, profileUrl, searchName | $0.99 |
| LinkedIn Guest-View Profile Data Extractor | location, profileUrl, followersCount, connectionsText | $0.99 |
| LinkedIn Trending Posts & Top Voices Feed Scraper | authorName, authorFollowers, authorIsInfluencer, content | $0.99 |
| LinkedIn University Alumni Search by Degree & Year | schoolName, location, profileUrl, alumniCount | $0.99 |
| B2B Lead Discovery by Job Title & Location | title, location, linkedinUrl, sourceQuery | $0.99 |
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | No | auto | What to scrape. "Auto" uses the targets you provide; the actor picks the right pipeline automatically. |
| companyUrls | array | No | – | LinkedIn company pages to scrape. Accepts full URLs (https://www.linkedin.com/company/hubspot/), a posts URL, or just the slug (hubspot). |
| postUrls | array | No | – | Specific LinkedIn post links to extract (any format: /posts/...-activity-..., share, ugcPost, or /feed/update/urn:li:...). Used in the "Specific post URLs" mode. |
| maxPostsPerCompany | integer | No | 10 | Maximum posts to return per company. LinkedIn itself stops a company's post history at 500 posts and one year; deeper older posts are reachable only through the public search index. |
| postTypes | array | No | [] | Which post media types to keep. Leave empty to keep every type. |
| includeEmployeePosts | boolean | No | false | The public company page mixes a few featured employee posts into its recent feed. Turn this on to include them; off returns the company's own posts (including its showcase/sub-brand pages) only. |
| includeIndexedPosts | boolean | No | true | Also search the public web index for older company-authored posts. This finds more posts than the company page shows, but coverage depends on the search index. |
| datePosted | string | No | – | Keep only posts published within this window. Applied to each post's real publish date. |
| postedAfter | string | No | – | Only posts published on or after this date. Accepts YYYY-MM-DD or an ISO date-time. |
| postedBefore | string | No | – | Only posts published on or before this date. Accepts YYYY-MM-DD or an ISO date-time. |
Show the other 10 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| minReactions | integer | No | 0 | Skip posts with fewer than this many reactions. |
| minComments | integer | No | 0 | Skip posts with fewer than this many comments. |
| sortBy | string | No | recent | How to order the returned posts. Recent = newest first, Popular = most reactions first. |
| includeReposts | boolean | No | true | Whether to include reposts (posts the company reshared from someone else). |
| hydratePosts | boolean | No | true | Open each post's public page for the full text, exact publish time, top comments and media. Turn off for a faster, lighter run. |
| includeReactionBreakdown | boolean | No | false | Also return the per-reaction-type breakdown and the repost (share) count when LinkedIn serves the richer public layout. Slightly slower. |
| includeDocumentDetails | boolean | No | false | For document (PDF/PPTX) posts, also return the original PDF link, page images and the per-page text transcript. |
| monitorMode | boolean | No | false | Return only posts that were not returned by a previous run with the same settings. Useful for scheduled monitoring. |
| language | string | No | en | Preferred content language used when requesting LinkedIn pages. |
| cookie | string | No | – | Kept for backward compatibility with older saved tasks. The actor is 100% cookieless; any value here is ignored. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "auto",
"companyUrls": [
"https://www.linkedin.com/company/hubspot/"
],
"maxPostsPerCompany": 2,
"postTypes": [],
"includeEmployeePosts": false,
"includeIndexedPosts": false,
"minReactions": 0,
"minComments": 0,
"sortBy": "recent",
"includeReposts": true,
"hydratePosts": true,
"includeReactionBreakdown": false,
"includeDocumentDetails": false,
"monitorMode": false,
"language": "en"
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "auto",
"companyUrls": [
"https://www.linkedin.com/company/hubspot/"
],
"maxPostsPerCompany": 2,
"postTypes": [],
"includeEmployeePosts": False,
"includeIndexedPosts": False,
"minReactions": 0,
"minComments": 0,
"sortBy": "recent",
"includeReposts": True,
"hydratePosts": True,
"includeReactionBreakdown": False,
"includeDocumentDetails": False,
"monitorMode": False,
"language": "en"
}
run = client.actor("vexaloom-labs/linkedin-company-page-post-and-engagement").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "auto",
"companyUrls": [
"https://www.linkedin.com/company/hubspot/"
],
"maxPostsPerCompany": 2,
"postTypes": [],
"includeEmployeePosts": false,
"includeIndexedPosts": false,
"minReactions": 0,
"minComments": 0,
"sortBy": "recent",
"includeReposts": true,
"hydratePosts": true,
"includeReactionBreakdown": false,
"includeDocumentDetails": false,
"monitorMode": false,
"language": "en"
};
const run = await client.actor("vexaloom-labs/linkedin-company-page-post-and-engagement").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~linkedin-company-page-post-and-engagement/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"auto","companyUrls":["https://www.linkedin.com/company/hubspot/"],"maxPostsPerCompany":2,"postTypes":[],"includeEmployeePosts":false,"includeIndexedPosts":false,"minReactions":0,"minComments":0,"sortBy":"recent","includeReposts":true,"hydratePosts":true,"includeReactionBreakdown":false,"includeDocumentDetails":false,"monitorMode":false,"language":"en"}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/linkedin-company-page-post-and-engagement",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among LinkedIn routes
It ranks 6 of 19 catalogue Actors for LinkedIn on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 LinkedIn People Search by Name with Company & School Filters 6 output fields, pay per event 6 of 8 core fields
$0.99 / 1K - 2 LinkedIn Guest-View Profile Data Extractor 30 output fields, pay per event 6 of 8 core fields
$0.99 / 1K - 3 LinkedIn Trending Posts & Top Voices Feed Scraper 19 output fields, pay per event 7 of 8 core fields
$0.99 / 1K - 6 LinkedIn Company Page Post & Engagement Extractor 7 output fields, pay per event 5 of 8 core fields
$0.99 / 1K - + 1 other Store tool, combined Reference only 4 of 8 core fields
from $29 / 1K - API LinkedIn APIs (partner programs) Partner only fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: LinkedIn APIs (partner programs)
Partner only. LinkedIn does not offer an open public data API. Access is through approved partner programs with defined scopes, such as marketing and talent integrations.
Partner pricing is not published as a self-serve rate card.
Other Store tools for LinkedIn
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| LinkedIn Profile Posts Scraper (No Cookies) | – | $2.00 |
| LinkedIn Profile Scraper + Email (No Cookies) | – | $4.00 |
| LinkedIn Profile Search Scraper (No Cookies) Find all people | – | $4.00 |
| LinkedIn Profile Comments Scraper (No Cookies) | – | $2.00 |
| LinkedIn Profile Reactions Scraper (No Cookies) | – | $2.00 |
What people use it for
- Monitor company posts
- Analyze post engagement
Other catalogue Actors for LinkedIn
LinkedIn People Search by Name with Company & School Filters
Search LinkedIn for a list of names and get matching profiles with headline, location, current role and company, connection degree, and profile…
LinkedIn Guest-View Profile Data Extractor
Extract names, headlines, work history, education, certifications, honors, volunteer work, projects, and follower counts from public LinkedIn…
LinkedIn Trending Posts & Top Voices Feed Scraper
Pull LinkedIn's trending and top-performing posts by topic keyword, with reaction/comment/repost counts, a per-reaction-type breakdown, author…
LinkedIn University Alumni Search by Degree & Year
Search a university's LinkedIn alumni by field of study, degree, graduation year, current employer, and location, and get each match's profile,…
B2B Lead Discovery by Job Title & Location
Find public LinkedIn profiles by job title, location, or company using cookieless web search. Returns names, best-effort titles and companies,…
LinkedIn Profile Scraper with Company & Credential Data
Turn a list of public LinkedIn profile URLs into structured records with headline, work history, education, certifications, honors, volunteer…
Similar Actors
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.…
LinkedIn Hashtag Feed Engagement Scraper
Pull posts published under one or more LinkedIn hashtags, with author name, headline, content, media type and reaction/comment/repost counts.…
LinkedIn Profile Engagement Timeline Scraper
Pull a LinkedIn profile's posts, reposts, comments, and reactions in one run, with the original post's author, text, and link attached to each…
Facebook Group Feed & Engagement Extractor
Pull posts from any public Facebook group with full text, media, reaction breakdown, top comments and reshares, plus optional group member count,…
LinkedIn Keyword & Hashtag Post Discovery Scraper
Search LinkedIn posts by keyword or hashtag with filters for date, author type, industry, connection degree, mentions, and minimum reactions.…
LinkedIn Post Comment & Reply Thread Extractor
Pull top-level comments from LinkedIn posts, with optional nested reply threads, author identity, reaction counts, and linked profiles found in…
Questions people ask
How much does LinkedIn Company Page Post & Engagement Extractor cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does LinkedIn Company Page Post & Engagement Extractor return?
Its published output schema lists 7 fields: companyName, postedAt, mediaType, reactionsCount, commentsCount, postUrl, scrapedAt. A listed field is not guaranteed to be filled in every row.
What input does LinkedIn Company Page Post & Engagement Extractor need?
No input is strictly required; the defaults run as is. Common settings: mode, companyUrls, postUrls, maxPostsPerCompany, postTypes, includeEmployeePosts.
What are the alternatives to LinkedIn Company Page Post & Engagement Extractor for LinkedIn?
19 catalogue Actors cover LinkedIn. Close alternatives: LinkedIn People Search by Name with Company & School Filters; LinkedIn Guest-View Profile Data Extractor; LinkedIn Trending Posts & Top Voices Feed Scraper. The LinkedIn page compares all of them field by field.
How do I run LinkedIn Company Page Post & Engagement Extractor from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/linkedin-company-page-post-and-engagement").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/linkedin-company-page-post-and-engagement").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~linkedin-company-page-post-and-engagement/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- LinkedIn Company Page Post & Engagement Extractor on Apify Store
- Published build with input and output schema (JSON)
- LinkedIn APIs (partner programs) documentation
Cite this page
Scraper Finder. "LinkedIn Company Page Post & Engagement Extractor." https://scraperfinder.com/catalogue/linkedin-company-page-post-and-engagement/ (data checked 2026-11-12).
Run LinkedIn Company Page Post & Engagement Extractor
$0.99 per 1,000 results. Paste the example input above, set your LinkedIn query, then export the dataset. Still choosing? Compare every LinkedIn route.