Linkedin Post Scraper
Pricing
$19.99/month + usage
Linkedin Post Scraper
Extract data from LinkedIn posts using this scraper. Collect post text, author details, post URLs, likes, comments, shares, and timestamps. Useful for content research, lead generation, brand monitoring, competitor analysis, and tracking engagement on LinkedIn posts.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapAPI
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Linkedin Post Scraper
Linkedin Post Scraper is an Apify actor that extracts structured data from public LinkedIn posts at scale — a LinkedIn post scraper tool built for marketers, developers, data analysts, and researchers. It helps you scrape LinkedIn posts from company pages, personal profiles, or the public feed quickly and safely, capturing post text, author details, engagement signals, and media for downstream analysis. With automation-friendly design and export-ready output, it enables always-on content intelligence and LinkedIn post engagement scraper workflows at scale. 🚀
What data / output can you get?
Below are the actual fields the actor saves to the dataset for each post. You can export results to JSON, CSV, or Excel via Apify dataset exports.
| Data type | Description | Example value |
|---|---|---|
| urn | Canonical LinkedIn URN (activity/share/ugcPost) | urn:li:activity:7382543708363317248 |
| text | Full post text content | Announcing our latest product update… |
| url | Shareable URL of the post | https://www.linkedin.com/feed/update/urn:li:activity:7382543708363317248 |
| postedAtTimestamp | Publish time in epoch milliseconds | 1760135581074 |
| postedAtISO | Publish time in ISO-8601 | 2025-10-10T22:33:01.074000Z |
| timeSincePosted | Human-readable age | 10h |
| authorType | Person or Company | Company |
| authorProfileUrl | Source profile/page URL scraped | https://www.linkedin.com/company/google/ |
| authorProfileId | Profile identifier derived from URL or metadata | |
| authorHeadline | Author headline/description when available | Building products for everyone… |
| authorFullName | Author display name when available | |
| type | Post type heuristic (text or image) | image |
| image | Primary image URL if present | https://media.licdn.com/dms/image/... |
| images | Array of image URLs (up to 5) | ["https://media.licdn.com/dms/image/…"] |
| attributes | Mention entities extracted from text/HTML | [{ "type": "PROFILE_MENTION", … }] |
| comments | Array of comment objects with author metadata | [{ "text": "Great news!", … }] |
| reactions | Array of reactions with reactor profiles | [{ "type": "LIKE", … }] |
| numLikes | Parsed count of reactions/likes | 123 |
| numComments | Parsed count of comments | 14 |
| numShares | Parsed share count (0 if not found) | 0 |
| commentsTruncated | True if only a subset of comments is included | true |
| commentsComplete | True if all comments are included | false |
| reactionsTruncated | True if only a subset of reactions is included | true |
| canReact | Capability flag inferred from page | true |
| canPostComments | Capability flag inferred from page | true |
| canShare | Capability flag inferred from page | true |
| commentingDisabled | Capability flag inferred from page | false |
| allowedCommentersScope | Allowed commenter scope (when available) | ALL |
| rootShare | Root share flag (when available) | true |
| shareAudience | Audience label (when available) | PUBLIC |
| author | Nested author object (see example below) | { "publicId": "google", … } |
Bonus:
- When rawData is true, the actor also includes rawHtml: the full HTML string of the page the post was parsed from.
- Comments and reactions include rich nested author/actor profiles to power a LinkedIn post comments scraper and LinkedIn post analytics scraper workflows.
Key features
- ✨ Accurate post extraction
- Robust parsing of JSON-LD, HTML, and Open Graph fallbacks to reliably scrape LinkedIn posts and capture text, timestamps, and media.
- 💬 Engagement & comments capture
- Collect numLikes, numComments, plus arrays of reactions and comments with author profiles — ideal for a LinkedIn post engagement scraper.
- 🔎 Deep scrape option
- Toggle deepScrape to traverse post URNs on the feed and gather more posts per source with a BFS strategy for a powerful LinkedIn feed scraper.
- 📦 Clean, structured output
- Consistent JSON structure per post, with nested author, reactions, and comments — ready for analytics and “LinkedIn posts to CSV” exports.
- 🔌 Automation & integrations
- Works seamlessly with the Apify API and automation tools like n8n and Make.com for recurring LinkedIn post scraping API runs.
- 🛡️ Optional proxy support
- Configure proxyConfiguration to improve reliability and reduce rate-limit risks during batch runs.
- 🧑💻 Developer-friendly
- Build pipelines in your language of choice. Use the Apify API from Python for a robust Python LinkedIn post scraper or data engineering workflows.
- 🏗️ Production-ready infrastructure
- Resilient retry logic, backoff for 429s, and dataset streaming support ensure stable, large-scale extractions.
How to use Linkedin Post Scraper - step by step
- Sign in to Apify
- Create or log in to your Apify account to run the actor.
- Open the actor
- Find “Linkedin Post Scraper” in the Apify Store and open it.
- Add input data
- In “Source URLs (required)”, paste one or more LinkedIn company or person profile URLs (e.g., https://www.linkedin.com/company/google/ or https://www.linkedin.com/in/…).
- Set limits and filters
- limitPerSource: choose how many posts to collect per URL (default 10).
- scrapeUntil: optionally pick a date (YYYY-MM-DD) to include only posts from that date onward.
- Choose scraping depth
- deepScrape: enable to crawl related post pages and find more posts; disable for a lighter, faster run.
- Advanced options
- rawData: enable to include rawHtml in each output item (for power users).
- proxyConfiguration: optionally configure a proxy to improve stability and throughput.
- Run the actor
- Click “Start”. The run will begin, fetch posts, and stream items into the dataset in real time.
- Download your results
- Go to the Dataset tab and export your results to JSON, CSV, or Excel for analysis, BI, or CRM ingestion.
Pro Tip: Schedule the actor and connect it via the Apify API to your data stack or automation tools (n8n, Make.com) to keep your LinkedIn post extractor pipeline fresh.
Use cases
| Use case | Description |
|---|---|
| Marketing content benchmarking | Compare formats, hooks, and engagement across competitors by exporting LinkedIn posts to CSV and analyzing numLikes and numComments. |
| Social listening & brand monitoring | Track brand mentions and comments to understand audience sentiment using the LinkedIn post comments scraper output. |
| Sales & demand gen insights | Identify high-engagement topics and personas from company page posts with a LinkedIn company page posts scraper. |
| Recruitment marketing analysis | Measure employer-brand engagement on profile posts with a LinkedIn profile posts scraper for talent attraction insights. |
| Competitive analysis & strategy | Monitor product launches and campaigns by scraping LinkedIn posts regularly and aggregating engagement metrics. |
| Research & academia | Build clean datasets of public posts for trend analysis and NLP experiments using the LinkedIn post scraping API. |
| Data engineering pipelines (API) | Automate extraction with schedules and webhooks, push results into warehouses or lakes for post analytics dashboards. |
Why choose Linkedin Post Scraper?
Built for precision and scale, Linkedin Post Scraper delivers clean, analytics-ready post data without risky, manual tooling.
- 🎯 Accurate field coverage: Timestamps, URLs, author metadata, images, comments, reactions, and engagement counts.
- 🧩 Flexible exports: Natively export from the Apify dataset to JSON, CSV, or Excel for easy downstream use.
- ⚙️ Automation-first: Compatible with Apify API, n8n, and Make.com to automate a LinkedIn post data scraper pipeline.
- 🧑💻 Developer access: Call the actor programmatically for a reliable Python LinkedIn post scraper workflow.
- 🔒 Safe & stable: Optional proxy support and built-in backoff for 429s; no login or cookies needed for public data.
- 💪 Scalable depth: deepScrape mode explores more posts per source with a BFS traversal for richer datasets.
- 🧠 Structured insights: Ideal for a LinkedIn post analytics scraper that powers BI dashboards and models.
Is it legal / ethical to use Linkedin Post Scraper?
Yes — when done responsibly. This actor is designed to collect publicly visible LinkedIn content and does not access private data or credentials.
Guidelines:
- Collect only public post data from company pages, public profiles, or the public feed.
- Avoid restricted or private profiles and respect platform policies.
- Ensure compliance with data protection laws (e.g., GDPR, CCPA) and your organization’s legal guidance.
- Use results for analysis and insights, not for spam or misuse.
Input parameters & output format
Example JSON input
{"urls": ["https://www.linkedin.com/company/google/"],"limitPerSource": 10,"scrapeUntil": "2025-10-01","deepScrape": true,"rawData": false}
All input fields
- urls (array of strings, required)
- Description: Add LinkedIn company or person profile URLs to scrape — one or many!
- Default: none
- limitPerSource (integer)
- Description: How many posts to collect from each URL. More = more data!
- Default: 10 (minimum: 1)
- scrapeUntil (string, YYYY-MM-DD, nullable)
- Description: Filter posts — only include content from this date onwards. Pick from calendar!
- Default: none
- deepScrape (boolean)
- Description: Scrape additional information. Get richer data — more metadata & engagement details.
- Default: true
- rawData (boolean)
- Description: Get raw data (Advanced). Include extra raw data in output. Turn off for cleaner results.
- Default: false
- proxyConfiguration (object, nullable)
- Description: Proxy configuration. Optional — use proxy for better reliability & to avoid rate limits.
- Default: none
Example JSON output
[{"urn": "urn:li:activity:7382543708363317248","text": "This week we introduced new features to improve workflows.","url": "https://www.linkedin.com/feed/update/urn:li:activity:7382543708363317248","postedAtTimestamp": 1760135581074,"postedAtISO": "2025-10-10T22:33:01.074000Z","timeSincePosted": "10h","isRepost": false,"authorType": "Company","authorProfileUrl": "https://www.linkedin.com/company/example/","authorProfileId": "example","authorHeadline": "Building products for everyone.","authorFullName": "Example Inc.","image": "https://media.licdn.com/dms/image/…/image1.jpg","type": "image","images": ["https://media.licdn.com/dms/image/…/image1.jpg","https://media.licdn.com/dms/image/…/image2.jpg"],"author": {"firstName": null,"lastName": null,"occupation": "Building products for everyone.","id": "example","publicId": "example","trackingId": "G8b4Qw1x2YzA3B5C","profileId": "example","picture": "https://media.licdn.com/dms/image/…/logo.jpg","backgroundImage": ""},"authorName": "Example Inc.","authorTitle": "Building products for everyone.","attributes": [{"start": 0,"length": 8,"type": "PROFILE_MENTION","profile": {"firstName": "john","lastName": "","occupation": "","id": "user-0","publicId": "john","trackingId": "b9K2mQ7nPzL1XcV","profileId": "user-0","picture": "","backgroundImage": ""}}],"comments": [{"time": 1760173874033,"link": "https://www.linkedin.com/feed/update/urn:li:activity:7382543708363317248","text": "Great news!","entities": [],"pinned": false,"originalLanguage": "English","author": {"firstName": "Jane","lastName": "Doe","occupation": "","id": "commenter-0f5d3a1b2c9e","publicId": "jane-doe","trackingId": "H1x2y3Z4A5B6C7D","profileId": "commenter-0f5d3a1b2c9e","picture": "","backgroundImage": "","distance": "OUT_OF_NETWORK"}}],"reactions": [{"type": "LIKE","profile": {"firstName": "Alex","lastName": "Smith","occupation": "","id": "reactor-a1b2c3d4e5f6","publicId": "alex-smith","trackingId": "P0Q1R2S3T4U5V6W","profileId": "ACoAAa1b2c3d4","picture": "","backgroundImage": ""}}],"numShares": 0,"numLikes": 123,"numComments": 14,"commentsTruncated": true,"commentsComplete": false,"reactionsTruncated": true,"canReact": true,"canPostComments": true,"canShare": true,"commentingDisabled": false,"allowedCommentersScope": "ALL","rootShare": true,"shareAudience": "PUBLIC"}]
Notes:
- When rawData is true, each item also includes rawHtml with the page’s HTML string.
- Some fields may be empty or “Unknown” if not present on the public page (e.g., authorHeadline, images).
- numShares may be 0 when no share count is detected.
FAQ
Is a login or cookies required to scrape LinkedIn posts?
No. The actor works with publicly available content and does not require login or cookies. For reliability at scale, you can optionally enable proxyConfiguration.
What LinkedIn URLs are supported?
The actor supports public company pages, person profiles, and the public feed. Provide LinkedIn URLs in the urls array to run a LinkedIn company page posts scraper or LinkedIn profile posts scraper workflow.
Can it collect comments and reactions?
Yes. The output includes comments and reactions arrays when available, along with numLikes and numComments. Flags like commentsTruncated and reactionsTruncated indicate if only a subset was captured.
How do I export LinkedIn posts to CSV?
After the run completes, open the dataset and export to CSV, JSON, or Excel in one click. This makes it easy to feed BI tools and downstream pipelines.
How many posts can I extract per source?
Set limitPerSource to control how many posts are collected from each URL (default 10, minimum 1). Enable deepScrape to traverse related post pages for broader coverage.
Can I filter by date?
Yes. Use scrapeUntil (YYYY-MM-DD) to include only posts from that date onward. Older posts are skipped during streaming and won’t be added to the dataset.
Does it support automation and APIs?
Yes. It’s built for automation with the Apify platform. Trigger runs via the Apify API and connect to n8n or Make.com for a repeatable LinkedIn post scraping API pipeline.
Can I use it from Python?
Yes. Call the Apify API from Python to orchestrate runs and fetch dataset results, enabling a robust Python LinkedIn post scraper workflow in your data stack.
Final thoughts
Linkedin Post Scraper is built to turn public LinkedIn posts into clean, structured, analysis-ready data. It captures post text, authors, timestamps, media, and engagement signals — and exports seamlessly to CSV, JSON, or Excel. Whether you’re a marketer benchmarking content, a researcher analyzing trends, or a developer building a pipeline, it’s an automation-ready LinkedIn post extractor with reliable depth options. Integrate via the Apify API, schedule runs, and start extracting smarter today.