LinkedIn Profile & Company Posts Scraper Pro
Pricing
from $1.00 / 1,000 results
LinkedIn Profile & Company Posts Scraper Pro
Scrape every post from any LinkedIn profile or company page: post text, media URLs, likes, comments, reposts, views, post URL, timestamp, and post type. Auto-pagination handles full feeds. No LinkedIn account or cookies needed. Export to JSON, CSV, or Excel, or run via API.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(3)
Developer
Atomus APIs
Actor stats
3
Bookmarked
68
Total users
40
Monthly active users
1.6 hours
Issues response
2 days ago
Last modified
Categories
Share
Scrape every post from any LinkedIn profile or company page: post text, media, engagement stats, author details, mentions, and repost data. Auto-pagination handles full feeds. Batch processing across multiple profiles and companies in a single run.
No LinkedIn account or cookies required.
๐ก For other LinkedIn tools by Dende Labs, check: https://apify.com/dendelabs
โจ Key Features
| Feature | Description |
|---|---|
| ๐ Auto-pagination | One run extracts every post LinkedIn exposes. No manual page management. |
| ๐ฆ Batch processing | Scrape posts from multiple profiles and company pages in a single run. |
| ๐ฌ Full media support | Captures images, videos, embedded articles, and carousel / document slide previews. |
| ๐ Engagement breakdown | Total reactions, comments, shares, and reaction-type counts (like, praise, empathy, interest, appreciation, entertainment). |
| ๐ค Author details | Name, headline, avatar, LinkedIn ID, custom website link. |
| ๐ Repost detection | Distinguishes simple reposts (no added text) from quote posts (with added commentary). Includes original author info. |
| ๐๏ธ Time and content filters | Filter by 24h / week / month, by absolute date, or by content type (videos, images, documents, jobs). |
| ๐ Latest-post mode | Use latestPostOnly to check if a profile posted recently without a full scrape. |
| ๐ Flexible URL formats | Profile URLs, company URLs, or plain usernames all work. |
| ๐ No cookies needed | No risk of account restrictions or bans. |
๐ What data can this Actor extract from LinkedIn?
For every post on a target profile or company page, this LinkedIn Posts Scraper extracts:
| Data category | Fields |
|---|---|
| Post content | Post text, post URL, share URL, post type, timestamp, relative "posted ago" date |
| Media | Image URLs, video URL, embedded article (title, summary, link), document / carousel slides |
| Engagement | Total reactions, comments count, shares count, per-type reaction breakdown |
| Author | Name, headline, avatar, LinkedIn URL, LinkedIn ID, website URL, website label |
| Mentions | Person and company mentions inside post text (with URL, name, type, and offset) |
| Repost data | is_repost flag, original author info, reposter info on quote posts |
See the Output section for the full JSON schema with examples.
๐ How to scrape LinkedIn posts from any profile or company
- Pick your target. Paste one or more LinkedIn profile URLs into
profilesor company page URLs intocompanies. You can mix full URLs and plain usernames freely. - Set your scope. Optional: cap
maxPostsper source, filter bypostedLimit(24h,week,month), or filter bypostedAfterDate(ISO format such as2026-01-01). - Pick a content type. Optional: filter to
videos,images,documents,jobs, or leave asall. - Run the Actor. Click Start. Watch progress in the run log.
- Export the data. Download the dataset in JSON, CSV, or Excel, or pull it via the Apify API.
For continuous and programmatic use, the Apify platform handles scheduling, proxy rotation, monitoring, dataset storage, and integrations with Zapier, Make, n8n, Slack, and webhooks out of the box.
๐ฅ Input
Quick Start
{"profiles": ["https://www.linkedin.com/in/satyanadella/"]}
All Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
profiles | string[] | At least one of profiles or companies | [] | LinkedIn profile URLs or usernames |
companies | string[] | At least one of profiles or companies | [] | LinkedIn company page URLs or usernames |
maxPosts | integer | No | 0 | Max posts per source. 0 means unlimited. |
postedLimit | string | No | none | Time filter: 24h, week, month. |
postedAfterDate | string | No | - | Only posts after this date (ISO format, e.g. 2026-01-01). |
contentType | string | No | all | Filter: videos, images, documents, jobs. |
sortBy | string | No | date | Sort by date (newest first) or relevance (LinkedIn ranking). |
latestPostOnly | boolean | No | false | Only fetch the most recent post per source. |
includeSharedPosts | boolean | No | true | Include quote posts (the user reposted and added their own text). |
includeReposts | boolean | No | true | Include simple reposts (shared as is, no added text). |
Supported URL Formats
All of these work, just paste whatever you have:
โ https://www.linkedin.com/in/satyanadella/โ https://linkedin.com/in/satyanadellaโ satyanadellaโ https://www.linkedin.com/company/microsoft/โ https://linkedin.com/company/microsoftโ microsoft
๐ค Output
The dataset contains one record per post, with type: "post".
Post
{"type": "post","author_name": "Satya Nadella","content": "Today at Microsoft Build...","post_url": "https://www.linkedin.com/feed/update/urn:li:activity:123/","posted_at": "2026-03-15T14:30:00.000Z","posted_ago": "2 weeks ago","is_repost": false,"images": ["https://media.licdn.com/..."],"video_url": null,"article": null,"doc": null,"mentions": [{"start": 0,"length": 9,"type": "COMPANY_NAME","url": "https://www.linkedin.com/company/microsoft/","name": "Microsoft"}],"share_url": "https://www.linkedin.com/posts/...","engagement": {"total_reactions": 15234,"comments": 892,"shares": 1205,"reactions": [{ "type": "LIKE", "count": 10000 },{ "type": "PRAISE", "count": 3000 }]},"author": {"name": "Satya Nadella","username": "satyanadella","headline": "Chairman and CEO at Microsoft","linkedinUrl": "https://www.linkedin.com/in/satyanadella/","avatar": "https://media.licdn.com/...","linkedin_id": "ACoAAA8BYqEBCGLg...","website_url": "https://example.com","website_label": "My website"},"reposted_by": null,"_metadata": {"post_id": "7302346926123798528","extracted_at": "2026-03-30T12:00:00.000Z","source_url": "https://www.linkedin.com/in/satyanadella/"}}
Carousel / Document Post
When a post contains a document or carousel slides, the doc field is populated:
{"doc": {"title": "How we grew 10x in 6 months","pdf_url": "https://media.licdn.com/dms/document/...","slide_images": ["https://media.licdn.com/.../0/...","https://media.licdn.com/.../1/...","https://media.licdn.com/.../2/..."],"total_slides": 7}}
slide_images contains cover previews (up to 3). Use pdf_url to access the full document.
Repost (quote post)
When the post is a quote repost, is_repost is true and reposted_by carries the original author's info:
{"is_repost": true,"content": "Great insight, agree completely.","reposted_by": {"author_name": "Original Author","author_url": "https://www.linkedin.com/in/original-author/","post_url": "https://www.linkedin.com/feed/update/urn:li:activity:456/","content": "Original post text..."}}
๐ Examples
Example 1: Multiple profiles and companies
{"profiles": ["satyanadella", "jeffweiner08"],"companies": ["microsoft", "google"],"maxPosts": 50}
Example 2: Only original posts (no reposts)
{"profiles": ["satyanadella"],"includeReposts": false,"includeSharedPosts": false}
Example 3: Posts after a specific date
{"profiles": ["satyanadella"],"postedAfterDate": "2026-01-01"}
Example 4: Quick activity check
Use latestPostOnly to check if a profile posted recently without scraping everything:
{"profiles": ["satyanadella"],"latestPostOnly": true}
Example 5: Only video posts from the last week
{"companies": ["microsoft"],"contentType": "videos","postedLimit": "week"}
Example 6: Sort by relevance, top 10 per profile
{"profiles": ["satyanadella", "jeffweiner08"],"sortBy": "relevance","maxPosts": 10}
๐ฐ How much does it cost to scrape LinkedIn posts?
This LinkedIn Posts Scraper uses Apify's pay-per-event pricing. You pay per dataset item, and one item equals one scraped post. The exact per-post price is shown above the Actor on Apify Store.
What this means for you:
- Free tier: every Apify account gets a monthly platform credit, so you can try this Actor for free.
- Predictable cost: 1,000 posts equals 1,000 events. No surprise overruns.
- No cost for invalid sources: private, deleted, or invalid LinkedIn URLs do not produce dataset items, so they do not bill.
- Cap your spend: set
maxPostsper source to bound the run cost, or uselatestPostOnly: truefor cheap activity checks.
๐ฏ Use Cases
- ๐ Sales prospecting: build prospect lists from posts on competitor profiles or industry leaders.
- ๐ Content monitoring: track what executives, founders, or thought leaders are publishing in your space.
- ๐ Competitor analysis: compare engagement patterns across competitor company pages.
- ๐ Lead enrichment: combine post data with the Comments Scraper and Reactions Scraper to map full engagement.
- ๐ Content strategy: spot the post types and topics that drive reactions in your industry.
- ๐ค AI agent context: feed structured post data into LLM agents for summarization, classification, or trend detection.
- ๐ฐ Brand and PR monitoring: watch a company page for product announcements, releases, or PR events.
- ๐ Research and journalism: collect public statements made by public figures over time.
๐ค Integration with AI Agents
This Actor is optimized for AI agents and LLMs via the Apify MCP server.
Output Schema
The dataset is flat. Every record is a single post (type: "post"). Iterate or filter directly. Key fields useful for agents:
content: post textauthor.name,author.headline: who posted and their professional contextengagement.total_reactions,engagement.comments,engagement.shares: engagement signalposted_at,posted_ago: when the post was publishedis_repost,reposted_by: whether the author shared someone else's contentmentions: people and companies tagged inside the post
Example Agent Prompt
"Scrape Satya Nadella's last 50 LinkedIn posts and return the top 5 by total reactions. Summarize the key topics and flag any product announcements."
For cheap exploratory checks, the agent can use latestPostOnly: true or maxPosts: 50 to bound cost.
๐ Other LinkedIn Scrapers by Dende Labs
Pair this LinkedIn Posts Scraper with our other LinkedIn tools to map full engagement:
| Actor | What it does |
|---|---|
| LinkedIn Post Comments & Replies Scraper Pro | Extract every comment and reply on a LinkedIn post, with reaction counts and reply tracking. |
| LinkedIn Post Reactions Scraper Pro | Extract every reactor on a LinkedIn post (name, headline, profile URL, reaction type). |
| LinkedIn Profile Enricher | Enrich a list of LinkedIn profiles with full headline, location, experience, and contact data. |
See all our LinkedIn scrapers at apify.com/dendelabs.
โ FAQ
Do I need a LinkedIn account or cookies to scrape LinkedIn posts?
No. This Actor uses public LinkedIn data only. You will not risk account restrictions or bans, and you do not need to provide a li_at cookie.
Is there an official LinkedIn API for posts?
LinkedIn's official Posts API requires a Marketing Developer Platform partnership and is restricted to approved partners. This Actor is a public-data alternative that does not require partnership approval.
Is it legal to scrape LinkedIn posts?
This Actor only collects publicly visible data. Scraping public data has been ruled lawful under the U.S. Computer Fraud and Abuse Act (hiQ Labs v. LinkedIn). Always review your local laws and LinkedIn's terms before using extracted data for commercial purposes, and comply with applicable data protection laws (GDPR, CCPA).
How many posts can I scrape per profile?
LinkedIn paginates profile posts publicly. The Actor follows pagination as far as LinkedIn exposes. For very high-volume profiles, set a maxPosts cap to control cost.
Can I scrape posts from a private profile?
No. Private profiles are not publicly visible, so this Actor cannot extract posts from them.
What happens if a profile URL is invalid or deleted?
The Actor logs an error and continues with the remaining sources. No dataset item is produced for invalid URLs, so you are not billed for them.
Can I sort posts by date or relevance?
Yes. Use sortBy: "date" (default) for newest first or sortBy: "relevance" for LinkedIn's own ranking.
How do I include or exclude reposts?
Use includeReposts: false to exclude simple reshares (no added text), and includeSharedPosts: false to exclude quote posts (where the user adds their own commentary).
Can I run this LinkedIn Posts Scraper on a schedule?
Yes. Apify Schedules let you run the Actor on cron-style intervals. Combine with webhooks to push fresh data to your own systems.
How do I integrate this with my own app or pipeline?
Use the Apify API to start runs and pull dataset results. The Actor also supports webhooks on run completion and integrates with Zapier, Make, n8n, and Slack out of the box.
Why are some posts missing fields like images or video_url?
Different post types expose different fields. A text-only post has no images or video_url. A carousel post has doc.slide_images but no images. This is normal LinkedIn behavior.
Can I use this to extract data in Python or JavaScript?
Yes. The Apify API has official clients in Python and JavaScript. Run the Actor, fetch the dataset, and use it in your code.
โ ๏ธ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedInยฎ is a registered trademark of LinkedIn Corporation. All trademarks are property of their respective owners.
Use the data extracted by this Actor in compliance with applicable data protection laws (GDPR, CCPA, etc.) and LinkedIn's terms of service. Do not use the data for spam, harassment, or unlawful purposes.