LinkedIn Company Posts Scraper — No Login
Pricing
from $1.05 / 1,000 posts
LinkedIn Company Posts Scraper — No Login
Get the latest posts of LinkedIn companies (up to 70 each) from company URLs, page names or names: full text, exact date, post URL, images, video, documents, hashtags, reaction and comment counts. No login or cookies. Company-authored posts only, org reposts flagged. $1.50/1k posts.
Pricing
from $1.05 / 1,000 posts
Rating
0.0
(0)
Developer
Raffy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does LinkedIn Company Posts Scraper do?
LinkedIn Company Posts Scraper returns the latest posts that LinkedIn companies publish, one row per post: full text, exact publish date and time, post URL and id, images, video, documents, articles, links, hashtags, company mentions, and reaction and comment counts. Give it company URLs, the name from the page address (stripe), numeric company ids or company names, and get up to 70 posts per company, newest first, as JSON, CSV or Excel.
It reads only what LinkedIn shows to visitors who are not logged in: no LinkedIn account, no cookies, no login, no browser. Only posts written by the company itself are returned, plus (optionally) its reposts of other organisations, which are flagged. Posts by members and reposts of members' posts are left out.
Use cases for this LinkedIn company posts scraper
- Competitor monitoring: see what your competitors announce, launch and promote every week, with exact dates.
- Sales and buying signals: spot hiring pushes, funding news, new offices and product launches in your target accounts' posts.
- Content research: find which post formats (video, document carousel, image, article) get the most reactions and comments for a brand.
- Brand and PR tracking: keep an archive of a company's public announcements.
- AI agents and LLM pipelines: feed a company's recent posts to a model for summaries, topic tagging or sentiment.
Use with AI agents
- Actor:
glasswing/linkedin-company-posts-scraper - README for LLMs:
https://apify.com/glasswing/linkedin-company-posts-scraper.md - MCP:
https://mcp.apify.com/?tools=glasswing/linkedin-company-posts-scraper - Minimal input:
{"startUrls": ["stripe"], "maxPostsPerCompany": 10}returns Stripe's 10 latest posts in a few seconds.
What data can LinkedIn Company Posts Scraper extract?
| Field | Type | Description |
|---|---|---|
companyName | string | Company name as shown on LinkedIn |
companySlug | string | The company name in the page address |
companyId | string | LinkedIn's numeric company id |
companyUrl | string | The company's public LinkedIn page |
companyFollowers | integer | Follower count of the company page |
inputName | string | The company name you typed, when you used companyNames |
url | string | Public URL of the post |
postId | string | LinkedIn activity id of the post |
shareUrn | string | LinkedIn share or ugcPost URN |
postType | string | post (the company's own post), quote (the company shared a post, its own or another organisation's, with new text) or repost (plain repost of another organisation's post) |
isRepost | boolean | true for plain reposts (postType repost) |
originalAuthorName | string | For reposts and quotes of another organisation: the organisation that wrote the original post |
originalAuthorUrl | string | For quotes and reposts: that organisation's LinkedIn page |
postedAt | string | Exact publish date and time (ISO 8601, UTC), decoded from the post id |
postedAgo | string | LinkedIn's relative age text, e.g. 3d |
text | string | Full post text (see the privacy notes below) |
originalText | string | For quotes: the text of the post that was shared |
hashtags | array | Hashtags in the post |
companyMentions | array | Page names of companies the post mentions |
links | array | Outbound web links, with LinkedIn's redirect and tracking removed |
mediaType | string | text, image, video, document or article |
imageUrls | array | Image URLs of the post |
videoUrl | string | MP4 URL of the post's video |
videoThumbnailUrl | string | Poster image of the video |
documentTitle | string | Title of a PDF / carousel document |
documentPageCount | integer | Page count of the document |
articleUrl | string | Linked article or LinkedIn newsletter URL |
articleTitle | string | Title of the linked article |
reactions | integer | Number of reactions (likes and other reactions) |
comments | integer | Number of comments |
status | string | ok, not_found (company not found or shows no posts) or error |
error | string | Reason for a not_found or error row |
scrapedAt | string | When the row was collected |
How to scrape LinkedIn company posts
- Open the Actor and paste company URLs or page names into Companies, or type names into Company names to look up.
- Set Posts per company (1-70) and, if you want a date window, Posted after / Posted before.
- Click Start. Posts appear in the dataset within seconds; download them as JSON, CSV, Excel or HTML, or read them through the API.
Input
| Field | What it does |
|---|---|
startUrls (Companies) | Company URLs from any LinkedIn country site (https://www.linkedin.com/company/stripe/, also /posts/ and /about/ sub-pages), showcase pages (https://www.linkedin.com/showcase/microsoft-azure/), page names (stripe) or numeric ids (2135371). |
companyNames | Company names (Revolut). Matched with LinkedIn's public company search: an exact name first, otherwise LinkedIn's top suggestion. |
maxPostsPerCompany | Latest posts per company, newest first. Default 20, maximum 70 (LinkedIn's limit for logged-out visitors). |
postedAfter | Only posts on or after this date: 2026-10-01, or 7 days, 2 weeks, 3 months. Paging stops at the first older post, so short windows are fast. |
postedBefore | Only posts on or before this date (the whole day is included), or a relative age like 30 days. |
includeOrgReposts | Keep the company's reposts and quotes of other organisations' posts (default true). |
maxItems | Stop after this many rows in total. |
proxyConfiguration | Apify Proxy datacenter IPs by default, included in the price. The proxy group and country are pinned in code: a residential group or a country picked in the input is ignored; your own proxy URLs are used as given. |
Example input:
{"startUrls": ["https://www.linkedin.com/company/apify/", "stripe", "2135371"],"companyNames": ["Revolut"],"maxPostsPerCompany": 70,"postedAfter": "30 days","includeOrgReposts": true,"maxItems": 1000}
Output
A real row from a run on 2026-10-26:
{"status": "ok","companyName": "Apify","companySlug": "apify","companyId": "10608457","companyUrl": "https://www.linkedin.com/company/apify/","companyFollowers": 44630,"url": "https://www.linkedin.com/posts/apify_apify-is-hosting-a-one-day-hackathon-in-bengaluru-activity-7520049252677599232-8-Vw","postId": "7520049252677599232","shareUrn": "urn:li:share:7520049251821936640","postType": "post","isRepost": false,"postedAt": "2026-10-25T09:10:57.597Z","postedAgo": "1d","text": "Apify is hosting a one-day hackathon in Bengaluru on November 22. The challenge: build a tool someone would pay for.\n\nThirteen of the top Apify creators from India and Nepal will be in the room as mentors and judges - several of them make a living from projects that started exactly like yours.\n\nCash prize pool of $1,500. Free to attend. Spots are limited.\nRegistration link in comments ↓","mediaType": "image","imageUrls": ["https://media.licdn.com/dms/image/v2/D4D10AQEpSpN15mE0yw/image-shrink_1280/B4DaFyU2oaJ4Ac-/0/1792919431903?e=2147483647&v=beta&t=OuSMngiupJfvWb53KSdG_WqdWwPUAjHF1WJVTSmc62Q"],"reactions": 10,"comments": 1,"scrapedAt": "2026-10-26T15:43:37.302Z"}
A repost of another organisation's post has "postType": "repost", "isRepost": true and originalAuthorName / originalAuthorUrl set. A company that does not exist, or shows no posts to logged-out visitors, gets one free row:
{"url": "https://www.linkedin.com/company/this-company-does-not-exist-xq7z/","status": "not_found","error": "HTTP 404: page does not exist"}
The dataset has three views: Overview, Media and Reposts.
Speed and reliability (real runs)
- 30 companies at 70 posts each: 1,383 posts in 86 seconds, 27 of the 29 existing companies returned posts (2026-10-26).
- Default input (2 companies, 10 posts each): 5-32 seconds.
- Each company costs 1 request for 10 posts and up to 7 requests for 70 posts. Requests go through Apify's datacenter proxy and are retried from another IP if LinkedIn slows one down.
How much does it cost to scrape LinkedIn company posts?
Pay per result: $1.50 per 1,000 posts (Apify Free plan $1.73, Silver $1.28, Gold and above $1.05), plus a $0.00005 start fee per run. not_found and error rows are free. 70 posts from one company cost about $0.11; the latest 10 posts of 100 companies cost $1.50. Platform usage is included in the price.
Limitations
- 70 posts per company at most. That is all LinkedIn shows to logged-out visitors: about 3 weeks for a company that posts daily, several months for one that posts weekly.
- No repost/share counts. LinkedIn's public pages show reaction and comment counts only.
- No commenters, no reactors, no follower lists. Only the counts.
- Posts by members are not returned, including members' posts that the company reposted. A few company pages show no posts at all to logged-out visitors; they get a free
not_foundrow. - Name lookups can miss. When a typed name has no exact match on LinkedIn, the Actor uses LinkedIn's top suggestion and may not find its page. Paste the company URL for a sure match.
- Text is returned as LinkedIn shows it. Linked member mentions are replaced with
[member], and e-mail addresses and phone numbers with[email]/[phone].
FAQ
Do I need a LinkedIn account or cookies? No. The Actor reads public company pages as a logged-out visitor and sends no cookies.
How do I get only new posts? Set postedAfter to 1 day or 7 days and schedule the Actor. Paging stops at the first older post, so a daily run reads about one page per company.
Can I get only the company's own posts? Set includeOrgReposts to false: reposts and quotes of other organisations are then left out, and quotes of the company's own earlier posts stay.
Why did a company return fewer posts than I asked for? It published fewer posts in LinkedIn's public window, or many of its feed items were posts by members (left out by design).
Can I use the data in my app, spreadsheet or AI tool? Yes. Use the API, webhooks or the Zapier, Make and n8n integrations, or call it from an AI agent through Apify's MCP server.
Related Actors
- LinkedIn Company Scraper - use it for company facts: website, industry, size, headquarters, followers and open jobs.
- LinkedIn Ad Library Scraper - use it to see which ads a company runs on LinkedIn next to its organic posts.
- LinkedIn Jobs Scraper - use it to see what the companies you track are hiring for.
- Companies House Scraper - use it for UK register data on the same companies.
If this Actor saved you time, a rating or a save helps others find it. Found a problem? Open an Issue, we reply within 24 h.
Legal and data-protection notice
This Actor extracts posts that companies publish on their public LinkedIn pages, as LinkedIn shows them to visitors who are not logged in. It does not log in, send cookies or work around access controls. It leaves out posts written by members, masks linked member mentions, redacts e-mail addresses and phone numbers, and returns engagement as counts only, never the people who reacted or commented. Post text written by a company can still name people, so your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not process personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with LinkedIn's terms and with applicable law when using the extracted data.
This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by LinkedIn or any company whose posts you collect. All trademarks belong to their respective owners.