LinkedIn Company Posts Scraper · No Cookies avatar

LinkedIn Company Posts Scraper · No Cookies

Pricing

from $1.50 / 1,000 posts

Go to Apify Store
LinkedIn Company Posts Scraper · No Cookies

LinkedIn Company Posts Scraper · No Cookies

Scrape recent posts, quote posts, and reposts from public LinkedIn company pages with text, dates, author details, engagement, reactions, mentions, available media, and original-post references. Batch URLs, filter by date, and export JSON, CSV, or Excel—no login or cookies.

Pricing

from $1.50 / 1,000 posts

Rating

0.0

(0)

Developer

Data Slayer

Data Slayer

Maintained by Community

Actor stats

0

Bookmarked

157

Total users

26

Monthly active users

3 days ago

Last modified

Share

LinkedIn Company Posts Scraper — No Cookies

Collect recent posts, quote posts, and reposts from public LinkedIn company pages. Get clean post text, publication dates, company author details, engagement counts, reaction breakdowns, mentions, media when available, and original-post references without providing a LinkedIn login or session cookie.

Add one or more company URLs, choose how many posts you need, optionally set a date cutoff, and click Run. Results are ready to preview or download as JSON, CSV, or Excel and can also feed scheduled monitoring and API workflows.

Watch the demo

What this LinkedIn company posts scraper returns

Each successful dataset row represents one usable LinkedIn company post and includes:

  • The requested source_company_url for reliable bulk-run tracing
  • Public post ID, LinkedIn URN, canonical post URL, text, and publication timestamp
  • A stable post_type: post, quote_post, or repost
  • Company author ID, name, LinkedIn URL, public identifier, follower count, type, and logo
  • Likes, comments, shares, and reaction counts by type
  • Mentioned people and companies with IDs, URNs, names, types, and LinkedIn URLs
  • Images, videos, articles, or documents in one consistent media array when the source supplies them
  • Original-post identity and details for quote posts or reposts, with is_partial: true when only the original post reference is available

This Actor returns engagement totals and reaction-type counts. It does not return individual commenters, individual reactors, or their contact details.

How to scrape posts from a LinkedIn company page

  1. Open the Input tab.
  2. Add one or more public company page URLs, such as https://www.linkedin.com/company/google/.
  3. Set Maximum Posts per Company. The default is 20.
  4. Optionally set Only Posts From to an exact date or a relative period such as 30 days.
  5. Click Run, then open the Dataset tab to preview or download the results.

No LinkedIn account, browser extension, session cookie, API key, or proxy configuration is required from you.

Input

FieldTypeRequiredDefaultDescription
companyUrlsArray of stringsYes1–100 public LinkedIn company page URLs. Personal-profile and individual-post URLs are not accepted.
maxPostsIntegerNo20Maximum usable posts returned for each company. Accepted range: 1–1,000.
postedAfterStringNoReturn posts published on or after an exact date/time or relative period such as 30 days, 6 months, or 1 year.

Example input:

{
"companyUrls": [
"https://www.linkedin.com/company/google/",
"https://www.linkedin.com/company/microsoft/"
],
"maxPosts": 20,
"postedAfter": "30 days"
}

maxPosts applies separately to each company. For example, two companies with maxPosts: 20 can return up to 40 post rows.

Output

The default dataset uses one canonical 22-field schema. Core fields stay scalar for straightforward spreadsheet use, while reactions, mentions, media, and original-post details remain structured arrays or objects. Optional scalar values use null; unavailable collections use empty arrays.

The example below shortens the text and media URLs for readability while preserving the live field names and types:

{
"source_company_url": "https://www.linkedin.com/company/google/",
"post_id": "7486100052273356801",
"post_urn": "urn:li:activity:7486100052273356801",
"post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7486100052273356801",
"post_type": "post",
"text": "We’re launching the first iteration of the AI & Economy ATLAS...",
"published_at": "2026-07-23T16:48:57.475Z",
"edited": null,
"author_id": "1441",
"author_name": "Google",
"author_followers": 42168368,
"author_company_url": "https://www.linkedin.com/company/google",
"author_public_identifier": "google",
"author_type": "company",
"author_logo_url": "https://media.licdn.com/.../google_logo",
"likes": 284,
"comments": 39,
"shares": 23,
"reactions": [
{ "type": "like", "count": 249 },
{ "type": "support", "count": 5 },
{ "type": "love", "count": 7 },
{ "type": "insightful", "count": 20 },
{ "type": "celebrate", "count": 3 }
],
"mentions": [],
"media": [
{
"type": "image",
"url": "https://media.licdn.com/.../image",
"thumbnail_url": null,
"title": null,
"subtitle": null,
"description": null,
"alt_text": "No alternative text description for this image",
"width": null,
"height": null,
"page_count": null
}
],
"original_post": null
}

JSON is the authoritative structured format. Apify flattens nested arrays and objects into additional columns when exporting CSV or Excel.

Post types

  • post — an original company post.
  • quote_post — the company shared another post and added its own commentary.
  • repost — the company reshared another post without added commentary.

For quote posts and reposts, original_post contains the available original-post data. If the upstream source supplies only its identifier, the Actor returns that identity with is_partial: true rather than inventing unavailable text, author, media, or engagement.

Common use cases

Competitor content monitoring

Collect recent posts from a list of competitors and compare what they announce, which themes they repeat, how often they publish, and which posts receive the strongest engagement.

Content strategy benchmarking

Analyze post formats, reaction mixes, comments, shares, posting cadence, and recurring topics across companies in the same market.

Brand and communications research

Track product launches, partnerships, hiring campaigns, events, executive messaging, and other public company announcements in one structured dataset.

Sales account research

Review a target account’s latest company posts before a call or outreach sequence. Use recent public announcements as research context without collecting individual engager identities.

Market and industry analysis

Schedule recurring runs across a company list to build a time-series archive for market intelligence, narrative analysis, or reporting dashboards.

Automate company-post monitoring

You can run the Actor from Apify Console or call it through the Apify API. The same input works for scheduled runs, webhooks, Make, Zapier, n8n, and custom applications.

Example synchronous API request:

curl "https://api.apify.com/v2/acts/data-slayer~linkedin-company-posts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"companyUrls": ["https://www.linkedin.com/company/google/"],
"maxPosts": 20,
"postedAfter": "30 days"
}'

For ongoing competitor monitoring, schedule the Actor daily or weekly and append new results to your database, spreadsheet, or data warehouse. Use post_id or post_urn as the durable deduplication key.

Pricing

This Actor uses pay-per-event pricing. A post event is charged when one canonical post row is written to the default dataset, plus a small Actor-start charge. Empty-input and input-level error details are written to the run summary rather than billed as dataset post rows.

See the Pricing tab for the current rates and any scheduled price changes before starting a large run. Use maxPosts and postedAfter to control result volume and cost.

Data scope and limitations

  • Only public LinkedIn company page URLs are accepted. Personal profiles and individual post URLs belong in their dedicated Actors.
  • The Actor can return only posts and fields exposed by the upstream public-data source at run time. LinkedIn visibility and source coverage can vary by company and post.
  • Some LinkedIn media—especially document or article details—may not be included upstream. Missing media cannot be reconstructed and is represented by media: [].
  • Some quote posts or reposts expose only the original post identity. These return original_post.is_partial: true.
  • Engagement counts are a snapshot and can change after the run as people continue reacting, commenting, or sharing.
  • The Actor returns aggregate comment and reaction counts, not individual comments, reactors, or engagers.
  • postedAfter filters by publication time. Posts without a usable publication timestamp are not emitted in the canonical dataset.
  • Successful posts appear newest first within each requested company.

Frequently asked questions

No. Add public LinkedIn company page URLs. Your LinkedIn credentials and browser session are not used.

Can I scrape multiple companies in one run?

Yes. companyUrls accepts up to 100 unique company URLs. maxPosts applies independently to every company.

How many posts can I request?

The default is 20 posts per company. You can choose any value from 1 to 1,000. Actual results depend on the posts available from the public source and any postedAfter cutoff.

Does it include quote posts and reposts?

Yes. post_type distinguishes post, quote_post, and repost. Available original-post details appear in original_post.

Does it scrape comments and the people who reacted?

It returns aggregate comments and reaction-type counts. It does not return comment text or individual engager profiles.

Can I use this for competitor LinkedIn monitoring?

Yes. Batch company URLs, set a repeatable date window, schedule recurring runs, and use post_id to deduplicate records in your monitoring dataset.

Is every historical company post guaranteed?

No. The Actor collects recent public posts available through its source. Use the maximum and date controls to request the range you need, but availability varies by company and LinkedIn visibility.

This Actor is designed for publicly available company-page data and does not require LinkedIn authentication. You are responsible for ensuring that your collection and use of data complies with applicable laws, contracts, and platform terms. Seek legal advice for your specific use case if needed.

ActorUse it for
LinkedIn Company ScraperCompany profile data such as industry, size, funding, offices, jobs, and related companies
LinkedIn Profile Posts ScraperRecent posts from public personal LinkedIn profiles
LinkedIn Post Analytics ScraperDetailed data for an individual LinkedIn post URL
LinkedIn Post Engagers Email FinderEngager profiles and verified emails for a selected post
LinkedIn Profile Scraper + Verified EmailPublic profile data with work-email enrichment

Support

If a run fails or a field looks wrong, create an issue from the Actor’s Issues tab and include the run ID plus a public example URL. Do not include private credentials, cookies, or API tokens in an issue.

This Actor is independent and is not affiliated with or endorsed by LinkedIn. LinkedIn is a trademark of its respective owner.