Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
LinkedIn Company Posts Scraper icon

LinkedIn Company Posts Scraper

LinkedIn company posts scraper at $0.90 per 1,000 posts plus a $0.001 run start. Public post text, reactions, comments and URLs. No login or cookies needed.

23 runs on Apify $0.0009 per successful public company post ($0.9 / 1,000)
Run this in the cloudRun on Apify →

Social Media Scrapers

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust companyUrls, maxCompanies, maxPostsPerCompany (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0009 per successful public company post = $0.9 per 1,000

You are charged forWhenPrice
Successful public company postCharged only after a matching public company post is written to the dataset.$0.0009
Actor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).$0.001

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
companyUrlsPublic URLs in the form https://www.linkedin.com/company/company-slug/. This actor reads only public post records embedded in the returned company page. Empty input returns one clearly labeled, uncharged sample row.array
maxCompaniesMaximum valid public company URLs to request. Invalid, blocked, or postless pages return free diagnostic rows.integer
maxPostsPerCompanyMaximum matching public company posts returned from one supplied company page. This actor does not paginate or call LinkedIn private APIs.integer
requestTimeoutSecsTimeout for one public company page request.integer

What you get

A structured dataset — each result includes fields like:

companyNameheadlinetextpostUrldatePublishedtransport

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Social Media Scrapers

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

LinkedIn Post Comments Scraper iconSocial Media Scrapers

LinkedIn Post Comments Scraper

Scrape public LinkedIn post comments: author name, profile URL, reaction count. No login or cookie. Up to 10 per post.

Ready to run — no setup

RedNote Scraper iconSocial Media Scrapers

RedNote Scraper

Scrape public RedNote (Xiaohongshu) notes: description, author, likes, collects, comments, shares and images.

Ready to run — no setup

RedNote (Xiaohongshu) Profile Scraper iconSocial Media Scrapers

RedNote (Xiaohongshu) Profile Scraper

RedNote (Xiaohongshu) profile scraper API. Nickname, RedNote ID, follower counts, likes and collects, verification, IP location, gender and recent notes.

Ready to run — no setup

Douyin Hot Search Scraper iconSocial Media Scrapers

Douyin Hot Search Scraper

Scrape Douyin trending topics: rank, hot value, views, video count, badge and cover image from the hot and society boards. No login.

Ready to run — no setup

Facebook Comments Scraper iconSocial Media Scrapers

Facebook Comments Scraper

Scrape comments from any public Facebook post or reel: author, text, date, likes, replies. No login or cookies.

Ready to run — no setup

Facebook Groups Scraper iconSocial Media Scrapers

Facebook Groups Scraper

Scrape public Facebook group posts without logging in: author, text, time, permalink, media and engagement counts.

Ready to run — no setup

See all Social Media Scrapers →

LinkedIn Company Posts Scraper

Extract only LinkedIn company posts that are publicly exposed as structured data on supplied company pages. This actor does not request a login, cookies, private APIs, employee/contact data, post reactions from hidden endpoints, or residential proxy traffic.

$0.90 per 1,000 posts ($0.0009 each), plus $0.001 each time a run starts. Flat rate — no volume tiers, no plan gates — and you are charged only for posts actually returned. For context, the other LinkedIn company-post scrapers on the Apify Store with an active user base run from $0.30 to $1.20 per 1,000, resolved live on 2026-08-10 at each one's *lowest* volume tier.

Input

{
  "companyUrls": ["https://www.linkedin.com/company/openai/"],
  "maxCompanies": 1,
  "maxPostsPerCompany": 20,
  "requestTimeoutSecs": 20
}
FieldDefaultRangeWhat it does
companyUrls[]up to 100Public URLs in the form https://www.linkedin.com/company/<company-slug>/. The optional /posts/ suffix is accepted.
maxCompanies101–50How many valid company URLs to actually request. Invalid, blocked and postless pages return free diagnostic rows and do not count against your bill.
maxPostsPerCompany201–100Cap on matching public posts returned from one company page.
requestTimeoutSecs205–60Timeout for a single company-page request.

The actor reads one returned company page per input URL. It does not paginate and does not call undocumented LinkedIn endpoints, so the ceiling per run is maxCompanies × maxPostsPerCompany.

Output

Every genuine row is backed by a public company-author JSON-LD record found in the page and a LinkedIn activity ID — if either is missing, the row is not emitted and not billed.

FieldNotes
companyName, companyUrlThe company the post belongs to, as LinkedIn publishes it.
postUrl, activityIdDirect link to the post, plus LinkedIn's stable activity identifier for de-duplication across runs.
headlineThe post's short headline, where LinkedIn exposes one.
textThe post body.
datePublished, dateModifiedISO timestamps from the structured-data record.
commentCount, reactionCountPublic engagement counts as shown on the page.
imageUrlsImage URLs attached to the post.

Missing public fields come back null or empty rather than guessed. Personal posts, content not authored by the requested company, malformed structured data, and pages without matching public post records are never billed.

Pricing

EventWhenPrice
Actor startOnce per run, per GB of run memory$0.001
Public company postEach genuine post row written to the dataset$0.0009 ($0.90 / 1,000)

The row is written to the dataset *before* the charge call, so you can always see what you paid for. 20 posts costs $0.019; the largest run this actor allows — 50 companies × 100 posts — tops out at $4.501.

Transport, blocks and diagnostics

Direct HTTP only. The actor never starts residential or SERP proxy traffic, so there is no bandwidth surcharge hiding in your run cost.

Failures come back as labelled, uncharged diagnostic rows carrying ok: false, _diagnostic: true and an errorCode:

CodeMeaning
BAD_INPUTThe URL was not a public linkedin.com/company/<slug>/ address.
NO_RESULTSThe page loaded but carried no matching public company-post records.
BLOCKEDLinkedIn returned HTTP 999/403 or a security-verification interstitial.
RATE_LIMITEDHTTP 429.
SERVER_ERRORHTTP 5xx from LinkedIn.
NETWORKTimeout or transport failure.

Empty input

Empty input returns exactly one clearly labeled _sample: true row without making a LinkedIn request. It is always uncharged, so you can inspect the output shape before spending anything.

What this does not do

  • No login and no cookies. Only what LinkedIn publishes to logged-out visitors is returned.
  • No pagination. You get what the company page itself exposes, up to maxPostsPerCompany.
  • No employee, contact or lead data, and no reactions pulled from private endpoints.
  • No personal-profile posts. Company pages only.