LinkedIn Company Posts Scraper avatar

LinkedIn Company Posts Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
LinkedIn Company Posts Scraper

LinkedIn Company Posts Scraper

Scrape posts from any LinkedIn company page. Get post content, engagement metrics, media, and company details.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

19 hours ago

Last modified

Share

Extract posts from any LinkedIn company page — content, engagement metrics, media links, and company details — using the LinkedIn Voyager API (HTTP-only, no browser required).


What It Does

This actor scrapes the public activity feed of one or more LinkedIn company pages. For each post it returns:

  • Full post text content
  • Posted timestamp
  • Reaction count, comment count, and repost count
  • Media type (text, image, video, article, document, or repost)
  • Image URLs (when present)
  • Article title and URL (when present)
  • Company name, slug, page URL, and logo URL
  • Direct link to the post on LinkedIn

You can scrape up to 200 posts per company in a single run, across multiple companies in one batch.


Input

FieldTypeRequiredDescription
companyUrlsList of stringsYesLinkedIn company page URLs or slugs to scrape. Accepts full URLs, sub-paths, or just the slug (e.g. apple).
cookieStringYesYour LinkedIn session cookie. See Cookie Setup below.
maxPostsPerCompanyIntegerNoMaximum posts to return per company. Default: 10. Range: 1–200.
proxyConfigurationObjectNoApify proxy settings. Residential proxy recommended for highest reliability.

Accepted companyUrls formats

All of the following are valid for the same company:

https://www.linkedin.com/company/apple/
https://www.linkedin.com/company/apple/posts/
https://www.linkedin.com/company/apple/posts/?feedView=all
https://www.linkedin.com/company/apple
linkedin.com/company/apple
apple

Output

Each item in the dataset represents one post:

FieldTypeDescription
postIdStringUnique LinkedIn activity ID for the post.
postUrlStringDirect URL to the post on LinkedIn.
companyNameStringDisplay name of the company.
companySlugStringCompany slug from the LinkedIn URL.
companyUrlStringCanonical URL of the company page.
companyLogoUrlStringURL of the company's logo image (when available).
contentStringText body of the post (when present).
postedAtStringISO 8601 UTC timestamp of when the post was published.
mediaTypeStringOne of: text, image, video, article, document, repost.
mediaUrlsArrayCDN URLs of attached images (present when mediaType is image).
articleTitleStringTitle of a linked article (present when mediaType is article).
articleUrlStringURL of a linked article (present when mediaType is article).
reactionsCountIntegerTotal number of reactions (likes, etc.).
commentsCountIntegerTotal number of comments.
repostsCountIntegerTotal number of reposts/shares.
inputUrlStringThe original input URL provided for this company.
scrapedAtStringISO 8601 UTC timestamp of when this record was scraped.

Empty fields are omitted (you will never see null values in the output).

Example output

{
"postId": "7234567890123456789",
"postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7234567890123456789/",
"companyName": "Apple",
"companySlug": "apple",
"companyUrl": "https://www.linkedin.com/company/apple/",
"companyLogoUrl": "https://media.licdn.com/dms/image/v2/C560BAQHTFL.../company-logo.png",
"content": "We're thrilled to announce the latest additions to the Apple ecosystem...",
"postedAt": "2025-05-23T08:14:32+00:00",
"mediaType": "image",
"mediaUrls": [
"https://media.licdn.com/dms/image/v2/D4E.../feedshare-shrunk.jpg"
],
"reactionsCount": 12430,
"commentsCount": 874,
"repostsCount": 310,
"inputUrl": "https://www.linkedin.com/company/apple/",
"scrapedAt": "2025-05-24T14:22:11.483201+00:00"
}

A LinkedIn session cookie (li_at) is required. This is a read-only session token — it lets the scraper access the same data you can see when logged into LinkedIn.

Option 1: Copy li_at from DevTools (simplest)

  1. Open linkedin.com and log in.
  2. Press F12 to open DevTools (or right-click → Inspect).
  3. Go to ApplicationCookieshttps://www.linkedin.com.
  4. Find the cookie named li_at.
  5. Copy its Value column.
  6. Paste it into the LinkedIn Cookie field in the actor input.

Option 2: Export full cookies with EditThisCookie

  1. Install the EditThisCookie browser extension.
  2. Visit linkedin.com while logged in.
  3. Click the EditThisCookie extension icon → click the Export button (the square with an arrow).
  4. This copies the full cookies JSON array to your clipboard.
  5. Paste the entire JSON array into the LinkedIn Cookie field.

Using the full cookie export is recommended — it provides a more complete session that reduces the chance of LinkedIn returning challenges.


Frequently Asked Questions

How many posts can I scrape per company?

Up to 200 posts per company per run. Set maxPostsPerCompany to control this. The default is 10 posts.

Can I scrape multiple companies in one run?

Yes. Add multiple URLs to the companyUrls list and the actor will scrape each one sequentially.

Do I need a proxy?

A proxy is optional but recommended. LinkedIn can rate-limit requests from datacenter IP addresses. Using a residential proxy via Apify's proxy service significantly improves reliability. Configure it via the proxyConfiguration input field.

LinkedIn session cookies (li_at) typically remain valid for several weeks to a few months, depending on your account activity and security settings. If you see a "cookie is invalid or expired" error, log into LinkedIn on your browser and copy a fresh li_at value.

What happens if a company page is not found?

The actor will log a warning and skip that company, continuing with any remaining URLs in the list.

Are private company posts scraped?

The actor uses the same Voyager API that LinkedIn's website uses. It can only access posts that are visible to your logged-in account. Posts restricted to followers or connections of the company's employees will not be returned.

Why might some posts be missing content?

Some posts are image-only or video-only with no text body. In those cases, the content field will be absent from the output record, and mediaType will indicate the media type (e.g. image or video).

Is this against LinkedIn's Terms of Service?

This actor is intended for personal and business research purposes. Please review LinkedIn's User Agreement and ensure your use case complies with their policies.


Notes

  • The actor adds a polite delay between page requests (3–7 seconds) to avoid triggering LinkedIn rate limits.
  • Proxy rotation happens automatically every few pages.
  • If LinkedIn returns a permanent authentication error (HTTP 401/403), the run stops immediately with a descriptive error message.

Explore the rest of the LinkedIn suite

Need a different LinkedIn surface? Pair this actor with any of the others in the LinkedIn Suite — all published under the same publisher and built to share the same cookie format and output conventions.

ActorWhat it scrapes
LinkedIn Comments ScraperAll comments + reply threads on a post
LinkedIn Company Employees ScraperEmployee list for any company (by URN)
LinkedIn Company Info ScraperCompany About page (size, HQ, industry, specialties)
LinkedIn Events ScraperEvents by keyword/URL with full event detail
LinkedIn Hashtag Posts ScraperPosts ranked under a #hashtag
LinkedIn Jobs ScraperJob listings via the public jobs-guest API
LinkedIn Jobs Scraper UltraSame as jobs-scraper + full detail enrichment
LinkedIn Learning Courses ScraperLinkedIn Learning course catalog by keyword
LinkedIn People Search ScraperPeople search with every LinkedIn facet (role, company, school, location, etc.)
LinkedIn Post Reactions ScraperReactors on a post (name, headline, reaction type)
LinkedIn Post ScraperFull post (text, media, engagement counts, author)
LinkedIn Post Search ScraperPosts matching a keyword (with date/author/network filters)
LinkedIn Profile Posts ScraperAll posts/reposts/articles for one profile
LinkedIn Profile ScraperPublic profile fields (name, headline, positions, education, skills)
LinkedIn Profile Scraper ProProfile fields + extras (recommendations, organizations, languages)
LinkedIn Profile Scraper Pro UltraPro + premium fields (contact info, followers list when allowed)
LinkedIn Profile Scraper UltraProfile + the full upstream dash-120 surface
LinkedIn Profile Search by NameSearch profiles by person name (great for matching CSVs of names)
LinkedIn Schools Alumni ScraperAlumni list for any LinkedIn school page
LinkedIn Top Content ScraperTrending / top-engagement posts by topic
LinkedIn User Activity ScraperReactions + comments + posts feed for one profile

All actors share the same cookie input format (plain li_at OR full cookies JSON array) and the same omit-empty output convention.